private void CreerNouveauProduitSemiFini() { var nomMatierPremiere = cbxNomMatiereP.GetItemText(cbxNomMatiereP.SelectedItem); ResStockMatieresPremiere mp = db.ResStockMatieresPremieres.FirstOrDefault(n => n.NomMatiere == nomMatierPremiere); try { bool stockValide = prod.VerifierChampsQuantite(txtStockInitial.Text); bool coutUValide = prod.VerifierChampsQuantite(txtCoutUnitaire.Text); ResStockProduitsSemiFini semiF = new ResStockProduitsSemiFini { Description = txtNomProduitSemiFini.Text, Quantite = int.Parse(txtStockInitial.Text), CodeMatierePremiere = mp.CodeMatierePremiere, CoutUnitaire = int.Parse(txtCoutUnitaire.Text) }; ; db.ResStockProduitsSemiFinis.Add(semiF); db.SaveChanges(); MessageBox.Show("Le nouveau produit a été enregistré avec succès."); txtStockInitial.Text = "00"; txtCoutUnitaire.Text = "00"; txtNomProduitSemiFini.Clear(); } catch (Exception ex) { MessageBox.Show("Le nouveau produit semi-fini n'a pas pu être enregistré.", ex.Message); } }
private void UtiliserRessourcesProduitsSemiFinis(int codeURes, ListViewItem li) { ResStockProduitsSemiFini psf = db.ResStockProduitsSemiFinis.FirstOrDefault(p => p.Description == li.Text); EveUtilisationProduitsSemiFini upsf = new EveUtilisationProduitsSemiFini { CodeUtilisationRessource = codeURes, CodeProduitSemiFini = psf.CodeProduitSemiFini, QuantiteProduitSemiFini = float.Parse(li.SubItems[1].Text) }; db.EveUtilisationProduitsSemiFinis.Add(upsf); db.SaveChanges(); }
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(); } }