private void CreerNouveauProduitFini() { try { bool prixValide = prod.VerifierChampsQuantite(txtPrixDeVente.Text); bool stockValide = prod.VerifierChampsQuantite(txtStockInitial.Text); bool coutUValide = prod.VerifierChampsQuantite(txtCoutUnitaire.Text); bool nomvalide = Validation.ChampsVide(txtNomProduitFini.Text); ResStockProduitsFini pf = new ResStockProduitsFini { NomProduit = txtNomProduitFini.Text, StockProduit = int.Parse(txtStockInitial.Text), PrixDeVenteStandard = int.Parse(txtPrixDeVente.Text), CoutUnitaire = int.Parse(txtCoutUnitaire.Text) }; db.ResStockProduitsFinis.Add(pf); db.SaveChanges(); MessageBox.Show("Le nouveau produit fini a été enregistré avec succès."); txtPrixDeVente.Text = "00"; txtStockInitial.Text = "00"; txtCoutUnitaire.Text = "00"; txtNomProduitFini.Clear(); } catch (Exception ex) { MessageBox.Show("Le nouveau produit fini n'a pas pu être enregistré.", ex.Message); } }
private void EnregistrerProduction() { AgeEmploye respProd = db.AgeEmployes.FirstOrDefault(rp => rp.PrenomNom == cbxResponsableProduction.Text); AgeEmploye respStockMatPrem = db.AgeEmployes.FirstOrDefault(rsmp => rsmp.PrenomNom == cbxRespMatPrem.Text); AgeEmploye respStockProduitsFinis = db.AgeEmployes.FirstOrDefault(rspf => rspf.PrenomNom == cbxResponsableStockProduitFinis.Text); if (VerifierInfoIntrantsEtExtrantsProduction() && ProductionRealiseeParAuMoinsUnEmploye()) { // Creer une nouvelle utilisation des ressources EveUtilisationRessource utilisationRessource = new EveUtilisationRessource { CodeEmploye_Resp_production_ = respProd.CodeEmploye, CodeEmploye_Resp_stock_matiere_premiere_ = respStockMatPrem.CodeEmploye }; db.EveUtilisationRessources.Add(utilisationRessource); db.SaveChanges(); var codeUtilisationRessources = utilisationRessource.CodeUtilisationRessources; AjouterRessourcesMatieresPremieres(codeUtilisationRessources); AjouterRessourcesTravailleurs(codeUtilisationRessources); AjouterRessourcesProduitSemiFini(codeUtilisationRessources); // Créer production var creerProduction = CreerProduction(codeUtilisationRessources, respStockProduitsFinis.CodeEmploye); var codeProduction = creerProduction.CodeProduction; string nomProduit = cbxProduitsProduits.GetItemText(cbxProduitsProduits.SelectedItem); if (rbtnProduitsFinis.Checked) { string emballage = cbxEmballage.GetItemText(cbxEmballage.SelectedItem); string etiquette = cbxEtiquettes.GetItemText(cbxEtiquettes.SelectedItem); if (!string.IsNullOrEmpty(emballage)) { ResStockProduitsFini npf = db.ResStockProduitsFinis.FirstOrDefault(n => n.NomProduit == nomProduit); UtiliserEmballage(codeUtilisationRessources, emballage, int.Parse(txtQuantiteProduitProduit.Text)); if (cbxEtiquettes.Enabled && cbxUtiliserEtiquette.Checked) { try { bool etiquetteChoisie = cbxEtiquettes.SelectedIndex >= 0; UtiliserEmballage(codeUtilisationRessources, etiquette, int.Parse(txtQuantiteProduitProduit.Text)); } catch (Exception) { MessageBox.Show("Vous devez choisir une etiquette!"); return; } } if (rbtnAvecSucre.Checked) { UtiliserSucre(codeUtilisationRessources); } EveProductionStockProduitsFini prodPFini = new EveProductionStockProduitsFini { CodeProduction = codeProduction, CodeProduitFini = npf.CodeProduit, QuantiteProduitFini = int.Parse(txtQuantiteProduitProduit.Text) }; db.EveProductionStockProduitsFinis.Add(prodPFini); db.SaveChanges(); } else { MessageBox.Show("Veuillez choisir un emballage et une etiquette."); } } else { ResStockProduitsSemiFini npsf = db.ResStockProduitsSemiFinis.FirstOrDefault(n => n.Description == nomProduit); EveProductionProduitsSemiFini prodPSFini = new EveProductionProduitsSemiFini { CodeProduction = codeProduction, CodeProduitSemiFini = npsf.CodeProduitSemiFini, QuantiteProduitSemiFini = int.Parse(txtQuantiteProduitProduit.Text) }; db.EveProductionProduitsSemiFinis.Add(prodPSFini); db.SaveChanges(); } MessageBox.Show("La production a été enregistrée avec succès."); // Effacer les donnees deja enregistrees lvwListeMatieresP.Items.Clear(); cbxEmballage.SelectedIndex = -1; txtQuantiteProduitProduit.Clear(); lvwListProduitsSemiFinisUtilises.Items.Clear(); var nomMatierePrem = cbxNomMatiereP.GetItemText(cbxNomMatiereP.SelectedItem); txtStockMatierePremiereDispo.Text = ChargerStockMatierePremiere(nomMatierePrem).ToString(); } }