CODIGO DE MS PROJECT

datos Vb conexión Imports System.Data.SqlClient Public Class conexion Protected cnn As New SqlConnection Public idusuar

Views 186 Downloads 0 File size 358KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

datos Vb conexión

Imports System.Data.SqlClient Public Class conexion Protected cnn As New SqlConnection Public idusuario As Integer Protected Function conectado() Try cnn = New SqlConnection("data source=(local)\SqlExpress;initial catalog=dbventas;integrated security=true") cnn.Open() Return True Catch ex As Exception MsgBox(ex.Message) Return False End Try End Function Protected Function desconectado() Try If cnn.State = ConnectionState.Open Then cnn.Close() Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False End Try End Function

End Class

Vb vcategoria

Imports System.Data.SqlClient Public Class fcategoria Inherits conexion Dim cmd As New SqlCommand Public Function mostrar() As DataTable Try conectado() cmd = New SqlCommand("mostrar_categoria") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn If cmd.ExecuteNonQuery Then Dim dt As New DataTable Dim da As New SqlDataAdapter(cmd) da.Fill(dt) Return dt Else Return Nothing End If Catch ex As Exception MsgBox(ex.Message) Return Nothing Finally desconectado() End Try End Function Public Function insertar(ByVal dts As vcategoria) As Boolean Try conectado() cmd = New SqlCommand("insertar_categoria") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@nombre_categoria", dts.gnombre_categoria) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally desconectado() End Try End Function Public Function editar(ByVal dts As vcategoria) As Boolean Try conectado() cmd = New SqlCommand("editar_categoria") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn

cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria) cmd.Parameters.AddWithValue("@nombre_categoria", dts.gnombre_categoria) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally desconectado() End Try End Function Public Function eliminar(ByVal dts As vcategoria) As Boolean Try conectado() cmd = New SqlCommand("eliminar_categoria") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.Add("@idcategoria", SqlDbType.NVarChar, 50).Value = dts.gidcategoria If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False End Try End Function End Class

VB fc cliente

Imports System.Data.SqlClient

Public Class fcliente Inherits conexion Dim cmd As New SqlCommand Public Function mostrar() As DataTable Try conectado() cmd = New SqlCommand("mostrar_cliente") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn If cmd.ExecuteNonQuery Then Dim dt As New DataTable Dim da As New SqlDataAdapter(cmd) da.Fill(dt) Return dt Else Return Nothing End If Catch ex As Exception MsgBox(ex.Message) Return Nothing Finally desconectado() End Try End Function Public Function insertar(ByVal dts As vcliente) As Boolean Try conectado() cmd = New SqlCommand("insertar_cliente") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@nombre", dts.gnombres) cmd.Parameters.AddWithValue("@apellidos", dts.gapellidos) cmd.Parameters.AddWithValue("@direccion", dts.gdireccion) cmd.Parameters.AddWithValue("@dni", dts.gdni) cmd.Parameters.AddWithValue("@telefono", dts.gtelefono) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally desconectado() End Try End Function Public Function editar(ByVal dts As vcliente) As Boolean Try conectado() cmd = New SqlCommand("editar_cliente") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@idcliente", dts.gidcliente) cmd.Parameters.AddWithValue("@nombre", dts.gnombres) cmd.Parameters.AddWithValue("@apellidos", dts.gapellidos) cmd.Parameters.AddWithValue("@direccion", dts.gdireccion) cmd.Parameters.AddWithValue("@dni", dts.gdni)

cmd.Parameters.AddWithValue("@telefono", dts.gtelefono) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally desconectado() End Try End Function Public Function eliminar(ByVal dts As vcliente) As Boolean Try conectado() cmd = New SqlCommand("eliminar_cliente") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.Add("@idcliente", SqlDbType.NVarChar, 50).Value = dts.gidcliente If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False End Try End Function End Class

Fcproducto Imports System.Data.SqlClient Public Class fproducto Inherits conexion Dim cmd As New SqlCommand Public Function mostrar() As DataTable Try conectado() cmd = New SqlCommand("mostrar_producto") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn If cmd.ExecuteNonQuery Then Dim dt As New DataTable Dim da As New SqlDataAdapter(cmd) da.Fill(dt) Return dt Else Return Nothing End If Catch ex As Exception MsgBox(ex.Message)

