コード例 #1
0
        private void BtnEnregistrerEncaissement_Click(object sender, EventArgs e)
        {
            AgeClient            client = db.AgeClients.FirstOrDefault(c => c.NomClient == cbxNomClient.Text);
            AgeEmploye           tres   = db.AgeEmployes.FirstOrDefault(rv => rv.PrenomNom == cbxTres.Text);
            ResComptesTresorerie cpte   = db.ResComptesTresoreries.FirstOrDefault(cte => cte.NomCompte == cbxCompte.Text);

            if (Validation.VerifierChampsMontant(txtMontantEncaisse.Text))
            {
                if (int.Parse(txtMontantEncaisse.Text) > 0)
                {
                    EveEncaissement enc = new EveEncaissement
                    {
                        CodeEmploye = tres.CodeEmploye,
                        CodeCompte  = cpte.CodeCompte,
                    };

                    db.EveEncaissements.Add(enc);
                    db.SaveChanges();

                    EveEncaissementsCreance encC = new EveEncaissementsCreance
                    {
                        CodeEncaissement = enc.CodeEncaissement,
                        CodeClient       = client.CodeClient,
                        MontantEncaisse  = int.Parse(txtMontantEncaisse.Text),
                        DateEncaissement = DateTime.Parse(dtpDateEncaissement.Text)
                    };

                    db.EveEncaissementsCreances.Add(encC);
                    db.SaveChanges();
                    txtMontantEncaisse.Clear();
                    LoadData();
                    MettreCreanceAJour();
                }
            }
        }
コード例 #2
0
        private void UtiliserTravailleur(string nomTravailleur, int codeURessources)
        {
            AgeEmploye travailleur = db.AgeEmployes.FirstOrDefault(emp => emp.PrenomNom == nomTravailleur);

            (from preE in db.EvePresenceEmployes
             where preE.CodeEmploye == travailleur.CodeEmploye
             where preE.Date == dtpDateProduction.Value.Date
             select preE)
            .ToList()
            .ForEach(em => em.CodeUtilisationDesRessources = codeURessources);

            db.SaveChanges();
        }
コード例 #3
0
        private void AjouterDecaissementTransportMatierePremiere(EveReceptionMatieresPremiere recep)
        {
            ResStockMatieresPremiere matPrem = db.ResStockMatieresPremieres.FirstOrDefault(mp => mp.NomMatiere == cbxNomMatierePremiere.Text);
            AgeEmploye           tresoriere  = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxTresoriere.Text);
            ResComptesTresorerie tres        = db.ResComptesTresoreries.FirstOrDefault(tr => tr.NomCompte == cbxComptePaiement.Text);

            if (int.Parse(txtTransportMatierePremiere.Text) > 0 && Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtTransportMatierePremiere))
            {
                EveDecaissement decaiss = new EveDecaissement
                {
                    CodeReceptionMatierePremiere = recep.CodeReceptionMatierePremiere,
                    Description      = "Transport de " + matPrem.NomMatiere,
                    DateDecaissement = recep.DateReception,
                    CodeEmploye      = tresoriere.CodeEmploye,
                    CodeCompte       = tres.CodeCompte,
                    Montant          = int.Parse(txtTransportMatierePremiere.Text),
                };

                db.EveDecaissements.Add(decaiss);
                db.SaveChanges();
            }
        }
コード例 #4
0
        private EveReceptionMatieresPremiere AjouterNouvelleAchatMatierePremiere()
        {
            ResStockMatieresPremiere        matPrem = db.ResStockMatieresPremieres.FirstOrDefault(mp => mp.NomMatiere == cbxNomMatierePremiere.Text);
            AgeFournisseursMatieresPremiere fournMp = db.AgeFournisseursMatieresPremieres.FirstOrDefault(fmp => fmp.Nom == cbxFournisseurMPrem.Text);
            AgeEmploye           resStocks          = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxRespStocks.Text);
            AgeEmploye           tresoriere         = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxTresoriere.Text);
            ResComptesTresorerie tres = db.ResComptesTresoreries.FirstOrDefault(tr => tr.NomCompte == cbxComptePaiement.Text);


            EveReceptionMatieresPremiere achatMatiere = new EveReceptionMatieresPremiere
            {
                CodeMatierePremiere            = matPrem.CodeMatierePremiere,
                DateReception                  = DateTime.Parse(dtpDateApprovisionnement.Text),
                Quantite                       = float.Parse(txtQuantite.Text),
                Montant                        = int.Parse(txtMontant.Text),
                TransportMatierePremiere       = int.Parse(txtTransportMatierePremiere.Text),
                CodeFournisseurMatierePremiere = fournMp.CodeFournisseurMatierePremiere,
                CodeEmploye                    = resStocks.CodeEmploye,
            };

            db.EveReceptionMatieresPremieres.Add(achatMatiere);
            db.SaveChanges();
            return(achatMatiere);
        }
