private void btnSave_Click(object sender, EventArgs e) { if (!DataIsValid()) { return; } Prod = new ProductsPOJO( EditMode ? Prod.ProductID : -1, txtProductName.Text, (int)cmbSupplier.SelectedValue, (int)cmbCategory.SelectedValue, txtQuantityPerUnit.Text, (double)nmUnitPrice.Value, (int)nmUnitsInStock.Value, (int)nmUnitsOnOrder.Value, (int)nmReorderLevel.Value, chkDescontinued.Checked ? 1 : 0 ); bool success = EditMode ? ProductsDAO.Update(Prod) : ProductsDAO.Insert(Prod); if (!success) { MessageBox.Show(null, "Ocurrió un error.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } MessageBox.Show(null, "Cambios guardados correctamente.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); }
/// <summary> /// Inserta un registro de un producto nuevo en la base de datos. /// </summary> /// <param name="Product">El objeto que tiene los datos del registro a insertar</param> /// <returns>Retorna true si se pudo agregar el producto</returns> public static bool Insert(ProductsPOJO Product) { try { // Crea la consulta y asigna los parámetros String query = "INSERT INTO products VALUES(null,@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9)"; var cmd = new MySqlCommand(query); cmd.Parameters.AddWithValue("@p1", Product.ProductName); cmd.Parameters.AddWithValue("@p2", Product.SupplierID); cmd.Parameters.AddWithValue("@p3", Product.CategoryID); cmd.Parameters.AddWithValue("@p4", Product.QuantityPerUnit); cmd.Parameters.AddWithValue("@p5", Product.UnitPrice); cmd.Parameters.AddWithValue("@p6", Product.UnitsInStock); cmd.Parameters.AddWithValue("@p7", Product.UnitsOnOrder); cmd.Parameters.AddWithValue("@p8", Product.ReorderLevel); cmd.Parameters.AddWithValue("@p9", Product.Discontinued); // Ejecuta la consulta return(Connection.Execute(cmd)); } catch { return(false); } finally { Connection.Disconnect(); } }
/// <summary> /// Obtiene la lista de los productos almacenados en la base de datos. /// </summary> /// <returns></returns> public static List <ProductsPOJO> Select() { try { // Crea la consulta String query = "SELECT * FROM products"; MySqlCommand cmd = new MySqlCommand(query); // Ejecuta la consulta y almacena los resultados DataTable tbl = Connection.Query(cmd); List <ProductsPOJO> list = new List <ProductsPOJO>(); if (tbl != null) { foreach (DataRow dr in tbl.Rows) { list.Add(ProductsPOJO.FromDataRow(dr)); } } return(list); } catch (Exception ex) { return(null); } finally { Connection.Disconnect(); } }
/// <summary> /// Obtiene el registro del producto cuyo id sea igual al especificado en /// el parámetro. /// </summary> /// <param name="ProductID">Id del producto a retornar</param> /// <returns>El producto si existe, sino retorna null</returns> public static ProductsPOJO Select(int ProductID) { try { // Crea la consulta y asigna los parámetros String query = "SELECT * FROM products WHERE ProductId = @P0 LIMIT 1"; MySqlCommand cmd = new MySqlCommand(query); cmd.Parameters.AddWithValue("@P0", ProductID); // Ejecuta la consulta y la almacena DataTable tbl = Connection.Query(cmd); // Solo debe existir un registro if (tbl != null && tbl.Rows.Count == 1) { return(ProductsPOJO.FromDataRow(tbl.Rows[0])); } else { return(null); } } catch (Exception ex) { return(null); } finally { Connection.Disconnect(); } }
/// <summary> /// Actualiza los datos de un producto existente en la base de datos. Modifica el registro que /// concuerda con el ProductID del objeto de parámetro /// </summary> /// <param name="Product">El objeto que tiene los datos del registro a actualizar.</param> /// <returns>Retorna true si se pudo actualizar el registro</returns> public static bool Update(ProductsPOJO Product) { try { // Crea la consulta y asigna los parámetros String query = "UPDATE products SET ProductName = @P1, SupplierID = @P2, CategoryID = @P3, " + "QuantityPerUnit = @P4, UnitPrice = @P5, UnitsInStock = @P6, UnitsOnOrder = @P7," + "ReorderLevel = @P8, Discontinued = @P9 WHERE ProductID = @P0"; var cmd = new MySqlCommand(query); cmd.Parameters.AddWithValue("@P0", Product.ProductID); cmd.Parameters.AddWithValue("@P1", Product.ProductName); cmd.Parameters.AddWithValue("@P2", Product.SupplierID); cmd.Parameters.AddWithValue("@P3", Product.CategoryID); cmd.Parameters.AddWithValue("@P4", Product.QuantityPerUnit); cmd.Parameters.AddWithValue("@P5", Product.UnitPrice); cmd.Parameters.AddWithValue("@P6", Product.UnitsInStock); cmd.Parameters.AddWithValue("@P7", Product.UnitsOnOrder); cmd.Parameters.AddWithValue("@P8", Product.ReorderLevel); cmd.Parameters.AddWithValue("@P9", Product.Discontinued); // Ejecuta la consulta return(Connection.Execute(cmd)); } catch { return(false); } finally { Connection.Disconnect(); } }
public FrmProducto(int ProductID) { InitializeComponent(); this.Prod = ProductsDAO.Select(ProductID); this.EditMode = true; InitWindow(); }
private void btnEliminar_Click(object sender, EventArgs e) { ProductsPOJO objProducto = ProductsDAO.Select(int.Parse(dtgProducts.CurrentRow.Cells[0].Value.ToString())); if (MessageBox.Show("¿Está seguro de querere eliminar el producto " + objProducto.ProductName + "?", "Eliminar producto", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (ProductsDAO.Delete(objProducto.ProductID) == true) { MessageBox.Show("Producto eliminado"); data(); } else { MessageBox.Show("El producto no pudo ser eliminado"); } } }