RE:Tarifa en función Kilos PARTE 2
Private Sub cboEscalados_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboEscalados.SelectionChangeCommitted
Select Case cboEscalados.SelectedIndex
Case 1
gpbKilos.Enabled = True
Me.txtHasta.Text = ""
lblMedida.Text = "€"
Me.txtHasta.Focus()
Case 0 ' kilos
gpbKilos.Enabled = True
lblMedida.Text = "Kg"
Me.txtImporte.Text = ""
Me.txtHasta.Focus()
End Select
End Sub
Private Sub cmdGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGrabar.Click
verificar = False
verificar = ControlCtl(pnlZonas, Me)
If verificar = True Then
txtImporte.Enabled = True
MessageBox.Show("Existen datos que debe proporcionar para continuar", "Verificación de Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
txtImporte.Enabled = False
''''''''''
''''''
Dim CommZtEsIns As New SqlCommand
Dim CommDeeIns As New SqlCommand
Commztesins.connection = Con
CommDeeIns.Connection = Con
Try
Con.Open()
'Si la ciudad es la misma
Dim x As Integer
Dim indicezona As Int32
For x = 0 To dgvZonas.Rows.Count - 1
Dim xciudad As String = dgvZonas.Item(1, x).Value
If cboCiudades.Text = dgvZonas.Item(1, x).Value Then
indicezona = (dgvZonas.Item(0, x).Value)
'Grabamos en ZonaTTsEscalado
CommZtEsIns.CommandText = "Insert into ZonaTTSEscalado (IdEscalado,IdZonaTTS) values (@IdEscalado,@IdZonaTTS)"
CommZtEsIns.Parameters.Add("@IdEscalado", SqlDbType.Int).Value = cboEscalados.SelectedValue
CommZtEsIns.Parameters.Add("@IdZonaTTS", SqlDbType.Int).Value = indicezona
CommZtEsIns.ExecuteNonQuery()
adpZttsEscalado.InsertCommand = CommZtEsIns
adpZttsEscalado.Update(DsetZttsEscalado, "ZonaTTSEscalado")
'Grabamos en DetalleEscalado
CommDeeIns.CommandText = "Insert into DetalleEscalado (IdEscalado,IdZonaTTs,HastaKg,HastaEuro,Importe) values (@IdEscalado,@IdZonaTTs,@HastaKg,@HastaEuro,@Importe)"
CommDeeIns.Parameters.Add("@IdEscalado", SqlDbType.Int).Value = cboEscalados.SelectedValue
CommDeeIns.Parameters.Add("@IdZonaTTs", SqlDbType.Int).Value = indicezona
If cboEscalados.SelectedIndex = 0 Then 'Kilos
CommDeeIns.Parameters.Add("@HastaKg", SqlDbType.Decimal, 8).Value = txtHasta.Text
CommDeeIns.Parameters.Add("@HastaEuro", SqlDbType.Decimal, 8).Value = CDbl("0,00")
Else
CommDeeIns.Parameters.Add("@HastaKg", SqlDbType.Decimal, 8).Value = CDbl("0,00")
CommDeeIns.Parameters.Add("@HastaEuro", SqlDbType.Decimal, 8).Value = txtHasta.Text
End If
CommDeeIns.Parameters.Add("@Importe", SqlDbType.Decimal, 8).Value = CDbl(txtImporte.Text)
CommDeeIns.ExecuteNonQuery()
AdpDetalle.InsertCommand = CommDeeIns
'Adpdetalle.UpdateCommand
GoTo salida
End If
Next
'Grabamos en ZonasTTS (ciudad)
Dim CommZttsIns As New SqlCommand("Insert into ZonasTTS (Ciudad) values (@Ciudad)", Con)
CommZttsIns.Parameters.Add("@Ciudad", SqlDbType.VarChar).Value = cboCiudades.Text
CommZttsIns.ExecuteNonQuery()
AdpZonas.InsertCommand = CommZttsIns
AdpZonas.Update(DsetZtts, "ZonasTTS")
CommZttsIns.Parameters.Clear()
'BUSCAMOS EL INDICE DE LA ULTIMA ZONA AÑADIDA
Dim COMMBUSCINDICE As New SqlCommand("Select * from ZonasTTS", Con)
'Grabamos en ZonaTTsEscalado
CommZtEsIns.CommandText = "Insert into ZonaTTSEscalado (IdEscalado,IdZonaTTS) values (@IdEscalado,@IdZonaTTS)"
CommZtEsIns.Parameters.Add("@IdEscalado", SqlDbType.Int).Value = cboEscalados.SelectedValue
CommZtEsIns.Parameters.Add("@IdZonaTTS", SqlDbType.Int).Value = txtCodigo.Text
CommZtEsIns.ExecuteNonQuery()
adpZttsEscalado.InsertCommand = CommZtEsIns
adpZttsEscalado.Update(DsetZttsEscalado, "ZonaTTSEscalado")
'Grabamos en DetalleEscalado
CommDeeIns.CommandText = "Insert into DetalleEscalado (IdEscalado,IdZonaTTs,HastaKg,HastaEuro,Importe) values (@IdEscalado,@IdZonaTTs,@HastaKg,@HastaEuro,@Importe)"
CommDeeIns.Parameters.Add("@IdEscalado", SqlDbType.Int).Value = cboEscalados.SelectedValue
CommDeeIns.Parameters.Add("@IdZonaTTs", SqlDbType.Int).Value = txtCodigo.Text
If cboEscalados.SelectedIndex = 0 Then 'Kilos
CommDeeIns.Parameters.Add("@HastaKg", SqlDbType.Decimal, 8).Value = txtHasta.Text
CommDeeIns.Parameters.Add("@HastaEuro", SqlDbType.Decimal, 8).Value = CDbl("0,00")
Else
CommDeeIns.Parameters.Add("@HastaKg", SqlDbType.Decimal, 8).Value = CDbl("0,00")
CommDeeIns.Parameters.Add("@HastaEuro", SqlDbType.Decimal, 8).Value = txtHasta.Text
End If
CommDeeIns.Parameters.Add("@Importe", SqlDbType.Decimal, 8).Value = CDbl(txtImporte.Text)
CommDeeIns.ExecuteNonQuery()
AdpDetalle.InsertCommand = CommDeeIns
'Adpdetalle.UpdateCommand
GoTo salida
salida:
MessageBox.Show("La Zona ha sido guardada correctamente", "Zonas y Tarifas", MessageBoxButtons.OK, MessageBoxIcon.Information)
CommDeeIns.Parameters.Clear()
CommZtEsIns.Parameters.Clear()
cmdNuevo.PerformClick()
Catch ex As Exception
ex.Data.Clear()
Finally
Con.Close()
End Try
Call LimpiaControles(Me)
Call enableControls(Me, False)
cmdGrabar.Enabled = False
cmdActualizar.Enabled = False
cmdCancelar.Enabled = False
Call RefrescarDatasetZonas()
editando = False
txtImporte.Text = ""
txtHasta.Text = ""
If dgvZonas.Rows.Count > 0 Then
MDI_Application.tstlTexto.Text = "Edición de Zonas ---> Haga doble click en alguna zona para editarla!"
End If
End Sub