public void DeleteTransaction(Produit produit) { List<Produit> produits = _produitData.ListToUpdateAfterDelete(produit.Code); BaseData.BeginTransaction(); try { var isDeleted = _produitData.DeleteTransaction(produit); if (isDeleted) { foreach (var p in produits) { if (p.Code-- < 0) p.Code = 0; isDeleted = _produitData.UpdateCodeTransaction(p); if (!isDeleted) throw new Exception("Impossible de mettre à jour le code"); } } else { throw new Exception("Le produit n'a pas pu etre supprimer"); } BaseData.Commit(); } catch (Exception) { BaseData.RollBack(); throw; } }
public Produit Get(int id) { var sb = new StringBuilder(); sb.Append("SELECT p.Code, p.Libelle, f.Id famId, f.Libelle famLibelle"); sb.Append("FROM produit p , famille f WHERE p.familleId = f.id AND p.Id = @id"); Produit produit = null; using (var helper = new SqliteHelper(sb.ToString())) { helper.AddInParameter("id", DbType.Int32, id); using (var reader = helper.ExecuteQuery()) { if (reader.Read()) { produit = new Produit { Id = reader.GetIntFromReader("Id"), Code = reader.GetIntFromReader("Code"), Libelle = reader.GetStringFromReader("Libelle"), Famille = new Famille { Id = reader.GetIntFromReader("famId"), Libelle = reader.GetStringFromReader("famLibelle") } }; } } } return produit; }
public Produit Create(Produit produit) { using (var helper = new SqliteHelper("INSERT INTO produit (Code, Libelle, familleId) VALUES(@code, @libelle, @familleId); Select last_insert_rowid(); ")) { helper.AddInParameter("code", DbType.Int32, produit.Code); helper.AddInParameter("libelle", DbType.String, produit.Libelle); helper.AddInParameter("familleId", DbType.Int32, produit.Famille.Id); produit.Id = helper.ExecuteCreateQuery(); } return produit; }
public bool DeleteTransaction(Produit produit) { bool isDeleted; using (Helper) { Helper.PrepareCommand("DELETE FROM produit WHERE Id = @Id"); Helper.AddInParameter("Id", DbType.Int32, produit.Id); isDeleted = Helper.ExecuteNonQuery(); } return isDeleted; }
private void SaveOrUpdate() { //test libelle if (string.IsNullOrEmpty(txtLibelle.Text.Trim())) { MessageBox.Show(@"Vous devez entrer un libelle", @"Gestion des produits", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } try { if (_produit == null) { _produit = _produitService.Create(new Produit { Code = Convert.ToInt32(lblCode.Text), Libelle = txtLibelle.Text, Famille = _famille }); txtLibelle.Text = string.Empty; btnAnnuler.Visible = false; grbListeDesProduits.Visible = false; LoadAll(); grbListeDesProduits.Visible = true; _produit = null; _modeAffichage = forms.ModeAffichage.Insert; ModeAffichage(); } else //update { if (_produit.Libelle.ToUpper().CompareTo(txtLibelle.Text.ToUpper()) == 0 && _produit.Famille.Libelle.CompareTo(cmbFamille.Text) == 0) { MessageBox.Show(@"Vous devez faire au moins un changement", @"Gestion des produits", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } _produit.Code = Convert.ToInt32(lblCode.Text); _produit.Libelle = txtLibelle.Text; _produit.Famille = cmbFamille.SelectedItem as Famille; _produitService.Update(_produit); txtLibelle.Text = string.Empty; btnAnnuler.Visible = false; LoadAll(); } } catch (Exception exception) { GestionException.TraiterException(exception, @"Une erreur s'est produite lors de la sauvegarde des données", "Gestion des produits"); } }
private void Modify() { try { //_isAjoutMode = true; _modeAffichage = forms.ModeAffichage.Update; _produit = dgvProduits.SelectedRows[0].DataBoundItem as Produit; ModeAffichage(); } catch (Exception exception) { GestionException.TraiterException(exception, "Gestion des produits"); } }
private void ModeAffichage() { try { if (_modeAffichage == forms.ModeAffichage.Browse) { lstfamille.Enabled = true; grbListeDesProduits.Top = 0; grbListeDesProduits.Height = 467; grbListeDesProduits.Visible = true; btnAnnuler.Visible = false; btnSave.Visible = false; btnAdd.Visible = true; btnDelete.Visible = dgvProduits.SelectedRows.Count > 0; btnModifier.Visible = dgvProduits.SelectedRows.Count > 0; txtLibelle.Enabled = false; if (dgvProduits.SelectedRows.Count > 0) _produit = dgvProduits.SelectedRows[0].DataBoundItem as Produit; _famille = lstfamille.SelectedItem as Famille; dgvProduits.Focus(); } else if (_modeAffichage == forms.ModeAffichage.Insert) { grbAddProduct.Text = @"Ajouter un produit"; grbAddProduct.Visible = true; grbListeDesProduits.Visible = true; btnModifier.Visible = false; txtLibelle.Enabled = true; if (dgvProduits.Rows.Count > 0) { grbListeDesProduits.Top = 144; grbListeDesProduits.Height = 323; btnAnnuler.Visible = true; lstfamille.Enabled = false; } else { grbListeDesProduits.Visible = false; btnAnnuler.Visible = false; lstfamille.Enabled = true; } btnSave.Visible = true; btnAdd.Visible = false; btnDelete.Visible = false; lblCode.Text = _produitService.GetNextCodeValue(_famille).ToString(); lblFamille.Text = _famille.Libelle; lblFamille.Visible = true; cmbFamille.Visible = false; txtLibelle.Focus(); } else //update { grbAddProduct.Text = @"Modifier le produit"; grbListeDesProduits.Visible = true; grbListeDesProduits.Top = 144; grbListeDesProduits.Height = 323; txtLibelle.Enabled = true; btnModifier.Visible = false; lstfamille.Enabled = false; btnAnnuler.Visible = dgvProduits.Rows.Count > 0; btnSave.Visible = true; btnAdd.Visible = false; btnDelete.Visible = false; lblCode.Text = _produit.Code.ToString(); lblFamille.Visible = false; cmbFamille.Visible = true; cmbFamille.DataSource = _familleService.ListAll(); cmbFamille.SelectedIndex = lstfamille.SelectedIndex; txtLibelle.Text = _produit.Libelle; txtLibelle.Focus(); } } catch (Exception exception) { GestionException.TraiterException(exception, "Gestion des produits"); } }
private void lstfamille_SelectedIndexChanged(object sender, EventArgs e) { try { if (lstfamille.SelectedValue != null) { _famille = lstfamille.SelectedItem as Famille; //chargement des produits dgvProduits.DataSource = _produitService.GetByFamille(lstfamille.SelectedItem as Famille); if (dgvProduits.RowCount == 0) // pas de donnée { _produit = null; _modeAffichage = forms.ModeAffichage.Insert; ModeAffichage(); } else // on charge les produit et on met le premier dans la liste { dgvProduits.Rows[0].Selected = true; } } } catch (Exception exception) { GestionException.TraiterException(exception, "Gestion des produits"); } }
private void dgvProduits_SelectionChanged(object sender, EventArgs e) { try { if (dgvProduits.Rows.Count > 0) { if (dgvProduits.SelectedRows.Count > 0) { _produit = dgvProduits.SelectedRows[0].DataBoundItem as Produit; if (_isAjoutMode) _modeAffichage = forms.ModeAffichage.Insert; else _modeAffichage = forms.ModeAffichage.Browse; ModeAffichage(); } else { _produit = null; _modeAffichage = forms.ModeAffichage.Insert; ModeAffichage(); } } } catch (Exception exception) { GestionException.TraiterException(exception, "Gestion des produits"); } }
private void Add() { _isAjoutMode = true; _produit = null; _modeAffichage = forms.ModeAffichage.Insert; ModeAffichage(); }
public bool Update(Produit produit) { return _produitData.Update(produit); }
public bool IsCanDelete(Produit produit) { return _produitData.IsCanDelete(produit); }
public Produit Create(Produit produit) { return _produitData.Create(produit); }
public bool UpdateCodeTransaction(Produit produit) { bool isUpdated; using (Helper) { Helper.PrepareCommand("Update produit set code = @code WHERE Id = @Id"); Helper.AddInParameter("code", DbType.Int32, produit.Code); Helper.AddInParameter("Id", DbType.Int32, produit.Id); isUpdated = Helper.ExecuteNonQuery(); } return isUpdated; }
public bool Update(Produit produit) { bool isUpdated; using (var helper = new SqliteHelper("UPDATE produit set Libelle = @Libelle, familleId = @familleId, Code = @Code WHERE Id = @Id")) { helper.AddInParameter("Libelle", DbType.String, produit.Libelle); helper.AddInParameter("Code", DbType.Int32, produit.Code); helper.AddInParameter("familleId", DbType.Int32, produit.Famille.Id); helper.AddInParameter("Id", DbType.Int32, produit.Id); isUpdated = helper.ExecuteNonQuery(); } return isUpdated; }
public bool IsCanDelete(Produit produit) { var isCanDelete = true; using (var helper = new SqliteHelper("SELECT ProduitId FROM LigneCommande Where ProduitId = @Id")) { helper.AddInParameter("Id", DbType.Int32, produit.Id); using (var reader = helper.ExecuteQuery()) { if (reader.Read()) isCanDelete = false; } } return isCanDelete; }