コード例 #5
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();
            }
        }
コード例 #6
0
        private void BtnEnregistrerVente_Click(object sender, EventArgs e)
        {
            int                  codeClient = int.Parse(cbxNomClient.SelectedValue.ToString());
            AgeClient            client     = db.AgeClients.FirstOrDefault(c => c.CodeClient == codeClient);
            AgeEmploye           resStock   = db.AgeEmployes.FirstOrDefault(rs => rs.PrenomNom == cbxResponsableStockPrdtsFinis.Text);
            AgeEmploye           tres       = db.AgeEmployes.FirstOrDefault(rv => rv.PrenomNom == cbxTres.Text);
            ResComptesTresorerie cpte       = db.ResComptesTresoreries.FirstOrDefault(cte => cte.NomCompte == cbxCompte.Text);

            try
            {
                var verifier = Convert.ToInt32(lblTotalFacture.Text) > 0;

                EveVente vente = new EveVente
                {
                    CodeClient  = client.CodeClient,
                    CodeEmploye = resStock.CodeEmploye,
                    DateVente   = DateTime.Parse(dtpDateVente.Text)
                };

                db.EveVentes.Add(vente);
                db.SaveChanges();

                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    //EnregistrerVenteDUnProduit(vente, listView1.Items[i]);
                    int    codeVente = vente.CodeVente;
                    string produit   = listView1.Items[i].SubItems[0].Text;
                    string quantite  = listView1.Items[i].SubItems[1].Text;
                    string montant   = listView1.Items[i].SubItems[3].Text;

                    GestionVentes.EnregistrerNouvelleVenteDUnProduit(codeVente, produit, quantite, montant);
                }

                int.TryParse(txtMontantEncaisse.Text, out int montantEncaisse);

                if (montantEncaisse > 0)
                {
                    EveEncaissement enc = new EveEncaissement
                    {
                        CodeEmploye = tres.CodeEmploye,
                        CodeCompte  = cpte.CodeCompte,
                    };

                    db.EveEncaissements.Add(enc);

                    EveEncaissementsVente encV = new EveEncaissementsVente
                    {
                        CodeClient       = client.CodeClient,
                        CodeEncaissement = enc.CodeEncaissement,
                        CodeVente        = vente.CodeVente,
                        MontantEncaisse  = montantEncaisse,
                        DateEncaissement = DateTime.Parse(dtpDateVente.Text)
                    };

                    db.EveEncaissementsVentes.Add(encV);
                    db.SaveChanges();
                }

                listView1.Items.Clear();
                lblTotalFacture.Text    = "";
                txtMontantEncaisse.Text = "0";
                MessageBox.Show("La vente a été enregistrée avec succès.");
            }
            catch (Exception)
            {
                MessageBox.Show("La vente n'a pas été enregistrée.");
                return;
            }
        }
コード例 #7
0
        private void BtnAchatServiceFourniture_Click(object sender, EventArgs e)
        {
            try
            {
                bool respAchatPresent = db.AgeEmployes.Any(em => em.PrenomNom == cbxRespServFourn.Text);
                bool fournPresent     = db.AgeFournisseursServicesFournitures
                                        .Any(fs => fs.NomFournisseurServiceFourniture == cbxNomFournServFourn.Text);
                bool descriptionAjoutee = !string.IsNullOrEmpty(txtDescription.Text);

                AgeEmploye tresoriere;

                if (int.Parse(txtMontantPayeServFourn.Text) > 0)
                {
                    bool montantValide      = Validation.VerifierChampsMontant(txtMontantPayeServFourn.Text);
                    bool tresorierePresente = db.AgeEmployes.Any(em => em.PrenomNom == cbxTresoriere.Text);
                }

                AgeEmploye emp = db.AgeEmployes.First(em => em.PrenomNom == cbxRespServFourn.Text);

                AgeFournisseursServicesFourniture fsf = db.AgeFournisseursServicesFournitures.First
                                                        (
                    fs => fs.NomFournisseurServiceFourniture == cbxNomFournServFourn.Text
                                                        );
                ResComptesTresorerie  cpte = db.ResComptesTresoreries.FirstOrDefault(c => c.NomCompte == cbxComptePaiement.Text);
                ResServicesFourniture sf   = db.ResServicesFournitures.FirstOrDefault(s => s.NomServiceFourniture == cbxNomServFourniture.Text);

                if (Validation.VerifierChampsMontant(txtMontantServFourn.Text))
                {
                    EveAcquisitionServicesFourniture asf = new EveAcquisitionServicesFourniture
                    {
                        Date                             = DateTime.Parse(dtpDateAchatServFourn.Text),
                        Description                      = txtDescription.Text,
                        Montant                          = int.Parse(txtMontantServFourn.Text),
                        CodeServiceFourniture            = sf.CodeServiceFourniture,
                        CodeFournisseurServiceFourniture = fsf.CodeFournisseurServiceFourniture,
                        CodeEmploye                      = emp.CodeEmploye,
                    };

                    db.EveAcquisitionServicesFournitures.Add(asf);
                    db.SaveChanges();

                    if (int.Parse(txtMontantPayeServFourn.Text) > 0 && Validation.VerifierChampsMontant(txtMontantPayeServFourn.Text))
                    {
                        if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtMontantPayeServFourn))
                        {
                            tresoriere = db.AgeEmployes.First(em => em.PrenomNom == cbxTresoriere.Text);

                            EveDecaissement decaiss = new EveDecaissement
                            {
                                CodeAcquisitionServiceFourniture = asf.CodeAcquisitionServiceFourniture,
                                Description            = sf.NomServiceFourniture,
                                DateDecaissement       = asf.Date,
                                CodeEmploye            = tresoriere.CodeEmploye,
                                CodeCompte             = cpte.CodeCompte,
                                Montant                = int.Parse(txtMontantPayeServFourn.Text),
                                CodeFournisseurService = fsf.CodeFournisseurServiceFourniture,
                            };
                            db.EveDecaissements.Add(decaiss);
                            db.SaveChanges();
                        }
                    }

                    MessageBox.Show("Le nouvel achat de service ou de fourniture a été enregistré avec succès!");
                    txtMontantServFourn.Text     = "";
                    txtMontantPayeServFourn.Text = "";
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Erreur: La transaction n'a pas été enregistré.");
            }
        }
コード例 #8
0
        private void BtnEnregistrerDecaissement_Click(object sender, EventArgs e)
        {
            if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxCompte, txtMontantPaye))
            {
                ResComptesTresorerie cpte = db.ResComptesTresoreries.FirstOrDefault(c => c.NomCompte == cbxCompte.Text);

                AgeEmploye em = db.AgeEmployes.FirstOrDefault(emp => emp.PrenomNom == cbxTresoriere.Text);

                if (cbxTypeFournisseur.Text == "Fournisseur de matière première")
                {
                    AgeFournisseursMatieresPremiere typeFournisseur = db.AgeFournisseursMatieresPremieres.FirstOrDefault(f => f.Nom == cbxNomFournisseur.Text);
                    var             codeFourniseur = typeFournisseur.CodeFournisseurMatierePremiere;
                    EveDecaissement decaiss        = new EveDecaissement
                    {
                        DateDecaissement = DateTime.Parse(dtpDateDecaissement.Text),
                        CodeFournisseurMatierePremiere = codeFourniseur,
                        CodeEmploye = em.CodeEmploye,
                        Description = "Paiement dette fournisseur matière première",
                        Montant     = int.Parse(txtMontantPaye.Text),
                        CodeCompte  = cpte.CodeCompte,
                    };

                    db.EveDecaissements.Add(decaiss);
                    db.SaveChanges();
                    txtMontantPaye.Clear();
                }
                else if (cbxTypeFournisseur.Text == "Fournisseur d'équipement ou entrepreneur")
                {
                    AgeAutreFournisseur typeFournisseur = db.AgeAutreFournisseurs.FirstOrDefault(f => f.NomAutreFournisseur == cbxNomFournisseur.Text);
                    var             codeFourniseur      = typeFournisseur.CodeAutreFournisseur;
                    EveDecaissement decaiss             = new EveDecaissement
                    {
                        DateDecaissement     = DateTime.Parse(dtpDateDecaissement.Text),
                        CodeAutreFournisseur = codeFourniseur,
                        CodeEmploye          = em.CodeEmploye,
                        Description          = "Paiement dette fournisseur équipements et infrastructures",
                        Montant    = int.Parse(txtMontantPaye.Text),
                        CodeCompte = cpte.CodeCompte,
                    };

                    db.EveDecaissements.Add(decaiss);
                    db.SaveChanges();
                    txtMontantPaye.Clear();
                }
                else if (cbxTypeFournisseur.Text == "Fournisseur de services ou fournitures")
                {
                    AgeFournisseursServicesFourniture typeFournisseur = db.AgeFournisseursServicesFournitures.FirstOrDefault(f => f.NomFournisseurServiceFourniture == cbxNomFournisseur.Text);
                    var             codeFourniseur = typeFournisseur.CodeFournisseurServiceFourniture;
                    EveDecaissement decaiss        = new EveDecaissement
                    {
                        DateDecaissement       = DateTime.Parse(dtpDateDecaissement.Text),
                        CodeFournisseurService = codeFourniseur,
                        CodeEmploye            = em.CodeEmploye,
                        Description            = "Paiement dette fournisseur services et fournitures",
                        Montant    = int.Parse(txtMontantPaye.Text),
                        CodeCompte = cpte.CodeCompte,
                    };

                    db.EveDecaissements.Add(decaiss);
                    db.SaveChanges();
                    txtMontantPaye.Clear();
                }
                MessageBox.Show("Le paiement du fournisseur a été effectué avec succès.");
            }
        }
