private void btnAjout_Click(object sender, EventArgs e) { bool ajouterReabonnement=true; if (this.ValidateChildren()) { int trouver=0; var service = from unService in dataContexteProjet1.Services where unService.NoEmploye == noEmploye && unService.TypeService == txtService.Text group unService by unService.No into serviceTrouver let nb = serviceTrouver.Count() select new {nb}; foreach (var unChiffre in service) { trouver = unChiffre.nb; } if (trouver == 0) { var serviceM = from unService in dataContexteProjet1.Services group unService by unService.No into toutServices let nb = toutServices.Max(x => x.No) select new { nb }; foreach (var unChiffre in serviceM) { nbServiceID = unChiffre.nb + 1; } Services services = new Services(); services.No = nbServiceID; services.NoEmploye = employe.No; services.TypeService = txtService.Text; dataContexteProjet1.Services.InsertOnSubmit(services); } else { var noService = from unService in dataContexteProjet1.Services where unService.TypeService == txtService.Text && unService.NoEmploye == employe.No select new {unService.No}; foreach (var unChiffre in noService) { nbServiceID = unChiffre.No; } } var abonnementAnnee = from unAbonnement in dataContexteProjet1.Abonnements where unAbonnement.Id == cbAbonnement.SelectedValue select new { unAbonnement.DateAbonnement }; int anneeAbonnement = 2000; foreach(var annee in abonnementAnnee){ DateTime d = annee.DateAbonnement; anneeAbonnement = d.Year; } int anneeAbonnementReabonnement = 100; if(anneeAbonnement!=DateTime.Now.Year){ var reabonnementAnnee = from unReabonnement in dataContexteProjet1.Reabonnements where unReabonnement.IdAbonnement == cbAbonnement.SelectedValue select new { unReabonnement.DateRenouvellement }; foreach(var annee in reabonnementAnnee){ DateTime d = annee.DateRenouvellement; if (anneeAbonnementReabonnement < d.Year) { anneeAbonnementReabonnement = d.Year; } } if (anneeAbonnementReabonnement < DateTime.Now.Year) { ajouterReabonnement = false; } } if (ajouterReabonnement) { Depenses depense = new Depenses(); depense.No = int.Parse(noTextBox.Text); depense.NoService = nbServiceID; depense.IdAbonnement = cbAbonnement.SelectedValue.ToString(); depense.Montant = decimal.Parse(montantTextBox.Text); depense.DateDepense = dateDepenseDateTimePicker.Value; depense.Remarque = remarqueTextBox.Text; dataContexteProjet1.Depenses.InsertOnSubmit(depense); try { dataContexteProjet1.SubmitChanges(); if (anneeAbonnement != DateTime.Now.Year) { decimal montant = 0; var depenseFaite= from uneDepense in dataContexteProjet1.Depenses where uneDepense.IdAbonnement==cbAbonnement.SelectedValue && uneDepense.DateDepense.Year==anneeAbonnementReabonnement group uneDepense by uneDepense.No into lesDepenses let depenseTotal = lesDepenses.Sum(x=>x.Montant) select new{depenseTotal}; foreach(var maDepenseTotal in depenseFaite){ montant += maDepenseTotal.depenseTotal; } int monTypeAbonnement = 0; var typeAbonnement = from unAbonnement in dataContexteProjet1.Abonnements where unAbonnement.Id == cbAbonnement.SelectedValue select new { unAbonnement.NoTypeAbonnement }; foreach(var unAbonnement in typeAbonnement){ monTypeAbonnement = unAbonnement.NoTypeAbonnement; } var prixAbonnement = from depenseAbonnement in dataContexteProjet1.PrixDepensesAbonnements where depenseAbonnement.NoTypeAbonnement == monTypeAbonnement orderby depenseAbonnement.Annee descending select new { depenseAbonnement.DepensesObligatoires }; decimal prixDepensesObligatoire = prixAbonnement.First().DepensesObligatoires; decimal montantDepenseRestantAFaire = 0; if(prixDepensesObligatoire>montant){ montantDepenseRestantAFaire = prixDepensesObligatoire - montant; } string courriel=""; string nom = ""; string prenom = ""; var courrielAbonnement = from unAbonnement in dataContexteProjet1.Abonnements where unAbonnement.Id == cbAbonnement.SelectedValue select new { unAbonnement.Courriel,unAbonnement.Nom,unAbonnement.Prenom}; foreach (var unCourriel in courrielAbonnement) { courriel = unCourriel.Courriel; nom = unCourriel.Nom; prenom = unCourriel.Prenom; } String mail = ""; mail += "------------Depense Effectué---------------\r\n"; mail += "La date de la dépense effectué: "+dateDepenseDateTimePicker.Value.ToString()+"\r\n"; mail += "Montant total des dépenses déjà effectué: "+montant.ToString("0.00")+"$\r\n"; mail += "Montant qu'il reste à faire des dépenses qu'il reste à faire cette année: " + montantDepenseRestantAFaire.ToString("0.00") + "$\r\n\r\n"; mail += "Vous avez été servi par : "+employe.Prenom+" "+employe.Nom+"\r\n"; mail += "Le service rendu : "+txtService.Text+"\r\n"; mail += "Pour tout autres problèmes veillez contactez au : 514 888-8275\r\n"; Email.SendGMail(Resources.SujetMailAbonnement, mail, employe.Prenom + " " + employe.Nom, courriel, prenom + " " +nom); } MessageBox.Show(Resources.EnvoiCourrielMessage, Resources.EnvoieCourrielReussi); this.Close(); } catch (DBConcurrencyException erreur) { MessageBox.Show(Resources.ConflitAccesConcurrentiel, Resources.TitreErreur); } catch(Exception errrr){ MessageBox.Show("un probleme!"); }; } else { MessageBox.Show(Resources.AbonneReabonnementErreur, Resources.TitreErreur); } } }
partial void DeleteServices(Services instance);
partial void UpdateServices(Services instance);
partial void InsertServices(Services instance);
private void detach_Services(Services entity) { this.SendPropertyChanging(); entity.Employes = null; }
private void attach_Services(Services entity) { this.SendPropertyChanging(); entity.Employes = this; }