private InformationDepenses InfoDepense() { decimal montantEff = dataContext.Depenses.Where(v => v.IdAbonnement.Equals(depenseInfo.IdAbonnement)).Sum(s => s.Montant); PrixDepensesAbonnement prixExiger = dataContext.PrixDepensesAbonnements.Where(c => c.TypesAbonnement.Equals(depenseInfo.Abonnement.TypesAbonnement)).First(); decimal calculExiger = prixExiger.DepensesObligatoires - montantEff; if (calculExiger < 0) { calculExiger = 0; } InformationDepenses unInfoDepenses = new InformationDepenses { montantEffectuer = montantEff, montantExiger = calculExiger, nomCompletEmploye = depenseInfo.Service.Employe.Nom + ", " + depenseInfo.Service.Employe.Prenom, typeService = depenseInfo.Service.TypeService, montant = depenseInfo.Montant, dateDepense = depenseInfo.DateDepense, nomCompletAbPrincipal = depenseInfo.Abonnement.Nom + ", " + depenseInfo.Abonnement.Prenom }; lblDateDepense.Text = unInfoDepenses.dateDepense.ToShortDateString(); return(unInfoDepenses); }
private void btnEnregistrer_Click(object sender, EventArgs e) { if (this.ValidateChildren(ValidationConstraints.ImmediateChildren)) { using (var porteeTransaction = new TransactionScope()) { try { foreach (DataGridViewRow dr in dgModPrixDep.Rows) { List <PrixDepensesAbonnement> lst = dataContext.PrixDepensesAbonnements.Where(v => v.NoTypeAbonnement.Equals(dr.Cells["no"].Value)).ToList(); var nouveauPrixDepenseAbon = new PrixDepensesAbonnement { NoTypeAbonnement = Convert.ToInt32(dr.Cells["no"].Value), Annee = Convert.ToInt32(DateTime.Now.Year.ToString()), Prix = Convert.ToDecimal(dr.Cells["prix"].Value), DepensesObligatoires = Convert.ToDecimal(dr.Cells["depensesObligatoires"].Value), Remarque = "" }; dataContext.PrixDepensesAbonnements.InsertOnSubmit(nouveauPrixDepenseAbon); } dataContext.SubmitChanges(ConflictMode.ContinueOnConflict); MessageBox.Show("Les prix et les dépenses ont étés modifiés pour l'année " + DateTime.Now.Year + "\n\nLes prochaines modifications pourront être effectué en 2019 ", "Enregistrement des prix et des dépenses"); porteeTransaction.Complete(); dgModPrixDep.ReadOnly = true; btnEnregistrer.Enabled = false; } catch (ChangeConflictException) { dataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues); } catch (Exception ex) { MessageBox.Show(ex.Message, "Impossible de modifier la base de donnée"); } } } }