Return Nothing Finally desconectado() End Try End Function Public Function insertar(ByVal dts As vproducto) As Boolean Try conectado() cmd = New SqlCommand("insertar_producto") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria) cmd.Parameters.AddWithValue("@nombre", dts.gnombre) cmd.Parameters.AddWithValue("@descripcion", dts.gdescripcion) cmd.Parameters.AddWithValue("@stock", dts.gstock) cmd.Parameters.AddWithValue("@precio_compra", dts.gprecio_compra) cmd.Parameters.AddWithValue("@precio_venta", dts.gprecio_venta) cmd.Parameters.AddWithValue("@fecha_vencimiento", dts.gfecha_vencimiento) cmd.Parameters.AddWithValue("@imagen", dts.gimagen) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally desconectado() End Try End Function Public Function editar(ByVal dts As vproducto) As Boolean Try conectado() cmd = New SqlCommand("editar_producto") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@idproducto", dts.gidproducto) cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria) cmd.Parameters.AddWithValue("@nombre", dts.gnombre) cmd.Parameters.AddWithValue("@descripcion", dts.gdescripcion) cmd.Parameters.AddWithValue("@stock", dts.gstock) cmd.Parameters.AddWithValue("@precio_compra", dts.gprecio_compra) cmd.Parameters.AddWithValue("@precio_venta", dts.gprecio_venta) cmd.Parameters.AddWithValue("@fecha_vencimiento", dts.gfecha_vencimiento) cmd.Parameters.AddWithValue("@imagen", dts.gimagen) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally desconectado() End Try

End Function Public Function eliminar(ByVal dts As vproducto) As Boolean Try conectado() cmd = New SqlCommand("eliminar_producto") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.Add("@idproducto", SqlDbType.NVarChar, 50).Value = dts.gidproducto If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False End Try End Function End Class

Categoría Public Class vcategoria Dim idcategoria As Integer Dim nombre_Categoria As String Public Property gidcategoria Get Return idcategoria End Get Set(value) idcategoria = value End Set End Property Public Property gnombre_categoria Get Return nombre_Categoria End Get Set(value) nombre_Categoria = value End Set End Property Public Sub New() End Sub Public Sub New(ByVal idcategoria As Integer, ByVal nombre_categoria As Integer) gidcategoria = idcategoria gnombre_categoria = nombre_categoria End Sub End Class

Fr Public Class frmcategoria Private dt As New DataTable Private Sub frmcategoria_Load(sender As Object, e As EventArgs) Handles MyBase.Load mostrar() End Sub Public Sub limpiar() btnguardar.Visible = True btneditar.Visible = False txtnombre.Text = "" txtidcategoria.Text = "" End Sub Private Sub mostrar() Try Dim func As New fcategoria dt = func.mostrar datalistado.Columns.Item("Eliminar").Visible = False If dt.Rows.Count 0 Then datalistado.DataSource = dt txtbuscar.Enabled = True datalistado.ColumnHeadersVisible = True inexistente.visible = False Else datalistado.DataSource = Nothing txtbuscar.Enabled = False datalistado.ColumnHeadersVisible = False inexistente.Visible = True End If Catch ex As Exception MsgBox(ex.Message) End Try btnnuevo.Visible = True btneditar.Visible = False buscar() End Sub Private Sub buscar() Try Dim ds As New DataSet ds.Tables.Add(dt.Copy) Dim dv As New DataView(ds.Tables(0)) dv.RowFilter = cbocampo.Text & " like '" & txtbuscar.Text & "%'" If dv.Count 0 Then inexistente.Visible = False datalistado.DataSource = dv

ocultar_columnas() Else inexistente.Visible = True datalistado.DataSource = Nothing End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub ocultar_columnas() datalistado.Columns(1).Visible = False End Sub

Private Sub txtnombre_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtnombre.Validating If DirectCast(sender, TextBox).Text.Length > 0 Then Me.erroricono.SetError(sender, "") Else Me.erroricono.SetError(sender, "Ingrese el nombre del cliente por favor, el dato es obligatorio") End If End Sub Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles btnnuevo.Click limpiar() mostrar() End Sub Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles btnguardar.Click If Me.ValidateChildren = True And txtnombre.Text "" Then Try Dim dts As New vcategoria Dim func As New fcategoria dts.gnombre_categoria = txtnombre.Text If func.insertar(dts) Then MessageBox.Show("Categoria registrada correctamente", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) mostrar() limpiar() Else MessageBox.Show("Categoría no fue registrada, intente de nuevo", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error) mostrar() limpiar() End If Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Falta ingresar algunos datos", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub

