//******************************************************************* //Agregar un nuevo producto public bool AgregarProducto(producto nuevo) { try { producto aux = contex.producto.Find(nuevo.id_producto); if (aux != null) {//si se encuentra un producto existente se devuelve un error return false; } else {//si no existe se comprueba que no exista un producto con el mismo cod. de barra if (BuscarProducto(nuevo.cod_barra) != null) {//si existe un producto con un codigo de barra igual a otro se devuelve falso return false; } else { contex.producto.Add(nuevo); return contex.SaveChanges() > 0; } } } catch (Exception) { return false; } }
//Agrega un nuevo producto a la DB private void btnAgregarProducto_Click(object sender, EventArgs e) {//si alguno de los campos esta vacio se lanza un mensaje de advertencia if (String.IsNullOrEmpty(txtNombreProducto.Text.Trim())) { MessageBox.Show("El campo Nombre no puede estar vacio.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (cboMarcaProducto.SelectedIndex == -1) { MessageBox.Show("Debe seleccionar una marca.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (cboCategoriaProducto.SelectedIndex == -1) { MessageBox.Show("Debe seleccionar una categoria.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (lbCodBarraProducto.Text == "XXXXXXX") { MessageBox.Show("1.- Debe generar un nuevo Código de Barras para el producto.\nPor favor haga click en el botón, Generar código de Barras.\n2.- Si el producto posee un código, use la pistola lectora para ingresar este dato.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (String.IsNullOrEmpty(txtStockProducto.Text.Trim())) { MessageBox.Show("El campo Stock no puede estar vacio.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (String.IsNullOrEmpty(txtDescripcionProducto.Text.Trim())) { MessageBox.Show("El campo Descripción no puede estar vacio.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (String.IsNullOrEmpty(txtPrecioProducto.Text.Trim())) { MessageBox.Show("El campo Precio no puede estar vacio.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {//si ninguno de los campos esta vacio, se crea un nuevo producto producto nuevo = new producto() { nombre = txtNombreProducto.Text.Trim(), cod_producto = controladorProducto.GenerarNuevoCodigoProducto(), id_marca = Convert.ToInt32(cboMarcaProducto.SelectedValue), id_categoria = Convert.ToInt32(cboCategoriaProducto.SelectedValue), precio = Convert.ToInt32(txtPrecioProducto.Text.Trim()), descripcion = txtDescripcionProducto.Text.Trim(), stock = Convert.ToInt32(txtStockProducto.Text.Trim()), cod_barra = txtCodBarraProductoLeido.Text.Trim(), fecha_ingreso = DateTime.Now }; if (controladorProducto.AgregarProducto(nuevo)) { MessageBox.Show("El nuevo producto ah sido agregado.", "Mensaje de usuario", MessageBoxButtons.OK, MessageBoxIcon.Information); cargarGridProductos(); } else { MessageBox.Show("El nuevo producto NO ah sido agregado.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
//************************************************************************* //Editar un producto de la DB public bool EditarProdutco(producto aEditar) { try { producto aux = BuscarProducto(aEditar.cod_barra); if (aux != null) {//el producto existe y puede ser editado aux.nombre = aEditar.nombre; aux.cod_barra = aEditar.cod_barra; aux.id_marca = aEditar.id_marca; aux.id_categoria = aEditar.id_categoria; aux.descripcion = aEditar.descripcion; aux.stock = aEditar.stock; aux.precio = aEditar.precio; return contex.SaveChanges() > 0; } else { return false; } } catch (Exception) { return false; } }
//Edita un producto mediante el codigo de barras private void btnEditarProducto_Click(object sender, EventArgs e) { if (String.IsNullOrEmpty(txtCodBarraProductoBusqueda.Text.Trim())) {//si el campo de codigo de barra esta vacio no se puede editar porque primero se debe buscar un productoa a editar MessageBox.Show("El campo Cod. De Barra no puede estar vacio.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (controladorProducto.BuscarProducto(txtCodBarraProductoBusqueda.Text.Trim()) == null) {//si no se encuentra el producto se envia el mensaje de advertencia MessageBox.Show("Para poder Editar un Producto primero debe buscarlo.\n\n1.- Ingrese El Codigo de Barras del producto.\n2.- Haga click en el botón Buscar.\n3.- Luego haga click en el botón Editar.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (String.IsNullOrEmpty(txtNombreProducto.Text.Trim()) || String.IsNullOrEmpty(txtCodBarraProductoLeido.Text.Trim()) || String.IsNullOrEmpty(txtPrecioProducto.Text.Trim()) || String.IsNullOrEmpty(txtStockProducto.Text.Trim()) || String.IsNullOrEmpty(txtDescripcionProducto.Text.Trim())) {//si lso campos estan vacios se debe informar MessageBox.Show("Para poder Editar un Producto primero debe buscarlo.\n\n1.- Ingrese El Codigo de Barras del producto.\n2.- Haga click en el botón Buscar.\n3.- Luego haga click en el botón Editar.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { producto aEditar = new producto()//se crea un usuario que se agregara a la DB { id_producto = Convert.ToInt32(txtIdProducto.Text.Trim()), nombre = txtNombreProducto.Text.Trim(), cod_barra = txtCodBarraProductoLeido.Text.Trim(), descripcion = txtDescripcionProducto.Text.Trim(), id_categoria = (int)cboCategoriaProducto.SelectedValue, id_marca = (int)cboMarcaProducto.SelectedValue, precio = Convert.ToInt32(txtPrecioProducto.Text.Trim()), stock = Convert.ToInt32(txtStockProducto.Text.Trim()), cod_producto = txtCodigoProducto.Text.Trim() }; if (controladorProducto.EditarProdutco(aEditar)) { MessageBox.Show("El producto ah sido editado.", "Mensaje de Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information); cargarGridProductos(); } else { MessageBox.Show("No se ah realizado ningún cambio en los datos.", "Mensaje de Usuario", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } }