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);
            }
        }
예제 #2
0
        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();
        }
예제 #3
0
        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();
            }
        }