/// <summary> /// Inserta un nuevo subartículo en la base de datos. /// </summary> /// <param name="newSubarticle"></param> /// Contiene los datos que conforman un subartículo. /// <returns> /// Retorna -1 si la sentencia no se ejecuto correctamente. /// </returns> public static int insertSubarticle(SubarticlePOJO newSubarticle) { try { Conexion con = new Conexion(); MySqlCommand cmd = new MySqlCommand("INSERT INTO subarticles VALUES (@P0,@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9);"); cmd.Parameters.AddWithValue("@P0", newSubarticle.IdSubarticle); cmd.Parameters.AddWithValue("@P1", newSubarticle.Size); cmd.Parameters.AddWithValue("@P2", newSubarticle.Color); cmd.Parameters.AddWithValue("@P3", newSubarticle.Cost); cmd.Parameters.AddWithValue("@P4", newSubarticle.Price1); cmd.Parameters.AddWithValue("@P5", newSubarticle.Price2); cmd.Parameters.AddWithValue("@P6", newSubarticle.Price3); cmd.Parameters.AddWithValue("@P7", newSubarticle.Price4); cmd.Parameters.AddWithValue("@P8", newSubarticle.Quantity); cmd.Parameters.AddWithValue("@P9", newSubarticle.IdArticle); return(con.ejecutarSentencia(cmd, true)); } catch (Exception ex) { Console.WriteLine(ex.Message); return(-1); } finally { if (Conexion.conexion != null) { Conexion.conexion.Close(); } } }
/// <summary> /// Actualiza los datos del subartículo ingresado como parámetro. /// </summary> /// <param name="newSubarticle"></param> /// Contiene los datos que sobrescribirán a los anteriores. public static void updateSubarticle(SubarticlePOJO newSubarticle, string idSubarticle) { try { Conexion con = new Conexion(); MySqlCommand cmd = new MySqlCommand("UPDATE subarticles SET idSubarticle = @P0, size = @P1, " + "color = @P2, cost = @P3, price1 = @P4, price2 = @P5, price3 = @P6, price4 = @P7, " + "quantity = @P8, idArticle = @P9 WHERE idSubarticle = @P10;"); cmd.Parameters.AddWithValue("@P0", newSubarticle.IdSubarticle); cmd.Parameters.AddWithValue("@P1", newSubarticle.Size); cmd.Parameters.AddWithValue("@P2", newSubarticle.Color); cmd.Parameters.AddWithValue("@P3", newSubarticle.Cost); cmd.Parameters.AddWithValue("@P4", newSubarticle.Price1); cmd.Parameters.AddWithValue("@P5", newSubarticle.Price2); cmd.Parameters.AddWithValue("@P6", newSubarticle.Price3); cmd.Parameters.AddWithValue("@P7", newSubarticle.Price4); cmd.Parameters.AddWithValue("@P8", newSubarticle.Quantity); cmd.Parameters.AddWithValue("@P9", newSubarticle.IdArticle); cmd.Parameters.AddWithValue("@P10", idSubarticle); con.ejecutarSentencia(cmd, false); } catch (Exception ex) { return; } finally { if (Conexion.conexion != null) { Conexion.conexion.Close(); } } }
/// <summary> /// Abre el formulario encargado de modificar las existencias del subartículo seleccionado. /// </summary> private void btnChangeQuantity_Click(object sender, EventArgs e) { new FrmModifyQuantity(selectedItem.IdSubarticle).ShowDialog(); updateTable(); selectedItem = subarticlesList[0]; dgvSubarticles.Rows[0].Selected = true; }
public FrmModifyQuantity(string idSubarticle) { InitializeComponent(); selectedSubarticle = SubarticleDAO.getOneById(idSubarticle); lblSubarticle.Text = "Clave: " + idSubarticle; lblCurrentAmount.Text = "Existencia actual: " + selectedSubarticle.Quantity; updateTable(); spnInputOutput.Minimum = selectedSubarticle.Quantity * (-1); }
/// <summary> /// Permite ubicar al subartículo seleccionado para posteriores operaciones. /// </summary> private void dgvSubarticles_CellClick(object sender, DataGridViewCellEventArgs e) { try { int index = e.RowIndex; dgvSubarticles.Rows[index].Selected = true; btnChangeQuantity.Visible = true; pnlAddEdit.Visible = false; selectedItem = SubarticleDAO.getOneById(dgvSubarticles.Rows[index].Cells[0].Value + ""); btnsShowHide(true, true, true); } catch (Exception) { } }
/// <summary> /// Permite o restringe funciones dependiendo de si existen o no artículos en la base de datos. /// </summary> /// <returns> /// Retorna true si no existen artículos en la base de datos, de otro modo retorna false. /// </returns> public bool isEmpty() { if (subarticlesList.Count == 0) { btnEdit.Enabled = false; btnDelete.Enabled = false; btnChangeQuantity.Visible = false; cleanPanelAddEdit(); pnlAddEdit.Visible = false; return(true); } selectedItem = subarticlesList[0]; dgvSubarticles.Rows[0].Selected = true; return(false); }
/// <summary> /// Guarda ya sea un nuevo subartículo o los cambios realizado a un subartículo existente. /// </summary> private void btnSave_Click(object sender, EventArgs e) { if (txtColor.Text == "" || (cbxSize.SelectedItem + "") == "") { MessageBox.Show("Todos los campos son obligatorios", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (btnSave.Text == "Guardar") { if (SubarticleDAO.getOneById(selectedIdArticle + "_" + spnIdSubarticle.Value) != null) { MessageBox.Show("Clave duplicada, pruebe con otra", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DialogResult dr = MessageBox.Show("¿Está seguro que desea guardar el subartículo?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { return; } SubarticlePOJO newSubarticle = new SubarticlePOJO(); newSubarticle.IdSubarticle = selectedIdArticle + "_" + spnIdSubarticle.Value; newSubarticle.Size = cbxSize.SelectedItem + ""; newSubarticle.Color = txtColor.Text; newSubarticle.Cost = double.Parse(spnCost.Value + ""); newSubarticle.Price1 = double.Parse(spnPrice1.Value + ""); newSubarticle.Price2 = double.Parse(spnPrice2.Value + ""); newSubarticle.Price3 = double.Parse(spnPrice3.Value + ""); newSubarticle.Price4 = double.Parse(spnPrice4.Value + ""); newSubarticle.Quantity = int.Parse(spnQuantity.Value + ""); newSubarticle.IdArticle = selectedIdArticle; SubarticleDAO.insertSubarticle(newSubarticle); updateTable(); cleanPanelAddEdit(); pnlAddEdit.Visible = false; } else { DialogResult dr = MessageBox.Show("¿Está seguro que desea cambiar el subartículo?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { return; } SubarticlePOJO newSubarticle = new SubarticlePOJO(); newSubarticle.IdSubarticle = selectedIdArticle + "_" + spnIdSubarticle.Value; newSubarticle.Size = cbxSize.SelectedItem + ""; newSubarticle.Color = txtColor.Text; newSubarticle.Cost = double.Parse(spnCost.Value + ""); newSubarticle.Price1 = double.Parse(spnPrice1.Value + ""); newSubarticle.Price2 = double.Parse(spnPrice2.Value + ""); newSubarticle.Price3 = double.Parse(spnPrice3.Value + ""); newSubarticle.Price4 = double.Parse(spnPrice4.Value + ""); newSubarticle.Quantity = int.Parse(spnQuantity.Value + ""); newSubarticle.IdArticle = selectedIdArticle; SubarticleDAO.updateSubarticle(newSubarticle, selectedItem.IdSubarticle); updateTable(); cleanPanelAddEdit(); pnlAddEdit.Visible = false; } selectedItem = subarticlesList[0]; dgvSubarticles.Rows[0].Selected = true; btnChangeQuantity.Visible = true; btnsShowHide(true, true, true); }