private void MiseAJourMandatement(bool Isvalide) { CsMandatementGc CampAnSelectioner = new CsMandatementGc(); CampAnSelectioner = (CsMandatementGc)dg_Campagne.SelectedItem; var datasource = (List <CsDetailMandatementGc>)dg_facture.ItemsSource; UpdateDataSource(Isvalide, datasource); var MandatementGc = ListMandatementGc.FirstOrDefault(m => m.FK_IDMANDATEMANT == CampAnSelectioner.PK_ID); if (MandatementGc == null) { var Mandatement = new CsPaiementGc { FK_IDMANDATEMANT = CampAnSelectioner.PK_ID, MONTANT = datasource.Where(f => f.IsMontantValide == true).Sum(dm => dm.MONTANT), DATECREATION = DateTime.Now, DATEMODIFICATION = DateTime.Now, USERCREATION = UserConnecte.matricule, USERMODIFICATION = UserConnecte.matricule, NUMEROMANDATEMENT = txt_Numdeataire.Text }; List <CsDetailPaiementGc> DETAILMANDATEMENTGC_ = new List <CsDetailPaiementGc>(); foreach (var item in datasource) { if (item.IsMontantValide == true) { CsDetailPaiementGc DetailMandatement = new CsDetailPaiementGc(); DetailMandatement.CENTRE = item.CENTRE; DetailMandatement.CLIENT = item.CLIENT; DetailMandatement.ORDRE = item.ORDRE; DetailMandatement.DATECREATION = DateTime.Now; DetailMandatement.DATEMODIFICATION = DateTime.Now; DetailMandatement.FK_IDPAIEMENTCAMPAGNEGC = Mandatement.PK_ID; DetailMandatement.MONTANT = item.MONTANT; //DetailMandatement.MONTANT_REGLER = DetailMandatement.MONTANT; //DetailMandatement.MONTANT_VERSER = DetailMandatement.MONTANT; //DetailMandatement.MONTANT_RESTANT = 0; DetailMandatement.NDOC = item.NDOC; DetailMandatement.PERIODE = item.PERIODE; DetailMandatement.STATUS = item.STATUS; DetailMandatement.USERCREATION = UserConnecte.matricule; DetailMandatement.USERMODIFICATION = UserConnecte.matricule; DETAILMANDATEMENTGC_.Add(DetailMandatement); } } Mandatement.DETAILCAMPAGNEGC_ = DETAILMANDATEMENTGC_; ListMandatementGc.Add(Mandatement); } else { MandatementGc.MONTANT = datasource.Where(f => f.IsMontantValide == true).Sum(dm => dm.MONTANT); MandatementGc.NUMEROMANDATEMENT = txt_Numdeataire.Text; List <CsDetailPaiementGc> DETAILMANDATEMENTGC_ = new List <CsDetailPaiementGc>(); foreach (var item in datasource) { if (item.IsMontantValide == true) { CsDetailPaiementGc DetailMandatement = new CsDetailPaiementGc(); DetailMandatement.CENTRE = item.CENTRE; DetailMandatement.CLIENT = item.CLIENT; DetailMandatement.ORDRE = item.ORDRE; DetailMandatement.DATECREATION = DateTime.Now; DetailMandatement.DATEMODIFICATION = DateTime.Now; DetailMandatement.FK_IDPAIEMENTCAMPAGNEGC = MandatementGc.PK_ID; DetailMandatement.MONTANT = item.MONTANT; //DetailMandatement.MONTANT_REGLER = DetailMandatement.MONTANT; //DetailMandatement.MONTANT_VERSER = DetailMandatement.MONTANT; //DetailMandatement.MONTANT_RESTANT = 0; DetailMandatement.NDOC = item.NDOC; DetailMandatement.PERIODE = item.PERIODE; DetailMandatement.STATUS = item.STATUS; DetailMandatement.USERCREATION = UserConnecte.matricule; DetailMandatement.USERMODIFICATION = UserConnecte.matricule; DETAILMANDATEMENTGC_.Add(DetailMandatement); } } MandatementGc.DETAILCAMPAGNEGC_ = DETAILMANDATEMENTGC_; var mand = ListMandatementGc.FirstOrDefault(m => m.PK_ID == MandatementGc.PK_ID); var index = ListMandatementGc.IndexOf(mand); ListMandatementGc[index] = MandatementGc; } txt_Montant_Mandatement.Text = datasource.Where(f => f.IsMontantValide == true).Sum(dm => dm.MONTANT).ToString(); }
//private void MiseAjourCompt(decimal? Monant, int Id) //{ // Galatee.Silverlight.ServiceRecouvrement.RecouvrementServiceClient service = new Galatee.Silverlight.ServiceRecouvrement.RecouvrementServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Recouvrement")); // service.MiseAjourComptCompleted += (s, args) => // { // if (args != null && args.Cancelled) // return; // if (args.Result == null) // return; // Message.Show("Mise à jour effectuée avec succès", "Resultat"); // Dictionary<string, string> param = new Dictionary<string, string>(); // Utility.ActionDirectOrientation<ServicePrintings.CsLclient, ServiceRecouvrement.CsLclient>(args.Result, param, SessionObject.CheminImpression, "MiseAJourGrandCompte", "Recouvrement", true); // List<int> id = new List<int>(); // id.Add(Id); // EnvoyerDemandeEtapeSuivante(id); // return; // }; // service.MiseAjourComptAsync(Monant, Id); //} #endregion #region Methodes private void MiseAJourMandatement(bool Isvalide, List <CsDetailMandatementGc> ItemsSource = null) { //Recuperation du mandatement selectionné CsMandatementGc CampAnSelectioner = new CsMandatementGc(); CampAnSelectioner = (CsMandatementGc)dg_Campagne.SelectedItem; //Recupération des factures pris en compte dans le lettrage var datasource = ItemsSource == null ? (List <CsDetailMandatementGc>)dg_facture.ItemsSource : ItemsSource; //Mise à jour UpdateDataSource(Isvalide, datasource); //Récupération du mandatement var MandatementGc = ListMandatementGc.FirstOrDefault(m => m.FK_IDMANDATEMANT == CampAnSelectioner.PK_ID); if (MandatementGc == null) { //Création d'une instance de d'objet de paiement var Mandatement = new CsPaiementGc { FK_IDMANDATEMANT = CampAnSelectioner.PK_ID, NUMEROMANDATEMENT = CampAnSelectioner.NUMEROMANDATEMENT, MONTANT = datasource.Where(f => f.MONTANT_REGLER != 0).Sum(dm => dm.MONTANT_REGLER), DATECREATION = DateTime.Now, DATEMODIFICATION = DateTime.Now, USERCREATION = UserConnecte.matricule, USERMODIFICATION = UserConnecte.matricule, NumAvisCredit = txt_Avis_Credit.Text, TYPE_PAIEMENT = rbt_ht.IsChecked == true?"0":rbt_ttc.IsChecked == true?"1":(rbt_ttc.IsChecked == true?"2":"0"), EST_MIS_A_JOUR = false }; //Création des détail de paiement List <CsDetailPaiementGc> DETAILMANDATEMENTGC_ = new List <CsDetailPaiementGc>(); foreach (var item in datasource) { if (item.IsMontantValide == true) { CsDetailPaiementGc DetailMandatement = new CsDetailPaiementGc(); DetailMandatement.CENTRE = item.CENTRE; DetailMandatement.CLIENT = item.CLIENT; DetailMandatement.ORDRE = item.ORDRE; DetailMandatement.DATECREATION = DateTime.Now; DetailMandatement.DATEMODIFICATION = DateTime.Now; DetailMandatement.FK_IDPAIEMENTCAMPAGNEGC = Mandatement.PK_ID; DetailMandatement.MONTANT = item.MONTANT_REGLER; DetailMandatement.NDOC = item.NDOC; DetailMandatement.PERIODE = item.PERIODE; DetailMandatement.STATUS = item.STATUS; DetailMandatement.USERCREATION = UserConnecte.matricule; DetailMandatement.USERMODIFICATION = UserConnecte.matricule; DETAILMANDATEMENTGC_.Add(DetailMandatement); } } //Mise à jour des detail de paiement dans l'objet de paiement Mandatement.DETAILCAMPAGNEGC_ = DETAILMANDATEMENTGC_; //Mise à jour de la liste des paiement pris en compte ListMandatementGc.Add(Mandatement); } else { MandatementGc.MONTANT = datasource.Where(f => f.IsMontantValide == true).Sum(dm => dm.MONTANT_REGLER); MandatementGc.NUMEROMANDATEMENT = txt_Numdeataire.Text; List <CsDetailPaiementGc> DETAILMANDATEMENTGC_ = new List <CsDetailPaiementGc>(); foreach (var item in datasource) { if (item.IsMontantValide == true) { CsDetailPaiementGc DetailMandatement = new CsDetailPaiementGc(); DetailMandatement.CENTRE = item.CENTRE; DetailMandatement.CLIENT = item.CLIENT; DetailMandatement.ORDRE = item.ORDRE; DetailMandatement.DATECREATION = DateTime.Now; DetailMandatement.DATEMODIFICATION = DateTime.Now; DetailMandatement.FK_IDPAIEMENTCAMPAGNEGC = MandatementGc.PK_ID; DetailMandatement.MONTANT = item.MONTANT_REGLER; //DetailMandatement.MONTANT_REGLER = DetailMandatement.MONTANT; //DetailMandatement.MONTANT_VERSER = DetailMandatement.MONTANT; //DetailMandatement.MONTANT_RESTANT = 0; DetailMandatement.NDOC = item.NDOC; DetailMandatement.PERIODE = item.PERIODE; DetailMandatement.STATUS = item.STATUS; DetailMandatement.USERCREATION = UserConnecte.matricule; DetailMandatement.USERMODIFICATION = UserConnecte.matricule; DETAILMANDATEMENTGC_.Add(DetailMandatement); } } MandatementGc.DETAILCAMPAGNEGC_ = DETAILMANDATEMENTGC_; var mand = ListMandatementGc.FirstOrDefault(m => m.PK_ID == MandatementGc.PK_ID); var index = ListMandatementGc.IndexOf(mand); ListMandatementGc[index] = MandatementGc; } var dg_factureItemsSource = ((List <CsDetailMandatementGc>)dg_facture.ItemsSource).Where(f => !datasource.Select(c => c.NDOC).Contains(f.NDOC)); var Montant_Regle = dg_factureItemsSource.Where(f => f.MONTANT_REGLER != 0).Sum(dm => dm.MONTANT_REGLER); var Montant_Restant = dg_factureItemsSource.Where(f => f.MONTANT_RESTANT != 0).Sum(dm => dm.MONTANT_RESTANT); var Montant_TVA = dg_factureItemsSource.Where(f => f.MONTANTTVA != 0).Sum(dm => dm.MONTANTTVA); var Montant_TTC = dg_factureItemsSource.Where(f => f.MONTANT != 0).Sum(dm => dm.MONTANT); txt_Montant_Regle.Text = (datasource.Where(f => f.MONTANT_REGLER != 0).Sum(dm => dm.MONTANT_REGLER) + Montant_Regle).ToString(); txt_Montant_Restant.Text = (datasource.Where(f => f.MONTANT_RESTANT != 0).Sum(dm => dm.MONTANT_RESTANT) + Montant_Restant).ToString(); txt_Montant_TVA.Text = (datasource.Where(f => f.MONTANTTVA != 0).Sum(dm => dm.MONTANTTVA) + Montant_TVA).ToString(); txt_Montant_HT.Text = (datasource.Where(f => f.MONTANT != 0).Sum(dm => dm.MONTANT) + Montant_TTC).ToString(); }
private void dg_facture_CellEditEnded(object sender, DataGridCellEditEndedEventArgs e) { var DetailCampagne = (CsDetailCampagneGc)dg_facture.SelectedItem; if (DetailCampagne != null) { if (DetailCampagne.MONTANT_VERSER > DetailCampagne.MONTANT_RESTANT) { Message.ShowWarning("Le montant du mandatement doit être inférieur ou egale au montant restant à payer", "Avertissement"); var DataSource = (List <CsDetailCampagneGc>)dg_facture.ItemsSource; int index = DataSource.IndexOf(DetailCampagne); DetailCampagne.MONTANT_VERSER = 0; DataSource[index] = DetailCampagne; dg_facture.ItemsSource = DataSource.OrderBy(d => d.NOM).ToList(); } else { CsMandatementGc CampAnSelectioner = new CsMandatementGc(); CampAnSelectioner = (CsMandatementGc)dg_Campagne.SelectedItem; var datasource = (List <CsDetailMandatementGc>)dg_facture.ItemsSource; txt_Montant_Mandatement.Text = datasource.Sum(dm => dm.MONTANT_VERSER).ToString(); var MandatementGc = ListMandatementGc.FirstOrDefault(m => m.FK_IDMANDATEMANT == CampAnSelectioner.PK_ID); if (MandatementGc == null) { var Mandatement = new CsPaiementGc { FK_IDMANDATEMANT = CampAnSelectioner.PK_ID, MONTANT = datasource.Sum(dm => dm.MONTANT_VERSER), DATECREATION = DateTime.Now, DATEMODIFICATION = DateTime.Now, USERCREATION = UserConnecte.matricule, USERMODIFICATION = UserConnecte.matricule, NUMEROMANDATEMENT = txt_Numdeataire.Text }; List <CsDetailPaiementGc> DETAILMANDATEMENTGC_ = new List <CsDetailPaiementGc>(); foreach (var item in datasource) { if (item.MONTANT_VERSER != null && item.MONTANT_VERSER > 0) { CsDetailPaiementGc DetailMandatement = new CsDetailPaiementGc(); DetailMandatement.CENTRE = item.CENTRE; DetailMandatement.CLIENT = item.CLIENT; DetailMandatement.ORDRE = item.ORDRE; DetailMandatement.DATECREATION = DateTime.Now; DetailMandatement.DATEMODIFICATION = DateTime.Now; DetailMandatement.FK_IDPAIEMENTCAMPAGNEGC = Mandatement.PK_ID; DetailMandatement.MONTANT = item.MONTANT_VERSER; DetailMandatement.NDOC = item.NDOC; DetailMandatement.PERIODE = item.PERIODE; DetailMandatement.STATUS = item.STATUS; DetailMandatement.USERCREATION = UserConnecte.matricule; DetailMandatement.USERMODIFICATION = UserConnecte.matricule; DETAILMANDATEMENTGC_.Add(DetailMandatement); } } Mandatement.DETAILCAMPAGNEGC_ = DETAILMANDATEMENTGC_; ListMandatementGc.Add(Mandatement); } else { MandatementGc.MONTANT = datasource.Sum(dm => dm.MONTANT_VERSER); MandatementGc.NUMEROMANDATEMENT = txt_Numdeataire.Text; List <CsDetailPaiementGc> DETAILMANDATEMENTGC_ = new List <CsDetailPaiementGc>(); foreach (var item in datasource) { if (item.MONTANT_VERSER != null && item.MONTANT_VERSER > 0) { CsDetailPaiementGc DetailMandatement = new CsDetailPaiementGc(); DetailMandatement.CENTRE = item.CENTRE; DetailMandatement.CLIENT = item.CLIENT; DetailMandatement.ORDRE = item.ORDRE; DetailMandatement.DATECREATION = DateTime.Now; DetailMandatement.DATEMODIFICATION = DateTime.Now; DetailMandatement.FK_IDPAIEMENTCAMPAGNEGC = MandatementGc.PK_ID; DetailMandatement.MONTANT = item.MONTANT_VERSER; DetailMandatement.NDOC = item.NDOC; DetailMandatement.PERIODE = item.PERIODE; DetailMandatement.STATUS = item.STATUS; DetailMandatement.USERCREATION = UserConnecte.matricule; DetailMandatement.USERMODIFICATION = UserConnecte.matricule; DETAILMANDATEMENTGC_.Add(DetailMandatement); } } MandatementGc.DETAILCAMPAGNEGC_ = DETAILMANDATEMENTGC_; var mand = ListMandatementGc.FirstOrDefault(m => m.PK_ID == MandatementGc.PK_ID); var index = ListMandatementGc.IndexOf(mand); ListMandatementGc[index] = MandatementGc; } } } }