private void MiseAjourRetraitDemandeAnnulation(List <ServiceCaisse.CsLclient> leReglement) { CaisseServiceClient service = new CaisseServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint(this)); service.RetirerDemandeAnnulationEncaissementAsync(leReglement); service.RetirerDemandeAnnulationEncaissementCompleted += (sender, es) => { try { if (es.Cancelled || es.Error != null || es.Result == null) { Message.ShowError("Erreur d'annulation du reçu. Veuillez réessayer svp !", Langue.errorTitle); return; } List <ServiceCaisse.CsLclient> lstInitData = ((List <ServiceCaisse.CsLclient>) this.dtg_FactureAjouter.ItemsSource).Where(t => t.Selectionner == true).ToList(); List <ServiceCaisse.CsLclient> lstInitData2 = (List <ServiceCaisse.CsLclient>) this.dtg_FactureAjouter.ItemsSource; List <string> lstAcquit = new List <string>(); foreach (var item in lstInitData) { if (lstAcquit.FirstOrDefault(t => t == item.ACQUIT) == null) { lstAcquit.Add(item.ACQUIT); } } List <ServiceCaisse.CsLclient> lstAAfficher = new List <ServiceCaisse.CsLclient>(); lstInitData2.RemoveAll(t => lstAcquit.Contains(t.ACQUIT)); dtg_FactureAjouter.ItemsSource = null; dtg_FactureAjouter.ItemsSource = lstInitData2; List <ServiceCaisse.CsLclient> lstInitData1 = (List <ServiceCaisse.CsLclient>) this.dtg_FactureAAnnule.ItemsSource; List <ServiceCaisse.CsLclient> lstInitAjouter = _LstrefReglement.Where(t => lstAcquit.Contains(t.ACQUIT)).ToList(); List <ServiceCaisse.CsLclient> lstReglementAjouter = RetourneEltsDataGrid1(lstInitAjouter); lstInitData1.AddRange(lstReglementAjouter); dtg_FactureAAnnule.ItemsSource = null; dtg_FactureAAnnule.ItemsSource = lstInitData1; } catch (Exception ex) { Message.ShowError(ex, Langue.errorTitle); } }; }