Private Sub datalistado_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellClick txtidcategoria.Text = datalistado.SelectedCells.Item(1).Value txtnombre.Text = datalistado.SelectedCells.Item(2).Value btneditar.Visible = True btnguardar.Visible = False End Sub Private Sub btneditar_Click(sender As Object, e As EventArgs) Handles btneditar.Click Dim result As DialogResult result = MessageBox.Show("¿ Realmente desea editar los datos de la categoria ?", "Modificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If result = DialogResult.OK Then If Me.ValidateChildren = True And txtnombre.Text "" And txtidcategoria.Text "" Then Try Dim dts As New vcategoria Dim func As New fcategoria dts.gidcategoria = txtidcategoria.Text dts.gnombre_categoria = txtnombre.Text If func.editar(dts) Then MessageBox.Show("Categoria modificada correctamente", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) mostrar() limpiar() Else MessageBox.Show("Categoria no fue modificada, intente de nuevo", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error) mostrar() limpiar() End If Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Falta ingresar algunos datos", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If End Sub Private Sub cbeliminar_CheckedChanged(sender As Object, e As EventArgs) Handles cbeliminar.CheckedChanged If cbeliminar.CheckState = CheckState.Checked Then datalistado.Columns.Item("Eliminar").Visible = True Else datalistado.Columns.Item("Eliminar").Visible = False End If End Sub Private Sub datalistado_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellContentClick If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then

Dim chkcell As DataGridViewCheckBoxCell = Me.datalistado.Rows(e.RowIndex).Cells("Eliminar") chkcell.Value = Not chkcell.Value End If End Sub Private Sub btneleminar_Click(sender As Object, e As EventArgs) Handles btneleminar.Click Dim result As DialogResult result = MessageBox.Show("¿Realmente desea eliminar las categorias seleccionadas?", "Eliminando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If result = DialogResult.OK Then Try For Each row As DataGridViewRow In datalistado.Rows Dim marcado As Boolean = Convert.ToBoolean(row.Cells("Eliminar").Value) If marcado Then Dim onekey As Integer = Convert.ToInt32(row.Cells("idcategoria").Value) Dim vdb As New vcategoria Dim func As New fcategoria vdb.gidcategoria = onekey If func.eliminar(vdb) Then Else MessageBox.Show("Categoría no fue eliminado", "Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If Next Call mostrar() Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Cancelando eliminación de registros", "Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) Call mostrar() End If Call limpiar() End Sub Private Sub datalistado_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellDoubleClick If txtflag.Text = "1" Then frmproducto.txtidcategoria.Text = datalistado.SelectedCells.Item(1).Value frmproducto.txtnom_categoria.Text = datalistado.SelectedCells.Item(2).Value Me.Close() End If End Sub End Class

Frmcliente

Public Class frmcliente Private dt As New DataTable Private Sub fmrcliente_Load(sender As Object, e As EventArgs) Handles MyBase.Load mostrar() End Sub Public Sub limpiar() btnguardar.Visible = True btneditar.Visible = False txtnombre.Text = "" txtapellidos.Text = "" txtdireccion.Text = "" txttelefono.Text = "" txtdni.Text = "" txtidcliente.Text = "" End Sub Private Sub mostrar() Try Dim func As New fcliente dt = func.mostrar datalistado.Columns.Item("Eliminar").Visible = False If dt.Rows.Count 0 Then datalistado.DataSource = dt txtbuscar.Enabled = True datalistado.ColumnHeadersVisible = True inexistente.visible = False Else datalistado.DataSource = Nothing txtbuscar.Enabled = False datalistado.ColumnHeadersVisible = False inexistente.Visible = True End If Catch ex As Exception MsgBox(ex.Message) End Try btnnuevo.Visible = True btneditar.Visible = False buscar() End Sub Private Sub buscar() Try Dim ds As New DataSet ds.Tables.Add(dt.Copy) Dim dv As New DataView(ds.Tables(0)) dv.RowFilter = cbocampo.Text & " like'" & txtbuscar.Text & "%'" If dv.Count 0 Then inexistente.Visible = False datalistado.DataSource = dv

ocultar_columnas() Else inexistente.Visible = True datalistado.DataSource = Nothing End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub ocultar_columnas() datalistado.Columns(1).Visible = False End Sub

Private Sub txtnombre_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtnombre.Validating If DirectCast(sender, TextBox).Text.Length > 0 Then Me.erroricono.SetError(sender, "") Else Me.erroricono.SetError(sender, "Ingrese el nombre del cliente por favor, el dato es obligatorio") End If End Sub Private Sub txtapellidos_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtapellidos.Validating If DirectCast(sender, TextBox).Text.Length > 0 Then Me.erroricono.SetError(sender, "") Else Me.erroricono.SetError(sender, "Ingrese los apellidos del cliente por favor, el dato es obligatorio") End If End Sub

Private Sub txtdireccion_Validating(sender As Object, e As EventArgs) Handles txtdireccion.Validating If DirectCast(sender, TextBox).Text.Length > 0 Then Me.erroricono.SetError(sender, "") Else Me.erroricono.SetError(sender, "Ingrese la direccion del cliente por favor, el dato es obligatorio") End If End Sub Private Sub txtdni_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtdni.Validating If DirectCast(sender, TextBox).Text.Length > 0 Then Me.erroricono.SetError(sender, "") Else Me.erroricono.SetError(sender, "Ingrese el DNI del cliente por favor, el dato es obligatorio") End If End Sub Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles btnnuevo.Click limpiar() mostrar()

End Sub Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles btnguardar.Click If Me.ValidateChildren = True And txtnombre.Text "" And txtapellidos.Text "" And txtdireccion.Text "" And txttelefono.Text "" And txtdni.Text "" Then Try Dim dts As New vcliente Dim func As New fcliente dts.gnombres = txtnombre.Text dts.gapellidos = txtapellidos.Text dts.gdireccion = txtdireccion.Text dts.gdni = txtdni.Text dts.gtelefono = txttelefono.Text If func.insertar(dts) Then MessageBox.Show("Cliente "Guardando registros", MessageBoxButtons.OK, mostrar() limpiar() Else MessageBox.Show("Cliente "Guardando registros", MessageBoxButtons.OK, mostrar() limpiar() End If

registrado correctamente", MessageBoxIcon.Information)

no registrado, intente de nuevo", MessageBoxIcon.Error)

Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Falta ingresar algunos datos", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub Private Sub datalistado_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellClick txtidcliente.Text = datalistado.SelectedCells.Item(1).Value txtnombre.Text = datalistado.SelectedCells.Item(2).Value txtapellidos.Text = datalistado.SelectedCells.Item(3).Value txtdireccion.Text = datalistado.SelectedCells.Item(4).Value txttelefono.Text = datalistado.SelectedCells.Item(5).Value txtdni.Text = datalistado.SelectedCells.Item(6).Value btneditar.Visible = True btnguardar.Visible = False End Sub Private Sub btneditar_Click(sender As Object, e As EventArgs) Handles btneditar.Click Dim result As DialogResult result = MessageBox.Show("¿ Realmente desea editar los datos del cliente ?", "Modificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If result = DialogResult.OK Then If Me.ValidateChildren = True And txtnombre.Text "" And txtapellidos.Text "" And txtdireccion.Text "" And txttelefono.Text "" And txtdni.Text "" And txtidcliente.Text "" Then Try

Dim dts As New vcliente Dim func As New fcliente dts.gidcliente = txtidcliente.Text dts.gnombres = txtnombre.Text dts.gapellidos = txtapellidos.Text dts.gdireccion = txtdireccion.Text dts.gdni = txtdni.Text dts.gtelefono = txttelefono.Text If func.editar(dts) Then MessageBox.Show("Cliente modificado correctamente", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) mostrar() limpiar() Else MessageBox.Show("Cliente no modificado, intente de nuevo", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error) mostrar() limpiar() End If Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Falta ingresar algunos datos", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If End Sub Private Sub cbeliminar_CheckedChanged(sender As Object, e As EventArgs) Handles cbeliminar.CheckedChanged If cbeliminar.CheckState = CheckState.Checked Then datalistado.Columns.Item("Eliminar").Visible = True Else datalistado.Columns.Item("Eliminar").Visible = False End If End Sub Private Sub datalistado_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellContentClick If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then Dim chkcell As DataGridViewCheckBoxCell = Me.datalistado.Rows(e.RowIndex).Cells("Eliminar") chkcell.Value = Not chkcell.Value End If End Sub Private Sub btneleminar_Click(sender As Object, e As EventArgs) Handles btneleminar.Click Dim result As DialogResult result = MessageBox.Show("¿Realmente desea eliminar los clientes sleccionados?", "Eliminando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If result = DialogResult.OK Then Try For Each row As DataGridViewRow In datalistado.Rows Dim marcado As Boolean = Convert.ToBoolean(row.Cells("Eliminar").Value)

If marcado Then Dim onekey As Integer = Convert.ToInt32(row.Cells("idcliente").Value) Dim vdb As New vcliente Dim func As New fcliente vdb.gidcliente = onekey If func.eliminar(vdb) Then Else MessageBox.Show("Cliente no fue eliminado", "Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If Next Call mostrar() Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Cancelando eliminación de registros", "Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) Call mostrar() End If Call limpiar() End Sub End Class

Frmproducto Public Class frmproducto Private dt As New DataTable Private Sub frmproducto_Load(sender As Object, e As EventArgs) Handles MyBase.Load mostrar() End Sub Public Sub limpiar() btnguardar.Visible = True btneditar.Visible = False txtnombre.Text = "" txtdescripcion.Text = "" txtstock.Text = "0" txtprecio_compra.Text = "0" txtprecio_venta.Text = "0" txtidproducto.Text = "" imagen.Image = Nothing imagen.BackgroundImage = My.Resources.imagentrans imagen.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub mostrar() Try Dim func As New fproducto dt = func.mostrar datalistado.Columns.Item("Eliminar").Visible = False If dt.Rows.Count 0 Then

datalistado.DataSource = dt txtbuscar.Enabled = True datalistado.ColumnHeadersVisible = True inexistente.visible = False Else datalistado.DataSource = Nothing txtbuscar.Enabled = False datalistado.ColumnHeadersVisible = False inexistente.Visible = True End If Catch ex As Exception MsgBox(ex.Message) End Try btnnuevo.Visible = True btneditar.Visible = False buscar() End Sub Private Sub buscar() Try Dim ds As New DataSet ds.Tables.Add(dt.Copy) Dim dv As New DataView(ds.Tables(0)) dv.RowFilter = cbocampo.Text & " like'" & txtbuscar.Text & "%'" If dv.Count 0 Then inexistente.Visible = False datalistado.DataSource = dv ocultar_columnas() Else inexistente.Visible = True datalistado.DataSource = Nothing End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub ocultar_columnas() datalistado.Columns(1).Visible = False datalistado.Columns(2).Visible = False End Sub

Private Sub txtnombre_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtnombre.Validating If DirectCast(sender, TextBox).Text.Length > 0 Then Me.erroricono.SetError(sender, "") Else Me.erroricono.SetError(sender, "Ingrese el nombre del cliente por favor, el dato es obligatorio") End If End Sub Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles btnnuevo.Click limpiar() mostrar()

End Sub Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles btnguardar.Click If Me.ValidateChildren = True And txtnombre.Text "" And txtdescripcion.Text "" And txtstock.Text "" And txtprecio_compra.Text "" And txtprecio_venta.Text "" Then Try Dim dts As New vproducto Dim func As New fproducto dts.gnombre = txtnombre.Text dts.gidcategoria = txtidcategoria.Text dts.gdescripcion = txtdescripcion.Text dts.gstock = txtstock.Text dts.gprecio_compra = txtprecio_compra.Text dts.gprecio_venta = txtprecio_venta.Text dts.gfecha_vencimiento = txtfecha_vencimiento.Text Dim ms As New IO.MemoryStream() If Not imagen.Image Is Nothing Then imagen.Image.Save(ms, imagen.Image.RawFormat) Else imagen.Image = My.Resources.imagentrans imagen.Image.Save(ms, imagen.Image.RawFormat) End If dts.gimagen = ms.GetBuffer If func.insertar(dts) Then MessageBox.Show("Producto registrado correctamente", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) mostrar() limpiar() Else MessageBox.Show("Producto no fue registrado, intente de nuevo", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error) mostrar() limpiar() End If Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Falta ingresar algunos datos", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub Private Sub datalistado_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellClick txtidproducto.Text = datalistado.SelectedCells.Item(1).Value txtidcategoria.Text = datalistado.SelectedCells.Item(2).Value txtnom_categoria.Text = datalistado.SelectedCells.Item(3).Value txtnombre.Text = datalistado.SelectedCells.Item(4).Value txtdescripcion.Text = datalistado.SelectedCells.Item(5).Value txtstock.Text = datalistado.SelectedCells.Item(6).Value txtprecio_compra.Text = datalistado.SelectedCells.Item(7).Value txtprecio_venta.Text = datalistado.SelectedCells.Item(8).Value txtfecha_vencimiento.Text = datalistado.SelectedCells.Item(9).Value imagen.BackgroundImage = Nothing

Dim b() As Byte = datalistado.SelectedCells.Item(10).Value Dim ms As New IO.MemoryStream(b) imagen.Image = Image.FromStream(ms) imagen.SizeMode = PictureBoxSizeMode.StretchImage btneditar.Visible = True btnguardar.Visible = False End Sub Private Sub btneditar_Click(sender As Object, e As EventArgs) Handles btneditar.Click Dim result As DialogResult result = MessageBox.Show("¿ Realmente desea editar los datos del producto ?", "Modificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If result = DialogResult.OK Then If Me.ValidateChildren = True And txtnombre.Text "" And txtdescripcion.Text "" And txtstock.Text "" And txtprecio_compra.Text "" And txtprecio_venta.Text "" And txtidproducto.Text "" Then Try Dim dts As New vproducto Dim func As New fproducto dts.gidproducto = txtidproducto.Text dts.gnombre = txtnombre.Text dts.gidcategoria = txtidcategoria.Text dts.gdescripcion = txtdescripcion.Text dts.gstock = txtstock.Text dts.gprecio_compra = txtprecio_compra.Text dts.gprecio_venta = txtprecio_venta.Text dts.gfecha_vencimiento = txtfecha_vencimiento.Text Dim ms As New IO.MemoryStream() If Not imagen.Image Is Nothing Then imagen.Image.Save(ms, imagen.Image.RawFormat) Else imagen.Image = My.Resources.imagentrans imagen.Image.Save(ms, imagen.Image.RawFormat) End If dts.gimagen = ms.GetBuffer If func.editar(dts) Then MessageBox.Show("Producto modificado correctamente", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) mostrar() limpiar() Else MessageBox.Show("Producto no fue modificado, intente de nuevo", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error) mostrar() limpiar() End If Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Falta ingresar algunos datos", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If

End Sub Private Sub cbeliminar_CheckedChanged(sender As Object, e As EventArgs) Handles cbeliminar.CheckedChanged If cbeliminar.CheckState = CheckState.Checked Then datalistado.Columns.Item("Eliminar").Visible = True Else datalistado.Columns.Item("Eliminar").Visible = False End If End Sub Private Sub datalistado_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles datalistado.CellContentClick If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then Dim chkcell As DataGridViewCheckBoxCell = Me.datalistado.Rows(e.RowIndex).Cells("Eliminar") chkcell.Value = Not chkcell.Value End If End Sub Private Sub btneleminar_Click(sender As Object, e As EventArgs) Handles btneleminar.Click Dim result As DialogResult result = MessageBox.Show("¿Realmente desea eliminar los productos seleccionados?", "Eliminando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) If result = DialogResult.OK Then Try For Each row As DataGridViewRow In datalistado.Rows Dim marcado As Boolean = Convert.ToBoolean(row.Cells("Eliminar").Value) If marcado Then Dim onekey As Integer = Convert.ToInt32(row.Cells("idproducto").Value) Dim vdb As New vproducto Dim func As New fproducto vdb.gidproducto = onekey If func.eliminar(vdb) Then Else MessageBox.Show("Producto no fue eliminado", "Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If Next Call mostrar() Catch ex As Exception MsgBox(ex.Message) End Try Else MessageBox.Show("Cancelando eliminación de registros", "Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information) Call mostrar() End If Call limpiar() End Sub Private Sub btncargar_Click(sender As Object, e As EventArgs) Handles btncargar.Click If dlg.ShowDialog() = DialogResult.OK Then imagen.BackgroundImage = Nothing imagen.Image = New Bitmap(dlg.FileName)

imagen.SizeMode = PictureBoxSizeMode.StretchImage End If End Sub Private Sub btnlimpiar_Click(sender As Object, e As EventArgs) Handles btnlimpiar.Click imagen.Image = Nothing imagen.BackgroundImage = My.Resources.imagentrans imagen.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub btnbuscarcategoria_Click(sender As Object, e As EventArgs) Handles btnbuscarcategoria.Click frmcategoria.txtflag.Text = "1" frmcategoria.ShowDialog() End Sub Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles GroupBox1.Enter End Sub End Clas