Public Class Venta Public CodigoProducto As Integer Public NombreProducto As String Public PrecioProducto As Integer Public SubTotalVenta As Integer Public TotalVenta As Integer Public IvaVenta As Integer Public CodigoSucursal As Integer Public NombreSucursal As String Public RutCliente As Integer Public NombreCliente As String Public RutTrabajador As Integer Public NombreTrabajador As String Public NumeroValidador As Integer Private Sub VENTA_BindingNavigatorSaveItem_Click(sender As System.Object, e As System.EventArgs) End Sub Private Sub Venta_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.CenterToScreen() ' Label2.Text = Date.Today.ToShortDateString() LabelHora.Text = Now.ToShortTimeString() LabelNombreCliente.Text = "" CargarIdSiguienteVenta() IvaVentaTextBox.Text = "0" SubTotalTextBox.Text = "0" VentaTotalTextBox.Text = "0" End Sub Sub CargarIdSiguienteVenta() Dim ObjetoVenta As New FarmaciaSanFranciscoDataSetTableAdapters.VENTA_TableAdapter IdVentaTextBox.Text = CStr(ObjetoVenta.ScalarQueryObtenerUltimaVenta()) End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim a As New PromtProducto a.ShowDialog() 'Validación: Carga si, se cargo algun producto. If CodigoProducto > 0 Then DataGridView1.Rows.Add(CodigoProducto, NombreProducto, 1, PrecioProducto, 1 * PrecioProducto) 'Bloqueo de columnas ColumnNombreProducto.ReadOnly = True ColumnPrecioProducto.ReadOnly = True ColumnSubTotal.ReadOnly = True ColumnCodProducto.ReadOnly = True CalcularVenta() End If End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Try 'Remover una fila derterminada de un datagridview DataGridView1.Rows.Remove(DataGridView1.CurrentRow) 'Re calcular valor de la venta CalcularVenta() 'Limpiar Textbox Venta e Iva Dim NumeroValidador As Integer NumeroValidador = DataGridView1.Rows.Count If NumeroValidador = 0 Then VentaTotalTextBox.Text = "0" IvaVentaTextBox.Text = "0" SubTotalTextBox.Text = "0" End If Catch ex As Exception End Try End Sub Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick End Sub Sub CalcularVenta() Try Dim NumeroValidador As Integer Dim ContadorFila As Integer NumeroValidador = DataGridView1.Rows.Count If NumeroValidador > 0 Then ContadorFila = 0 While NumeroValidador > ContadorFila DataGridView1.Item(4, ContadorFila).Value = CInt(DataGridView1.Item(2, ContadorFila).Value) * CInt(DataGridView1.Item(3, ContadorFila).Value) ContadorFila = ContadorFila + 1 End While ContadorFila = 0 SubTotalVenta = 0 TotalVenta = 0 IvaVenta = 0 SubTotalTextBox.Text = "" IvaVentaTextBox.Text = "" VentaTotalTextBox.Text = "" While NumeroValidador > ContadorFila SubTotalVenta = SubTotalVenta + CInt(DataGridView1.Item(4, ContadorFila).Value) IvaVenta = SubTotalVenta * 0.19 TotalVenta = SubTotalVenta 'Llenar Textbox SubTotalTextBox.Text = CStr(SubTotalVenta) IvaVentaTextBox.Text = CStr(IvaVenta) VentaTotalTextBox.Text = CStr(TotalVenta) ContadorFila = ContadorFila + 1 End While SubTotalTextBox.Text = SubTotalVenta - IvaVenta 'Formato: Separador de mil Me.IvaVentaTextBox.Text = Format(CInt(IvaVentaTextBox.Text), "$ #,##0") Me.VentaTotalTextBox.Text = Format(CInt(VentaTotalTextBox.Text), "$ #,##0") Me.SubTotalTextBox.Text = Format(CInt(SubTotalTextBox.Text), "$ #,##0") End If Catch ex As Exception End Try End Sub Private Sub DataGridView1_CellValueChanged(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged CalcularVenta() End Sub Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click Me.Close() End Sub Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click Dim a As New PromtCliente a.ShowDialog() If RutCliente > 0 Then VentaRutClienteTextBox.Text = CStr(RutCliente) LabelNombreCliente.Text = CStr(NombreCliente) End If End Sub Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click Dim a As New PromtSucursal a.ShowDialog() If CodigoSucursal > 0 Then VentacodSucursalTextBox.Text = CStr(CodigoSucursal) VentaNombreSucursalTextBox.Text = CStr(NombreSucursal) End If End Sub Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click Dim a As New PromtTrabajador a.ShowDialog() If CodigoSucursal > 0 Then VentaRutTrabajadorTextBox.Text = CStr(RutTrabajador) VentaNombreTrabajadorTextBox.Text = CStr(NombreTrabajador) End If End Sub Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click NumeroValidador = DataGridView1.Rows.Count If (String.IsNullOrEmpty(RutTrabajador) = False And String.IsNullOrEmpty(CodigoSucursal) = False And String.IsNullOrEmpty(RutCliente) = False And String.IsNullOrEmpty(IdVentaTextBox.Text) = False And NumeroValidador > 0) Then 'Guardar Detalle de Venta GuardarEncabezadoVenta() 'Guardar Encabezado Venta GuardarDetalleVenta() CargarIdSiguienteVenta() End If End Sub Sub GuardarEncabezadoVenta() Try Dim ObjetoVenta As New FarmaciaSanFranciscoDataSetTableAdapters.VENTA_TableAdapter ObjetoVenta.InsertQueryIngresarNuevaVenta(IdVentaTextBox.Text, FechaVentaDateTimePicker.Text, LabelHora.Text, Convert.ToDouble(VentacodSucursalTextBox.Text), VentaNombreSucursalTextBox.Text, Convert.ToDouble(TotalVenta), Convert.ToDouble(IvaVenta), Convert.ToDouble(VentaRutTrabajadorTextBox.Text), VentaNombreTrabajadorTextBox.Text, Convert.ToDouble(VentaRutClienteTextBox.Text)) Catch ex As Exception MessageBox.Show("Error: " + ex.ToString()) End Try End Sub Sub GuardarDetalleVenta() Dim NumeroValidadorGrid As Integer Dim Contador As Integer Dim NumeroIdDetalleVenta As Integer NumeroValidadorGrid = DataGridView1.Rows.Count Try Dim ObjetoDetalleVenta As New FarmaciaSanFranciscoDataSetTableAdapters.DETALLE_VENTA_TableAdapter NumeroIdDetalleVenta = CInt(ObjetoDetalleVenta.ScalarQueryObtenerSiguienteNumeroVenta()) Contador = 0 While NumeroValidadorGrid > Contador ObjetoDetalleVenta.InsertQueryIngresarDetalleVenta(NumeroIdDetalleVenta, Convert.ToDouble(IdVentaTextBox.Text), Convert.ToDouble(DataGridView1.Item(0, Contador).Value), Convert.ToString(DataGridView1.Item(1, Contador).Value), Convert.ToDouble(DataGridView1.Item(3, Contador).Value), Convert.ToDouble(DataGridView1.Item(2, Contador).Value), Convert.ToDouble(DataGridView1.Item(4, Contador).Value)) Contador = Contador + 1 End While MessageBox.Show("Venta Ingresada Correctamente!") limpiar() Catch ex As Exception MessageBox.Show("Error: " + ex.ToString()) End Try End Sub Sub limpiar() VentacodSucursalTextBox.Text = "" VentaNombreSucursalTextBox.Text = "" VentaRutClienteTextBox.Text = "" LabelNombreCliente.Text = "" VentaRutTrabajadorTextBox.Text = "" VentaNombreTrabajadorTextBox.Text = "" LabelHora.Text = Now.ToShortTimeString() DataGridView1.Rows.Clear() IvaVentaTextBox.Text = "0" SubTotalTextBox.Text = "0" VentaTotalTextBox.Text = "0" CodigoProducto = 0 NombreProducto = "" PrecioProducto = 0 SubTotalVenta = 0 TotalVenta = 0 IvaVenta = 0 CodigoSucursal = 0 NombreSucursal = "" RutCliente = 0 NombreCliente = "" RutTrabajador = 0 NombreTrabajador = "" End Sub Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click limpiar() CargarIdSiguienteVenta() End Sub Private Sub EncabezadoGroupBox_Enter(sender As System.Object, e As System.EventArgs) Handles EncabezadoGroupBox.Enter End Sub End Class