Exemplo n.º 1
0
 void SelectDatas(Depenses dep)
 {
     try
     {
         dgFinance.DataSource = dep.ListOfDepenses();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 2
0
        private void btnInscriptionDepense_Click(object sender, EventArgs e)
        {
            var toutesLesDepense = from uneDepense in dataContext.Depenses
                                   select uneDepense.No;
            int noDepense = toutesLesDepense.Max() + 1;

            if (intNoTypeEmploye == 5)
            {
                strTypeService = "Magasin Pro Shop";
            }
            else if (intNoTypeEmploye == 6)
            {
                strTypeService = "Restaurant";
            }
            else if (intNoTypeEmploye == 7)
            {
                strTypeService = "Leçon de golf";
            }
            else
            {
                strTypeService = tbService.Text;
            }


            var service = from unService in dataContext.Services
                          where unService.TypeService.Equals(strTypeService) && unService.NoEmploye.Equals(intNoEmploye)
                          select unService.No;

            var tousLesServices = from unService in dataContext.Services
                                  select unService.No;
            int noService = tousLesServices.Max() + 1;

            // MessageBox.Show("Nombre de service " + service.Count());
            if (service.Count() <= 0)
            {
                //   MessageBox.Show("Rien");
                Services insertionService = new Services
                {
                    No          = noService,
                    TypeService = strTypeService,
                    Remarque    = "",
                    NoEmploye   = intNoEmploye
                };
                dataContext.Services.InsertOnSubmit(insertionService);

                // Submit the change to the database.
                try
                {
                    // MessageBox.Show("No service " + insertionService.No + "\nType service " + insertionService.TypeService + "\nRemarque " + insertionService.Remarque + "\nNo employé " + insertionService.NoEmploye);
                    dataContext.SubmitChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Impossible de modifier la base de données (Service)");
                }
            }


            int intNoServiceDepense = 0;

            foreach (int c in service)
            {
                intNoServiceDepense = c;
            }
            MessageBox.Show("noDepense  =  " + intNoServiceDepense);


            Depenses insertionDepense = new Depenses
            {
                Remarque     = tbRemarque.Text,
                IdAbonnement = cbNomEtPrenomAbonne.SelectedValue.ToString(),
                DateDepense  = DateTime.Now,
                Montant      = nupMontant.Value,
                No           = noDepense,
                NoService    = intNoServiceDepense
            };

            dataContext.Depenses.InsertOnSubmit(insertionDepense);

            // Submit the change to the database.
            try
            {
                //   MessageBox.Show("No depense " + insertionDepense.No + "\nId abonnement " + insertionDepense.IdAbonnement + "\nRemarque " + insertionDepense.Remarque + "\nNo service " + insertionDepense.NoService);
                dataContext.SubmitChanges();
                MessageBox.Show("La dépense " + noDepense.ToString() + " a été ajoutée avec succès");
                depenseEtTouteSesInformationsDataGridView.Visible = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Impossible de modifier la base de données");
            }
            depenseEtTouteSesInformationsBindingSource.DataSource = from uneDepense in dataContext.Depenses
                                                                    join unService in dataContext.Services on uneDepense.NoService equals unService.No
                                                                    join unAbonnement in dataContext.Abonnements on uneDepense.IdAbonnement equals unAbonnement.Id
                                                                    join unEmploye in dataContext.Employes on unService.NoEmploye equals unEmploye.No
                                                                    join unTypeAbonnement in dataContext.TypesAbonnement on unAbonnement.NoTypeAbonnement equals unTypeAbonnement.No
                                                                    join unPrixDepensesAbonnements in dataContext.PrixDepensesAbonnements on unTypeAbonnement.No equals unPrixDepensesAbonnements.NoTypeAbonnement
                                                                    where uneDepense.No.Equals(noDepense)
                                                                    select new
            {
                strNomCompletAbonne   = unAbonnement.Nom + ", " + unAbonnement.Prenom,
                strDateDepense        = uneDepense.DateDepense.ToShortDateString(),
                dcmMontant            = uneDepense.Montant,
                strTypeService        = unService.TypeService,
                strNomCompletEmploye  = unEmploye.Nom + ", " + unEmploye.Prenom,
                dcmMontantDesDepenses = unPrixDepensesAbonnements.Prix,
                dcmMontantObligatoire = unPrixDepensesAbonnements.DepensesObligatoires
            };
        }
Exemplo n.º 3
0
 void Search(Depenses art)
 {
     dgFinance.DataSource = art.Research(serchTxt.Text);
 }
 public frmInformationAjoutDepense(Abonnements abonnee, Services service, Depenses depense)
 {
     InitializeComponent();
 }
        private void btnInscriptionDepense_Click(object sender, EventArgs e)
        {
            /**************************************GESTION DES SERVICES****************************************/



            int intNoEmployebaseDeDonnes = (from employeService in dataContext.Services
                                            select employeService.NoEmploye).FirstOrDefault();


            //voir le nombre de services
            int nombreService = (from employeService in dataContext.Services
                                 select employeService).Count();

            Services servicePourEmployeConnecter = new Services();

            if (noTypeEmploye == 1 || noTypeEmploye == 2 || noTypeEmploye == 3) // admin, direction ou proprietaire d'un club
            {
                cbtypeService.Enabled = true;

                if (nombreService == 0)
                {
                    servicePourEmployeConnecter.No = 1;
                }
                else
                {
                    var max = dataContext.Services.Max(em => em.No) + 1;



                    servicePourEmployeConnecter.No = max;
                }

                intnoService = servicePourEmployeConnecter.No;



                //MessageBox.Show(cbtypeService.Text);

                if (cbtypeService.Text == "Magasin Pro-Shop")
                {
                    servicePourEmployeConnecter.NoEmploye    = intNoEmploye;
                    servicePourEmployeConnecter.TypesService = cbtypeService.Text;
                }
                else if (cbtypeService.Text == "Restaurant")
                {
                    servicePourEmployeConnecter.NoEmploye    = intNoEmploye;
                    servicePourEmployeConnecter.TypesService = cbtypeService.Text;
                }
                else if (cbtypeService.Text == "Leçon de golf")
                {
                    servicePourEmployeConnecter.NoEmploye    = intNoEmploye;
                    servicePourEmployeConnecter.TypesService = cbtypeService.Text;
                }

                try
                {
                    dataContext.Services.InsertOnSubmit(servicePourEmployeConnecter);

                    dataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
                    //MessageBox.Show("Service ajoute a lemploye ajouté!", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //affichage du service de lemploye connecte
                    //   this.servicesBindingSource.DataSource = (from service in dataContext.Services
                    //                                          where service.NoEmploye == noTypeEmploye
                    //                                        select service.TypesService);
                }
                catch (ChangeConflictException)
                {
                    dataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erreur lors de l'ajout");
                }
            }
            else if (intNoEmploye != intNoEmployebaseDeDonnes) //il faut faire la verification pour que quand le meme no employe rentre il le sache pour qul ne passe pas par la
            {
                //  MessageBox.Show("employe qui sest deja connecter : " + intNoEmployeDejaConnecte.ToString());
                intNoEmployeDejaConnecte = intNoEmploye;
                //  MessageBox.Show("employe premiere fois connecter : " + intNoEmploye.ToString());


                // MessageBox.Show("type employe :"+noTypeEmploye.ToString());
                // MessageBox.Show("Employe n'existe pas!");

                // MessageBox.Show(noTypeEmploye.ToString());
                //ajout des services a lemploye qui sest connecte


                //servicePourEmployeConnecter.Employes.

                //servicePourEmployeConnecter.No = 1;

                if (noTypeEmploye == 5)
                {
                    servicePourEmployeConnecter.TypesService = "Magasin Pro-Shop";

                    //il faut generer le numero a laide dune requete

                    if (nombreService == 0)
                    {
                        servicePourEmployeConnecter.No = 1;
                    }
                    else
                    {
                        var max = dataContext.Services.Max(em => em.No) + 1;



                        servicePourEmployeConnecter.No = max;
                    }


                    // servicePourEmployeConnecter.No = 1;
                }

                else if (noTypeEmploye == 6)
                {
                    servicePourEmployeConnecter.TypesService = "Restaurant";
                    // servicePourEmployeConnecter.No = 2;

                    if (nombreService == 0)
                    {
                        servicePourEmployeConnecter.No = 1;
                    }
                    else
                    {
                        var max = dataContext.Services.Max(em => em.No) + 1;



                        servicePourEmployeConnecter.No = max;
                    }
                }

                else if (noTypeEmploye == 7)
                {
                    servicePourEmployeConnecter.TypesService = "Leçon de golf";
                    // servicePourEmployeConnecter.No = 3;

                    if (nombreService == 0)
                    {
                        servicePourEmployeConnecter.No = 1;
                    }
                    else
                    {
                        var max = dataContext.Services.Max(em => em.No) + 1;

                        //  MessageBox.Show("Maximum :"+max.ToString());

                        servicePourEmployeConnecter.No = max;
                    }
                }



                servicePourEmployeConnecter.NoEmploye = intNoEmploye; // voir avec la prof si cest lemploye qui sest connecter ou cest le type demploye

                // MessageBox.Show("no de service de la table service premiere fois:" + servicePourEmployeConnecter.No);
                try
                {
                    dataContext.Services.InsertOnSubmit(servicePourEmployeConnecter);

                    dataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
                    //MessageBox.Show("Service ajoute a lemploye ajouté!", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //affichage du service de lemploye connecte
                    this.servicesBindingSource.DataSource = (from service in dataContext.Services
                                                             where service.NoEmploye == noTypeEmploye
                                                             select service.TypesService);
                    cbtypeService.Enabled = false;
                    intnoService          = servicePourEmployeConnecter.No;
                }
                catch (ChangeConflictException)
                {
                    dataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erreur lors de l'ajout");
                }
            }
            else //si il exxiste deja
            {
                this.servicesBindingSource.DataSource = (from service in dataContext.Services
                                                         where service.NoEmploye == noTypeEmploye
                                                         select service.TypesService);
                cbtypeService.Enabled = false;
                //MessageBox.Show("le else, quand le service existe deja");



                if (noTypeEmploye == 5)
                {
                    servicePourEmployeConnecter.TypesService = "Magasin Pro-Shop";

                    //il faut generer le numero a laide dune requete

                    if (nombreService == 0)
                    {
                        servicePourEmployeConnecter.No = 1;
                    }
                    else
                    {
                        var max = dataContext.Services.Max(em => em.No) + 1;



                        servicePourEmployeConnecter.No = max;
                    }


                    // servicePourEmployeConnecter.No = 1;
                }

                else if (noTypeEmploye == 6)
                {
                    servicePourEmployeConnecter.TypesService = "Restaurant";
                    // servicePourEmployeConnecter.No = 2;

                    if (nombreService == 0)
                    {
                        servicePourEmployeConnecter.No = 1;
                    }
                    else
                    {
                        var max = dataContext.Services.Max(em => em.No) + 1;



                        servicePourEmployeConnecter.No = max;
                    }
                }

                else if (noTypeEmploye == 7)
                {
                    servicePourEmployeConnecter.TypesService = "Leçon de golf";
                    // servicePourEmployeConnecter.No = 3;

                    if (nombreService == 0)
                    {
                        servicePourEmployeConnecter.No = 1;
                    }
                    else
                    {
                        var max = dataContext.Services.Max(em => em.No) + 1;

                        //  MessageBox.Show("Maximum :"+max.ToString());

                        servicePourEmployeConnecter.No = max;
                    }
                }
                intnoService = servicePourEmployeConnecter.No;
                servicePourEmployeConnecter.NoEmploye = intNoEmploye;

                //   MessageBox.Show("no de service de la table service quand il exixte deja :" + servicePourEmployeConnecter.No);
                try
                {
                    dataContext.Services.InsertOnSubmit(servicePourEmployeConnecter);

                    dataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
                    //MessageBox.Show("Service ajoute a lemploye ajouté!", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (ChangeConflictException)
                {
                    dataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erreur lors de l'ajout");
                }
            }



            /**************************************AJOUT DE LA DEPENSE****************************************/
            using (var porteeTransaction = new TransactionScope())
            {
                Depenses nouvelleDepense = new Depenses();

                //voir le nombre de Depense
                int nombreDepenses = (from depense in dataContext.Depenses
                                      select depense).Count();

                // MessageBox.Show("nb depenses :" + nombreDepenses.ToString());
                if (nombreDepenses == 0)
                {
                    nouvelleDepense.No = 1;
                }
                else
                {
                    var max = dataContext.Depenses.Max(em => em.No) + 1;



                    nouvelleDepense.No = max;
                }


                nouvelleDepense.IdAbonnement = cbClient.SelectedValue.ToString();

                nouvelleDepense.DateDepense = DateTime.Now;

                nouvelleDepense.Montant = Convert.ToInt32(ndMontant.Value);

                nouvelleDepense.NoService = intnoService;
                // MessageBox.Show("Numero de service dans la table service: " + intnoService.ToString());
                //MessageBox.Show("noservice de la table depense :" + nouvelleDepense.NoService);
                //  MessageBox.Show("Depense qui est ajoute\n\nNo: " + nouvelleDepense.No+"\nId abonnement: "+ nouvelleDepense.IdAbonnement+"\nDateDepense: " + nouvelleDepense.DateDepense+"\nMontant: "+ nouvelleDepense.Montant+"\nNoService :" + nouvelleDepense.NoService);
                try
                {
                    dataContext.Depenses.InsertOnSubmit(nouvelleDepense);
                    dataContext.SubmitChanges(ConflictMode.ContinueOnConflict);



                    MessageBox.Show("La dépense à été ajouté! Voici les informations sur la dépense.", "Ajout",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information,
                                    MessageBoxDefaultButton.Button1);
                    //  informationDepense.ShowDialog();
                    //chercher labonne qui a ete enregistrer
                    //chercher ses depenses(en decimal)
                    //chercher ses depeneses maximal
                    //affficher toutes les informations dans des labels sur le meme formulaire
                    //MessageBox.Show(cbClient.SelectedItem.ToString());
                    // le nom de l’abonné principal
                    string prenomAbonneeDepenses = (from abonneeDepense in dataContext.Abonnements
                                                    //where abonneeDepense.Prenom
                                                    select abonneeDepense.Prenom).FirstOrDefault();
                    //la date de la dépense
                    string dateDepense = (from date in dataContext.Depenses
                                          select date.DateDepense).FirstOrDefault().ToString();

                    // le montant de la dépense
                    decimal montantDepense = (from montant in dataContext.Depenses
                                              where montant.Montant == ndMontant.Value
                                              select montant.Montant).FirstOrDefault();


                    //le type de service
                    string typeServiceDepense = cbtypeService.Text;

                    // le nom complet de l’employé ayant offert le service
                    string prenomCompletEmployeOffertService = (from employe in dataContext.Employes
                                                                where employe.No == intNoEmploye
                                                                select employe.Prenom).FirstOrDefault().ToString();

                    string nomCompletEmployeOffertService = (from employe in dataContext.Employes
                                                             where employe.No == intNoEmploye
                                                             select employe.Nom).FirstOrDefault().ToString();

                    //le montant des dépenses déjà effectuées **pour lannee courante
                    var montantDepenseDejaEffectue = (from abonneeMontantDepense in dataContext.Depenses
                                                      where abonneeMontantDepense.IdAbonnement == cbClient.SelectedValue.ToString()
                                                      where abonneeMontantDepense.DateDepense == DateTime.Now
                                                      select abonneeMontantDepense.Montant);

                    decimal montantDejaEffectue = Convert.ToDecimal(montantDepenseDejaEffectue.Sum());

                    //pour atteindre la somme exigée par l’abonnement

                    string idAbonnement = (from abonnement in dataContext.Abonnements
                                           where abonnement.Id == cbClient.SelectedValue.ToString()
                                           select abonnement.NoTypeAbonnement).FirstOrDefault().ToString();



                    //  string typeSommeExigeeAbonnement = (from montant in dataContext.PrixDepensesAbonnements
                    //                                     where montant.NoTypeAbonnement == Convert.ToInt32(idAbonnement)
                    //                                   select montant.Prix).FirstOrDefault().ToString();

                    decimal montantObligatoire = (from montant in dataContext.PrixDepensesAbonnements
                                                  where montant.NoTypeAbonnement == Convert.ToInt32(idAbonnement)
                                                  select montant.Prix).FirstOrDefault();

                    decimal montantQuiLuiManque = montantObligatoire - montantDejaEffectue;

                    //   MessageBox.Show("Information de la depense\n\nAbonnee qui a la depense : "+ prenomAbonneeDepenses.ToString()+"\nDate de la depense :"+dateDepense+"\nMontant de la depense :"+montantDepense.ToString()+"\nType de service :"+typeServiceDepense+"\nNom complet offre service :"+nomCompletEmployeOffertService+"\nMontant depenses deja effectue :"+montantDejaEffectue.ToString());
                    // MessageBox.Show(idAbonnement.ToString());
                    // MessageBox.Show(montantObligatoire.ToString());

                    tbNomComplet.Text          = cbClient.Text.ToString();
                    tbDateDepense.Text         = dateDepense;
                    tbTypeServicee.Text        = typeServiceDepense;
                    tbMontantdepensee.Text     = montantDepense.ToString();
                    tbEmployeOffreService.Text = prenomAbonneeDepenses + ", " + nomCompletEmployeOffertService;
                    tbMontanDejaEffectue.Text  = montantDejaEffectue.ToString();
                    tbRestantAtteindre.Text    = montantQuiLuiManque.ToString();

                    groupBox2.Enabled = true;


                    porteeTransaction.Complete();
                    // this.Hide();
                }
                catch (ChangeConflictException)
                {
                    dataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues);
                    MessageBox.Show("La valeur de la base de donnée est gardée!", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erreur lors de l'ajout");
                }
            }
        }