private void ChargerMauvaisPayeur(List <int> lstIdCentre, DateTime?Datedebut, DateTime?Datefin)
        {
            try
            {
                prgBar.Visibility = System.Windows.Visibility.Visible;
                RecouvrementServiceClient proxy = new RecouvrementServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Recouvrement"));
                proxy.ListeDesMoratoiresEmisAsync(lstIdCentre, Datedebut, Datefin, true);
                proxy.ListeDesMoratoiresEmisCompleted += (ssn, results) =>
                {
                    try
                    {
                        this.btn_Rechercher.IsEnabled = true;
                        prgBar.Visibility             = System.Windows.Visibility.Collapsed;
                        if (results.Cancelled || results.Error != null)
                        {
                            string error = results.Error.Message;
                            Message.ShowError("Erreur d'invocation du service. Réessayer svp !", Galatee.Silverlight.Resources.Langue.errorTitle);
                            return;
                        }
                        if (results.Result == null || results.Result.Count == 0)
                        {
                            Message.ShowError("Aucune donnée retournée!", Galatee.Silverlight.Resources.Langue.errorTitle);
                            return;
                        }
                        dataTable = Shared.ClasseMEthodeGenerique.RetourneListCopy <CsDetailMoratoire>(results.Result);
                        List <CsDetailMoratoire> lstMoratoir = dataTable;

                        if (this.Rdb_Echu.IsChecked == true)
                        {
                            lstMoratoir = lstMoratoir.Where(t => t.EXIGIBILITE.Value.Date < System.DateTime.Today.Date).ToList();
                        }
                        foreach (var item in lstMoratoir)
                        {
                            item.REFERENCE = item.CENTRE + " " + item.CLIENT + " " + item.ORDRE;
                            item.NATURE    = (item.EXIGIBILITE.Value.Date < System.DateTime.Today.Date) ? "ECHU" : string.Empty;
                            CsDetailMoratoire le = new CsDetailMoratoire();
                            le = item;
                            if (lstSource.FirstOrDefault(t => t.REFERENCE == le.REFERENCE) != null)
                            {
                                le.REFERENCE = string.Empty;
                                le.NOMABON   = string.Empty;
                            }
                            lstSource.Add(le);
                        }

                        lvwResultat.ItemsSource = null;
                        lvwResultat.ItemsSource = lstSource;
                    }
                    catch (Exception ex)
                    {
                        this.btn_Rechercher.IsEnabled = true;
                        Message.ShowError(ex, Galatee.Silverlight.Resources.Langue.errorTitle);
                    }
                };
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void AfficherDataGrid(List <CsDetailMoratoire> lstMoratoir)
        {
            List <CsDetailMoratoire> lstFinal = new List <CsDetailMoratoire>();

            if (this.Rdb_Echu.IsChecked == true)
            {
                foreach (var item in lstMoratoir)
                {
                    item.REFERENCE = item.CENTRE + " " + item.CLIENT + " " + item.ORDRE;
                    item.NATURE    = (item.EXIGIBILITE.Value.Date >= System.DateTime.Today.Date) ? "ECHU" : string.Empty;
                    CsDetailMoratoire le = new CsDetailMoratoire();
                    le = item;
                    if (lstFinal.FirstOrDefault(t => t.REFERENCE == le.REFERENCE) != null)
                    {
                        le.REFERENCE = string.Empty;
                        le.NOMABON   = string.Empty;
                    }
                    lstFinal.Add(le);
                }
            }

            lvwResultat.ItemsSource = null;
            lvwResultat.ItemsSource = lstMoratoir;
        }
        List <CsDetailMoratoire> CreateListeFromDetailMoratoire(List <CsDetailMoratoire> lesfactureMoratoire)
        {
            try
            {
                string refem = MoisComptable;
                if (lesfactureMoratoire.Count == 1)
                {
                    refem = lesfactureMoratoire.First().REFEM;
                }

                List <CsDetailMoratoire> moratoires = new List <CsDetailMoratoire>();
                selectedoccurMoratoire = int.Parse(NumericUpDown.Value.ToString());
                for (int i = 0; i < selectedoccurMoratoire + 1; i++)
                {
                    int     inc     = i + 1;
                    TextBox amounts = null;
                    TextBox dates   = null;
                    if (i != 0)
                    {
                        amounts = AllInOne.FindControl <TextBox>((UIElement)LayoutRoot, typeof(TextBox), "txtAmount" + i);
                        dates   = AllInOne.FindControl <TextBox>((UIElement)LayoutRoot, typeof(TextBox), "txtDate" + i);
                    }
                    if (i == 0)
                    {
                        continue;
                    }

                    CsDetailMoratoire echeanceMoratoire = new CsDetailMoratoire()
                    {
                        COPER               = SessionObject.Enumere.CoperMOR,
                        REFEM               = MoisComptable,
                        CENTRE              = lesfactureMoratoire.First().CENTRE,
                        CLIENT              = lesfactureMoratoire.First().CLIENT,
                        ORDRE               = lesfactureMoratoire.First().ORDRE,
                        CRET                = SessionObject.Cret()[i - 1],
                        DATEVALEUR          = null,
                        DC                  = SessionObject.Enumere.Debit,
                        MONTANT             = Convert.ToDecimal(amounts.Text),
                        EXIGIBILITE         = DateTime.Parse(dates.Text),
                        TOP1                = SessionObject.Enumere.TopMoratoire,
                        MATRICULE           = UserConnecte.matricule,
                        DATECREATION        = DateTime.Now.Date,
                        USERCREATION        = UserConnecte.matricule,
                        FK_IDCLIENT         = lesfactureMoratoire.First().FK_IDCLIENT,
                        FK_IDCENTRE         = lesfactureMoratoire.First().FK_IDCENTRE,
                        FK_IDADMUTILISATEUR = UserConnecte.PK_ID,
                        FK_IDCOPER          = SessionObject.LstDesCopers.FirstOrDefault(t => t.CODE == SessionObject.Enumere.CoperMOR).PK_ID,
                        FK_IDLIBELLETOP     = SessionObject.LstDesLibelleTop.FirstOrDefault(t => t.CODE == SessionObject.Enumere.TopMoratoire).PK_ID,
                        IDMORATOIRE         = lesfactureMoratoire.First().IDMORATOIRE,
                        FK_IDMORATOIRE      = lesfactureMoratoire.First().IDMORATOIRE
                    };
                    CsDetailMoratoire leAncMor = lesfactureMoratoire.FirstOrDefault(t => t.CRET == echeanceMoratoire.CRET);
                    if (leAncMor != null)
                    {
                        echeanceMoratoire.REFEM = leAncMor.REFEM;
                        echeanceMoratoire.NDOC  = leAncMor.NDOC;
                    }

                    moratoires.Add(echeanceMoratoire);
                }

                return(moratoires);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }