示例#1
0
        private void EnregistrerEncaissement()
        {
            var employe = cbxResponsableTransaction.GetItemText(cbxResponsableTransaction.SelectedItem);
            var compte  = cbxCompteCrediteur.GetItemText(cbxCompteCrediteur.SelectedItem);

            if (Validation.MontantEstValide(txtMontantEncaisse.Text) && ChampDescriptionEstRempli())
            {
                EveEncaissement enc = new EveEncaissement
                {
                    CodeEmploye = (from emp in db.AgeEmployes where emp.PrenomNom == employe select emp.CodeEmploye).FirstOrDefault(),
                    CodeCompte  = (from cpte in db.ResComptesTresoreries where cpte.NomCompte == compte select cpte.CodeCompte).FirstOrDefault()
                };

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

                EveEncaissementsAutre autreEnc = new EveEncaissementsAutre
                {
                    CodeEncaissement = enc.CodeEncaissement,
                    DateEncaissement = dtpDateEncaissement.Value.Date,
                    Description      = txtDescription.Text,
                    MontantEncaisse  = int.Parse(txtMontantEncaisse.Text),
                    FondsExternes    = true
                };

                db.EveEncaissementsAutres.Add(autreEnc);
                db.SaveChanges();
                MessageBox.Show("L'encaissement de fonds a été enregistré avec succès.");
                txtDescription.Clear();
                txtMontantEncaisse.Clear();
            }
            else
            {
                MessageBox.Show("L'encaissement n'a pas été enregistré.");
            }
        }
        private void BtnEnregistrerTransfert_Click(object sender, EventArgs e)
        {
            var codeCpteDebiteur  = int.Parse(cbxCompteDebit.SelectedValue.ToString());
            var codeCpteCrediteur = int.Parse(cbxCompteCredit.SelectedValue.ToString());

            var employe     = cbxEmploye.GetItemText(cbxEmploye.SelectedItem);
            var codeEmploye = (from em in db.AgeEmployes
                               where em.PrenomNom == employe
                               select em.CodeEmploye).FirstOrDefault();

            if (Validation.MontantEstValide(txtMontant.Text))
            {
                if (ComptesDifferents(codeCpteDebiteur, codeCpteCrediteur))
                {
                    if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxCompteDebit, txtMontant))
                    {
                        if (txtDescription.Text.Trim().Length > 0)
                        {
                            EveDecaissement decaissement = new EveDecaissement
                            {
                                DateDecaissement    = dtpDateOperation.Value.Date,
                                Description         = txtDescription.Text,
                                Montant             = int.Parse(txtMontant.Text),
                                DecaissementInterne = true,
                                CodeEmploye         = codeEmploye,
                                CodeCompte          = codeCpteDebiteur
                            };

                            db.EveDecaissements.Add(decaissement);
                            db.SaveChanges();

                            EveEncaissement encaissement = new EveEncaissement
                            {
                                CodeCompte  = codeCpteCrediteur,
                                CodeEmploye = codeEmploye,
                            };

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

                            EveEncaissementsAutre autreEnc = new EveEncaissementsAutre
                            {
                                CodeEncaissement = encaissement.CodeEncaissement,
                                DateEncaissement = dtpDateOperation.Value.Date,
                                Description      = txtDescription.Text,
                                MontantEncaisse  = int.Parse(txtMontant.Text)
                            };

                            db.EveEncaissementsAutres.Add(autreEnc);
                            db.SaveChanges();

                            var cpteDebiteur  = cbxCompteDebit.GetItemText(cbxCompteDebit.SelectedText);
                            var cpteCrediteur = cbxCompteCredit.GetItemText(cbxCompteCredit.SelectedText);

                            MessageBox.Show($"Le transfert de fonds du compte {cpteDebiteur} au compte {cpteCrediteur} a été enregistré avec succès.");
                            txtDescription.Clear();
                            txtMontant.Clear();

                            Tresorerie.AfficherSoldeTresorerie(cbxCompteDebit, txtSoldeCompte);
                        }
                        else
                        {
                            MessageBox.Show("Veuillez ajouter une description à ce mouvement de compte à compte.");
                            return;
                        }
                    }
                }
            }
        }
示例#3
0
        // METHODES DE MISE A JOUR DES VENTES
        //
        private void MettreVenteAJour(int codeVente)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    EveVente vente = db.EveVentes.FirstOrDefault(v => v.CodeVente == codeVente);
                    EveEncaissementsVente encaissementVente = db.EveEncaissementsVentes.Where(v => v.CodeVente == codeVente).FirstOrDefault();


                    for (int i = 0; i < lvwPanier.Items.Count; i++)
                    {
                        string produit     = lvwPanier.Items[i].SubItems[0].Text;
                        string quantite    = lvwPanier.Items[i].SubItems[1].Text;
                        string montantText = lvwPanier.Items[i].SubItems[3].Text;
                        int    montant     = int.Parse(Conversion.EnleverEspaces(montantText));

                        if (ProduitDansLePanierInitial(codeVente, produit))
                        {
                            GestionVentes.MettreAJourVenteDUnProduit(codeVente, produit, quantite, montant.ToString());
                        }
                        else
                        {
                            GestionVentes.EnregistrerNouvelleVenteDUnProduit(codeVente, produit, quantite, montant.ToString());
                        }
                    }

                    var montantPaye = Conversion.EnleverEspaces(txtMontantPaye.Text);


                    if (IlYaEuEncaissementDeVente(codeVente))
                    {
                        int codeCompte = int.Parse(cbxListeComptes.SelectedValue.ToString());

                        if (encaissementVente.EveEncaissement.CodeCompte != codeCompte)
                        {
                            var encaissement = encaissementVente.EveEncaissement;
                            encaissement.CodeCompte = codeCompte;
                            db.SaveChanges();
                        }

                        // Le client a changé
                        if (int.Parse(cbxListeClients.SelectedValue.ToString()) != vente.CodeClient)
                        {
                            vente.CodeClient = int.Parse(cbxListeClients.SelectedValue.ToString());
                            db.SaveChanges();
                        }


                        if (Validation.VerifierChampsMontant(montantPaye))
                        {
                            if (MontantPaye(codeVente) != decimal.Parse(montantPaye))
                            {
                                GestionVentes.MettreEncaissementVenteAJour(codeVente, decimal.Parse(montantPaye), codeCompte);
                            }
                        }
                    }
                    else
                    {
                        if (Validation.VerifierChampsMontant(montantPaye) && decimal.Parse(montantPaye) > 0)
                        {
                            EveEncaissement encaisement = new EveEncaissement
                            {
                                CodeCompte  = int.Parse(cbxListeComptes.SelectedValue.ToString()),
                                CodeEmploye = 6, // Maimouna par defaut
                            };

                            db.EveEncaissements.Add(encaisement);

                            EveEncaissementsVente newEncaissement = new EveEncaissementsVente
                            {
                                DateEncaissement = dtpDateVente.Value.Date,
                                CodeVente        = vente.CodeVente,
                                CodeEncaissement = encaisement.CodeEncaissement,
                                CodeClient       = int.Parse(cbxListeClients.SelectedValue.ToString()),
                                MontantEncaisse  = decimal.Parse(montantPaye)
                            };

                            db.EveEncaissementsVentes.Add(newEncaissement);
                            db.SaveChanges();
                        }
                    }
                    MessageBox.Show("Transaction mise à jour.");
                }
                catch (Exception)
                {
                    MessageBox.Show("Erreur! La transaction n'a pas été mise à jour.");
                }
            }
        }