コード例 #9
0
        private void BtnEnregistrerAchatEquipementInfrastructure_Click(object sender, EventArgs e)
        {
            AgeAutreFournisseur  afourIm    = db.AgeAutreFournisseurs.FirstOrDefault(af => af.NomAutreFournisseur == cbxFournisseurImmo.Text);
            AgeEmploye           emp        = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxRespImmo.Text);
            AgeEmploye           tresoriere = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxTresoriere.Text);
            ResComptesTresorerie cpte       = db.ResComptesTresoreries.FirstOrDefault(c => c.NomCompte == cbxComptePaiement.Text);

            if (Validation.VerifierChampsMontant(txtMontant1.Text) && Validation.VerifierChampsMontant(txtQuantite.Text))
            {
                ResEquipementsInfrastructure einfr = new ResEquipementsInfrastructure()
                {
                    Nom                  = txtNomEqInfr1.Text,
                    DateAcquisition      = DateTime.Parse(dtpAchatNouveauEqInf.Text),
                    DureeDeVie           = int.Parse(txtDuree1.Text),
                    MaterielDeProduction = cbxImmobilisationLieeAProduction.Checked,
                    Montant              = int.Parse(txtMontant1.Text),
                    Quantite             = int.Parse(txtQuantite.Text)
                };

                db.ResEquipementsInfrastructures.Add(einfr);
                db.SaveChanges();

                EveReceptionEquipementsInfrastructure reinfr = new EveReceptionEquipementsInfrastructure()
                {
                    CodeEquipementInfrastructure = einfr.CodeEquipementInfrastructure,
                    CodeAutreFournisseur         = afourIm.CodeAutreFournisseur,
                    CodeEmploye = emp.CodeEmploye,
                };

                db.EveReceptionEquipementsInfrastructures.Add(reinfr);
                db.SaveChanges();

                // Décaissement effectué lors de l'acquisition de l'équipement ou de l'infrastructure
                // Il s'agit ici du montant au moment d'enregistrer la transaction. Souvent, il s'agit du
                // premier accompte.

                if (int.Parse(txtMontantPaye.Text) > 0)
                {
                    if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtMontantPaye))
                    {
                        EveDecaissement decaiss = new EveDecaissement
                        {
                            CodeReceptionEquipementInfrastructure = reinfr.CodeReceptionEquipementInfrastructure,
                            CodeAutreFournisseur = afourIm.CodeAutreFournisseur,
                            Description          = "Acquisition de " + einfr.Nom,
                            DateDecaissement     = einfr.DateAcquisition,
                            CodeEmploye          = tresoriere.CodeEmploye,
                            CodeCompte           = cpte.CodeCompte,
                            Montant = int.Parse(txtMontantPaye.Text),
                        };
                        db.EveDecaissements.Add(decaiss);
                        db.SaveChanges();
                    }
                }

                MessageBox.Show("Le nouvel achat ou acquisition d'équipement ou d'infrastructure a été enregistré avec succès!");
                txtNomEqInfr1.Text  = "";
                txtDuree1.Text      = "";
                txtMontant1.Text    = "";
                txtQuantite.Text    = "1";
                txtMontantPaye.Text = "";
            }
        }