private void btn_Rech_Click(object sender, RoutedEventArgs e)
        {
            if (cbo_regroupement.SelectedItem != null && lbx_Periode.Items.Count > 0)
            {
                List <string> ListRefem = new List <string>();
                foreach (var item in lbx_Periode.Items)
                {
                    ListRefem.Add(ClasseMEthodeGenerique.FormatPeriodeAAAAMM(item.ToString()));
                }
                btn_Rech.IsEnabled = false;
                List <int> lstIdProduit = new List <int>();
                if (this.Chk_BT.IsChecked == true)
                {
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.Electricite).PK_ID);
                }
                if (this.Chk_MT.IsChecked == true)
                {
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.ElectriciteMT).PK_ID);
                }

                if (lstIdProduit.Count == 0)
                {
                    Remplirfacture((CsRegCli)cbo_regroupement.SelectedItem, ListRefem);
                }
                else
                {
                    RemplirfactureProduit((CsRegCli)cbo_regroupement.SelectedItem, ListRefem, lstIdProduit);
                }
            }
            else
            {
                Message.Show("Veuillez vous assurer que vous avez selectionner un regroupement et saisis moin une periode", "Information");
            }
        }
 private void LoadAllFactureNonImpayer(List <string> listperiode)
 {
     lbx_Periode.Items.Add(txt_periode.Text);
     foreach (var item in lbx_Periode.Items)
     {
         listperiode.Add(ClasseMEthodeGenerique.FormatPeriodeAAAAMM(item.ToString()));
     }
     Remplirfacture((CsRegCli)cbo_regroupement.SelectedItem, listperiode);
 }
        private void btn_Rech_Click(object sender, RoutedEventArgs e)
        {
            //On s 'assure qu'il à sélèctionné un regroupement et qu'il à précisé une ou des période "annéé+mois"
            if (cbo_regroupement.SelectedItem != null && lbx_Periode.Items.Count > 0)
            {
                #region Recupération de la liste des période au format attendu
                List <string> ListRefem = new List <string>();
                foreach (var item in lbx_Periode.Items)
                {
                    ListRefem.Add(ClasseMEthodeGenerique.FormatPeriodeAAAAMM(item.ToString()));
                }
                #endregion

                //On grise le bouton de recherche pour empêcher une autre action
                btn_Rech.IsEnabled = false;

                #region On récupere le produit selectionné
                List <int> lstIdProduit = new List <int>();
                if (this.Chk_BT.IsChecked == true)
                {
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.Electricite).PK_ID);
                }
                if (this.Chk_MT.IsChecked == true)
                {
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.ElectriciteMT).PK_ID);
                }
                #endregion

                #region On prend tous les produit si aucun  produit n'est selectionné si non on prend le ou les produis cochés en compte
                if (lstIdProduit.Count == 0)
                {
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.Electricite).PK_ID);
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.ElectriciteMT).PK_ID);
                    lstIdProduit.Add(SessionObject.ListeDesProduit.FirstOrDefault(t => t.CODE == SessionObject.Enumere.Eau).PK_ID);
                    RemplirfactureProduit((CsRegCli)cbo_regroupement.SelectedItem, ListRefem, lstIdProduit);
                    //Remplirfacture((CsRegCli)cbo_regroupement.SelectedItem, ListRefem);
                }
                else
                {
                    RemplirfactureProduit((CsRegCli)cbo_regroupement.SelectedItem, ListRefem, lstIdProduit);
                }
                #endregion
            }
            else
            {
                Message.Show("Veuillez vous assurer que vous avez selectionner un regroupement et saisis moin une periode", "Information");
            }
        }
 private void btn_Rech_Click(object sender, RoutedEventArgs e)
 {
     if (cbo_regroupement.SelectedItem != null && lbx_Periode.Items.Count > 0)
     {
         List <string> ListRefem = new List <string>();
         foreach (var item in lbx_Periode.Items)
         {
             ListRefem.Add(ClasseMEthodeGenerique.FormatPeriodeAAAAMM(item.ToString()));
         }
         btn_Rech.IsEnabled = false;
         Remplirfacture((CsRegCli)cbo_regroupement.SelectedItem, ListRefem);
     }
     else
     {
         Message.Show("Veuillez vous assurer que vous avez selectionner un regroupement et saisis moin une periode", "Information");
     }
 }
        private void txt_periode_TextChanged(object sender, TextChangedEventArgs e)
        {
            var periode = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(txt_periode.Text);

            if (periode.Length == 6)
            {
                if (cbo_regroupement.SelectedItem != null && !string.IsNullOrWhiteSpace(periode))
                {
                    if (!lbx_Periode.Items.Contains(txt_periode.Text))
                    {
                        VerifierCampagneExiste((CsRegCli)cbo_regroupement.SelectedItem, periode);
                    }
                    else
                    {
                        Message.Show("Vous avez déja saisi cette période", "Information");
                    }
                }
            }
        }
        private void btn_supp_Click(object sender, RoutedEventArgs e)
        {
            if (lbx_Periode.SelectedItem != null && cbo_regroupement.SelectedItem != null)
            {
                var periode = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(lbx_Periode.SelectedItem.ToString());
                List <CsDetailCampagneGc> factureAsupprimer  = new List <CsDetailCampagneGc>();
                List <CsCampagneGc>       CampagneAsupprimer = new List <CsCampagneGc>();
                foreach (var item in this.Anciennecamp)
                {
                    if (item.FK_IDREGCLI == ((CsRegCli)cbo_regroupement.SelectedItem).PK_ID)
                    {
                        foreach (var item_ in item.DETAILCAMPAGNEGC_)
                        {
                            if (item_.PERIODE == periode)
                            {
                                factureAsupprimer.Add(item_);
                            }
                        }
                    }
                }

                foreach (var item in factureAsupprimer)
                {
                    foreach (var item_ in this.Anciennecamp)
                    {
                        if (item_.DETAILCAMPAGNEGC_.Contains(item))
                        {
                            item_.DETAILCAMPAGNEGC_.Remove(item);
                        }

                        if (!(item_.DETAILCAMPAGNEGC_.Count > 0))
                        {
                            CampagneAsupprimer.Add(item_);
                        }
                    }
                }
                foreach (var item in CampagneAsupprimer)
                {
                    if (this.Anciennecamp.Contains(item))
                    {
                        this.Anciennecamp.Remove(item);
                    }
                }


                //PagedCollectionView pcv = (PagedCollectionView)dg_facture_Copy.ItemsSource;
                //List<CsLclient> CollectionName = new List<CsLclient>();
                //CollectionName = (List<CsLclient>)pcv.SourceCollection;


                var ListFactureSupprimer    = (PagedCollectionView)dg_facture_Copy.ItemsSource;
                List <CsLclient> Datasource = new List <CsLclient>();
                if (ListFactureSupprimer != null)
                {
                    foreach (var item in (List <CsLclient>)ListFactureSupprimer.SourceCollection)
                    {
                        if (item.REFEM != periode)
                        {
                            Datasource.Add(item);
                        }
                    }
                }

                var ListFactureSupprimer_    = (PagedCollectionView)dg_facture.ItemsSource;
                List <CsLclient> Datasource_ = new List <CsLclient>();
                if (ListFactureSupprimer_ != null)
                {
                    foreach (var item in (List <CsLclient>)ListFactureSupprimer_.SourceCollection)
                    {
                        if (item.REFEM != periode)
                        {
                            Datasource_.Add(item);
                        }
                    }
                }

                //dg_facture_Copy.ItemsSource = Datasource;
                LoadDataPager <CsLclient>(Datasource, datapager_Copy, dg_facture_Copy);
                LoadDataPager <CsLclient>(Datasource_, datapager, dg_facture);

                lbx_Periode.Items.Remove(lbx_Periode.SelectedItem);
                //lbx_Periode.Items.Add(txt_periode.Text);



                //txt_periode.Text = string.Empty;
            }
            else
            {
                Message.Show("Veuillez selectionner la periode que vous souhaitez surpprimer", "Information");
            }
        }
        private void   OKButton_Click(object sender, RoutedEventArgs e)
        {
            string IdCoupure = string.Empty;

            try
            {
                CsAvisCoupureEdition avisCoupure = new CsAvisCoupureEdition();
                bntPrinting.IsEnabled = false;
                aCampagne      Campagne = new aCampagne();
                aDisconnection dis      = new aDisconnection();

                avisCoupure.Matricule            = UserConnecte.matricule;
                avisCoupure.AgentPia             = UserConnecte.matricule;
                avisCoupure.referenceClientDebut = string.IsNullOrEmpty(this.Txt_Client.Text) ? string.Empty : this.Txt_Client.Text;
                avisCoupure.OrdreTourneDebut     = string.IsNullOrEmpty(this.Txt_Ordre.Text) ? string.Empty : this.Txt_Ordre.Text;
                string DueDate = (string.IsNullOrEmpty(this.dtpDate.Text)) ? null : dtpDate.Text;
                if (this.Cbo_Regcli.Tag != null)
                {
                    avisCoupure.ListeRegroupement = (List <ServiceRecouvrement.CsRegCli>) this.Cbo_Regcli.Tag;
                }

                avisCoupure.MontantRelancable = string.IsNullOrEmpty(this.Txt_MontantExigible.Text) ? 0 : Convert.ToDecimal(this.Txt_MontantExigible.Text);
                avisCoupure.Exigible          = this.dtpDate.SelectedDate;
                if (this.Txt_LibelleCentre.Tag != null)
                {
                    List <CsCentre> lstCentreCampage = new List <CsCentre>();
                    List <string>   lstCodeCentre    = (List <string>) this.Txt_LibelleCentre.Tag;
                    foreach (var item in lstCodeCentre)
                    {
                        lstCentreCampage.Add(new CsCentre {
                            CODE = item
                        });
                    }
                    avisCoupure.Centre_Campagne = lstCentreCampage;
                }
                if (string.IsNullOrEmpty(avisCoupure.MatriculeDebut) && !string.IsNullOrEmpty(avisCoupure.MatriculeFin))
                {
                    Message.ShowInformation("Entrez la première référence !", Galatee.Silverlight.Resources.Langue.errorTitle);
                    return;
                }
                if (!string.IsNullOrEmpty(avisCoupure.MatriculeDebut) && string.IsNullOrEmpty(avisCoupure.MatriculeFin))
                {
                    Message.ShowInformation("Entrez la deuxième référence!", Galatee.Silverlight.Resources.Langue.errorTitle);
                    return;
                }
                if (this.chk_ParAbonnement.IsChecked == true)
                {
                    avisCoupure.IsParAbonnement = true;
                }
                else
                {
                    avisCoupure.IsParAbonnement = false;
                }

                if (chk_ResilierExclus.IsChecked == true)
                {
                    avisCoupure.ClientResilie = true;
                }
                else
                {
                    avisCoupure.ClientResilie = false;
                }

                if (!string.IsNullOrEmpty(this.Txt_DateDebut.Text) && ClasseMEthodeGenerique.IsFormatPeriodeValide(this.Txt_DateDebut.Text))
                {
                    avisCoupure.PeriodeDebut = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(this.Txt_DateDebut.Text);
                }


                if (!string.IsNullOrEmpty(this.Txt_DateFin.Text) && ClasseMEthodeGenerique.IsFormatPeriodeValide(this.Txt_DateFin.Text))
                {
                    avisCoupure.PeriodeFin = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(this.Txt_DateFin.Text);
                }

                ligne.Clear();
                prgBar.Visibility = System.Windows.Visibility.Visible;
                LayoutRoot.Cursor = Cursors.Wait;
                RecouvrementServiceClient proxy = new RecouvrementServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Recouvrement"));
                proxy.TraitementAvisCoupureGCAsync(avisCoupure, dis, IsPreavis);
                proxy.TraitementAvisCoupureGCCompleted += (ssn, results) =>
                {
                    try
                    {
                        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);
                            bntPrinting.IsEnabled = true;
                            LayoutRoot.Cursor     = Cursors.Arrow;
                            prgBar.Visibility     = System.Windows.Visibility.Collapsed;
                            return;
                        }

                        if (results.Result == null || results.Result.Count == 0)
                        {
                            Message.ShowError("Aucune donnée de campagne retournée!", Galatee.Silverlight.Resources.Langue.errorTitle);
                            bntPrinting.IsEnabled = true;
                            LayoutRoot.Cursor     = Cursors.Arrow;
                            prgBar.Visibility     = System.Windows.Visibility.Collapsed;
                            return;
                        }

                        ligne.Clear();
                        ligne.AddRange(results.Result);
                        ServiceRecouvrement.CsRegCli lereg = ((List <ServiceRecouvrement.CsRegCli>) this.Cbo_Regcli.Tag).First();
                        string key = Utility.getKey();
                        Dictionary <string, string> param = new Dictionary <string, string>();
                        if (param.Count != 0)
                        {
                            param.Clear();
                        }
                        if (this.chk_ParAbonnement.IsChecked == true)
                        {
                            if (IsPreavis)
                            {
                                param.Add("PpChefService", leParam != null && !string.IsNullOrEmpty(leParam.NOMCHEFSERVICE) ? leParam.NOMCHEFSERVICE : string.Empty);
                                Utility.ActionExportation <ServicePrintings.CsLclient, ServiceRecouvrement.CsLclient>(ligne, param, string.Empty, SessionObject.CheminImpression, "PreavisDeCoupurParAbon", "Recouvrement", true, "doc");
                            }
                            else
                            {
                                param.Add("PpNomDonneurOrdre", leParam != null && !string.IsNullOrEmpty(leParam.NOMCHEFSERVICE)? leParam.NOMCHEFSERVICE : string.Empty);
                                param.Add("PpTitreDonneurOrdre", leParam != null && !string.IsNullOrEmpty(leParam.TITRE_DONNEURORDRE)? leParam.TITRE_DONNEURORDRE:string.Empty);
                                param.Add("PpContactDonneurOrdre", leParam != null && !string.IsNullOrEmpty(leParam.CONTACT_DONNEURORDRE)? leParam.CONTACT_DONNEURORDRE :string.Empty);
                                param.Add("PpStructureExecution", leParam != null && !string.IsNullOrEmpty(leParam.STRUCTURE_EXECUTION)? leParam.STRUCTURE_EXECUTION :string.Empty);
                                param.Add("PpNomAgentExecution", leParam != null && !string.IsNullOrEmpty(leParam.AGENT_EXECUTION)? leParam.AGENT_EXECUTION :string.Empty);
                                param.Add("PpMatriculeAgent", leParam != null && !string.IsNullOrEmpty(leParam.MATRICULE_EXECUTION) ? leParam.MATRICULE_EXECUTION : string.Empty);

                                Utility.ActionExportation <ServicePrintings.CsLclient, ServiceRecouvrement.CsLclient>(ligne, param, string.Empty, SessionObject.CheminImpression, "OrdreDeCoupurParAbon", "Recouvrement", true, "doc");
                            }
                        }
                        else
                        {
                            if (IsPreavis)
                            {
                                param.Add("PpChefService", leParam != null && !string.IsNullOrEmpty(leParam.NOMCHEFSERVICE) ? leParam.NOMCHEFSERVICE : string.Empty);
                                Utility.ActionExportation <ServicePrintings.CsLclient, ServiceRecouvrement.CsLclient>(ligne, param, string.Empty, SessionObject.CheminImpression, "PreavisDeCoupur", "Recouvrement", true, "doc");
                            }
                            else
                            {
                                param.Add("PpNomDonneurOrdre", leParam != null && !string.IsNullOrEmpty(leParam.NOMCHEFSERVICE) ? leParam.NOMCHEFSERVICE : string.Empty);
                                param.Add("PpTitreDonneurOrdre", leParam != null && !string.IsNullOrEmpty(leParam.TITRE_DONNEURORDRE) ? leParam.TITRE_DONNEURORDRE : string.Empty);
                                param.Add("PpContactDonneurOrdre", leParam != null && !string.IsNullOrEmpty(leParam.CONTACT_DONNEURORDRE) ? leParam.CONTACT_DONNEURORDRE : string.Empty);
                                param.Add("PpStructureExecution", leParam != null && !string.IsNullOrEmpty(leParam.STRUCTURE_EXECUTION) ? leParam.STRUCTURE_EXECUTION : string.Empty);
                                param.Add("PpNomAgentExecution", leParam != null && !string.IsNullOrEmpty(leParam.AGENT_EXECUTION) ? leParam.AGENT_EXECUTION : string.Empty);
                                param.Add("PpMatriculeAgent", leParam != null && !string.IsNullOrEmpty(leParam.MATRICULE_EXECUTION) ? leParam.MATRICULE_EXECUTION : string.Empty);

                                Utility.ActionExportation <ServicePrintings.CsLclient, ServiceRecouvrement.CsLclient>(ligne, param, string.Empty, SessionObject.CheminImpression, "OrdreDeCoupur", "Recouvrement", true, "doc");
                            }
                        }


                        LayoutRoot.Cursor     = Cursors.Arrow;
                        prgBar.Visibility     = System.Windows.Visibility.Collapsed;
                        bntPrinting.IsEnabled = true;
                    }
                    catch (Exception ex)
                    {
                        prgBar.Visibility     = System.Windows.Visibility.Collapsed;
                        LayoutRoot.Cursor     = Cursors.Arrow;
                        bntPrinting.IsEnabled = true;
                        Message.ShowError(ex, Galatee.Silverlight.Resources.Langue.errorTitle);
                    }
                };
            }
            catch (Exception ex)
            {
                bntPrinting.IsEnabled = true;
                prgBar.Visibility     = System.Windows.Visibility.Collapsed;
                LayoutRoot.Cursor     = Cursors.Arrow;
                Message.ShowError(ex, Galatee.Silverlight.Resources.Langue.errorTitle);
            }
        }
        private void    CreeEvenement(CsEvenement _LeEvt, CsCanalisation _LeCompteur)
        {
            try
            {
                if (!string.IsNullOrEmpty(this.Txt_IndexSaisi.Text) &&
                    !string.IsNullOrEmpty(this.Txt_PeriodeEnCour.Text) &&
                    !string.IsNullOrEmpty(this.Txt_DateRelEncour.Text) &&
                    !string.IsNullOrEmpty(this.Txt_CasEnCour.Text))
                {
                    _LeEvt.NUMDEM       = LaDemande.LaDemande.NUMDEM;
                    _LeEvt.INDEXEVT     = string.IsNullOrEmpty(this.Txt_IndexSaisi.Text) ? 0 : int.Parse(this.Txt_IndexSaisi.Text);
                    _LeEvt.CONSO        = string.IsNullOrEmpty(this.Txt_ConsoEnCours.Text) ? 0 : int.Parse(this.Txt_ConsoEnCours.Text);
                    _LeEvt.DATEEVT      = null;
                    _LeEvt.FACTURE      = null;
                    _LeEvt.ENQUETE      = string.Empty;
                    _LeEvt.FACPER       = string.Empty;
                    _LeEvt.DERPERF      = string.Empty;
                    _LeEvt.DERPERFN     = string.Empty;
                    _LeEvt.REGCONSO     = null;
                    _LeEvt.REGIMPUTE    = null;
                    _LeEvt.CONSOFAC     = 0;
                    _LeEvt.MATRICULE    = UserConnecte.matricule;
                    _LeEvt.COMPTEUR     = _LeCompteur.NUMERO;
                    _LeEvt.TYPECOMPTEUR = _LeCompteur.TYPECOMPTEUR;
                    _LeEvt.COEFLECT     = _LeCompteur.COEFLECT;
                    _LeEvt.COEFCOMPTAGE = _LeCompteur.COEFCOMPTAGE;
                    _LeEvt.COEFLECT     = _LeCompteur.COEFLECT;
                    _LeEvt.CAS          = this.Txt_CasEnCour.Text;
                    _LeEvt.PERIODE      = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(this.Txt_PeriodeEnCour.Text);

                    _LeEvt.INDEXEVTPRECEDENT = string.IsNullOrEmpty(this.Txt_IndexFacture.Text)? 0: int.Parse(this.Txt_IndexFacture.Text);
                    if (!string.IsNullOrEmpty(this.Txt_DateRelEncour.Text))
                    {
                        _LeEvt.DATEEVT = DateTime.Parse(this.Txt_DateRelEncour.Text);
                    }

                    if (LaDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.Resiliation)
                    {
                        _LeEvt.CODEEVT = SessionObject.Enumere.EvenementCodeResiliation;
                    }

                    if (LaDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.FactureManuelle ||
                        LaDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.AvoirConsomation)
                    {
                        _LeEvt.CODEEVT = SessionObject.Enumere.EvenementCodeFactureIsole;
                    }

                    if (LaDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.Resiliation)
                    {
                        _LeEvt.LOTRI = LaDemande.LaDemande.CENTRE + SessionObject.Enumere.LotriTermination;
                    }
                    else
                    {
                        _LeEvt.LOTRI = LaDemande.LaDemande.CENTRE + SessionObject.Enumere.LotriManuel;
                    }

                    _LeEvt.STATUS = SessionObject.Enumere.EvenementReleve;

                    _LeEvt.NUMEVENEMENT     = MaxNumEvt + 1;
                    _LeEvt.USERCREATION     = UserConnecte.matricule;
                    _LeEvt.USERMODIFICATION = UserConnecte.matricule;
                    _LeEvt.DATECREATION     = System.DateTime.Now.Date;
                    _LeEvt.DATEMODIFICATION = System.DateTime.Now.Date;

                    CsEvenement _LeEvenement = LstEvenementCree.FirstOrDefault(p => p.COMPTEUR == LeCompteurSelect.NUMERO);
                    if (_LeEvenement != null)
                    {
                        LstEvenementCree.Remove(_LeEvenement);
                    }
                    LstEvenementCree.Add(_LeEvt);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void Btn_search_Click(object sender, RoutedEventArgs e)
        {
            if (this.Txt_Client.Text == string.Empty)
            {
                client = null;
            }
            else
            {
                client = this.Txt_Client.Text;
            }
            if (this.Txt_ordre.Text == string.Empty)
            {
                ordre = null;
            }
            else
            {
                ordre = this.Txt_ordre.Text;
            }
            if (this.Txt_Periode.Text == string.Empty)
            {
                periode = null;
            }
            else
            {
                periode = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(this.Txt_Periode.Text);;
            }
            List <int>    lstCentre  = new List <int>();
            List <string> lstPeriode = new List <string>();

            foreach (ServiceAccueil.CsCentre item in lstCentreSelect)
            {
                lstCentre.Add(item.PK_ID);
            }

            foreach (string item in LstPeriode)
            {
                lstPeriode.Add(ClasseMEthodeGenerique.FormatPeriodeAAAAMM(item));
            }

            // Affichage de l'indicateur de chargement dans l'arbre d'elements visuels
            int loaderHandler = LoadingManager.BeginLoading("Recupération de données ... ");
            FacturationServiceClient service = new FacturationServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Facturation"));

            service.ListeDesClientPourEnvoieMailAsync(lstCentre, lstPeriode, chk_sms.IsChecked.Value, chk_email.IsChecked.Value);
            service.ListeDesClientPourEnvoieMailCompleted += (er, res) =>
            {
                try
                {
                    if (res.Error != null || res.Cancelled)
                    {
                        LoadingManager.EndLoading(loaderHandler);
                        throw new Exception("Cannot display report,voici l'erreur produit :" + res.Error + "(Requette annulé = " + res.Cancelled);
                    }

                    if (res.Result != null)
                    {
                        if (res.Result.Count > 0)
                        {
                            List <CsEnteteFacture> facturesAEnvoyer = res.Result;
                            foreach (var item in facturesAEnvoyer)
                            {
                                item.PERIODE = ClasseMEthodeGenerique.FormatPeriodeMMAAAA(item.PERIODE);
                            }

                            if (!string.IsNullOrEmpty(this.Txt_Client.Text) && !string.IsNullOrEmpty(this.Txt_ordre.Text))
                            {
                                List <CsEnteteFacture> lstFactureClient = facturesAEnvoyer.Where(t => t.CLIENT == this.Txt_Client.Text && t.ORDRE == this.Txt_ordre.Text).ToList();
                                this.Dtg_factures.ItemsSource = lstFactureClient;
                            }
                            else
                            {
                                this.Dtg_factures.ItemsSource = facturesAEnvoyer;
                            }

                            return;
                        }
                    }
                    Message.Show("Aucune données trouvé", "Information");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    LoadingManager.EndLoading(loaderHandler);
                }
            };
        }
        private CsLclient GetElementDeReglement(CsLclient Facture, decimal?Montant)
        {
            CsLclient Reglement = Facture;

            try
            {
                if (!string.IsNullOrEmpty(Reglement.REFEM) && Reglement.REFEM.Length == 7)
                {
                    Reglement.REFEM = ClasseMEthodeGenerique.FormatPeriodeAAAAMM(Facture.REFEM);
                }

                //Reglement.ACQUIT =  ;
                Reglement.CAISSE           = SessionObject.LePosteCourant.NUMCAISSE;
                Reglement.DC               = Facture.DC;
                Reglement.MODEREG          = SessionObject.Enumere.ModePayementEspece;
                Reglement.MOISCOMPT        = DateTime.Today.Year.ToString() + DateTime.Today.Month.ToString("00");
                Reglement.TOP1             = SessionObject.Enumere.TopCaisse;
                Reglement.ECART            = 0;
                Reglement.PERCU            = Facture.SOLDEFACTURE;
                Reglement.USERCREATION     = Facture.USERCREATION == null ? UserConnecte.matricule : Facture.USERCREATION;
                Reglement.USERMODIFICATION = UserConnecte.matricule;
                Reglement.DATECREATION     = Facture.DATECREATION == null ? DateTime.Now : Facture.DATECREATION;
                Reglement.DATEMODIFICATION = Facture.DATEMODIFICATION == null ? DateTime.Now : Facture.DATEMODIFICATION;
                Reglement.ORIGINE          = UserConnecte.Centre;
                Reglement.POSTE            = SessionObject.LePosteCourant.NOMPOSTE;
                Reglement.DENR             = System.DateTime.Now;
                Reglement.DTRANS           = System.DateTime.Today.Date;
                Reglement.NOMCAISSIERE     = UserConnecte.nomUtilisateur;

                Reglement.NUMCHEQ = null;
                Reglement.PLACE   = "-";
                Reglement.BANQUE  = "------";
                Reglement.GUICHET = "------";

                Reglement.NUMDEM                  = Facture.NUMDEM;
                Reglement.NUMDEVIS                = Facture.NUMDEVIS;
                Reglement.FK_IDCENTRE             = Facture.FK_IDCENTRE;
                Reglement.FK_IDLCLIENT            = Facture.PK_ID;
                Reglement.FK_IDCLIENT             = Facture.FK_IDCLIENT;
                Reglement.FK_IDCOPER              = SessionObject.LstDesCopers.First(t => t.CODE == Facture.COPER).PK_ID;
                Reglement.NATURE                  = "00";
                Reglement.FK_IDADMUTILISATEUR     = UserConnecte.PK_ID;
                Reglement.FK_IDLIBELLETOP         = SessionObject.LstDesLibelleTop.First(t => t.CODE == SessionObject.Enumere.TopCaisse).PK_ID;
                Reglement.FK_IDHABILITATIONCAISSE = SessionObject.LaCaisseCourante.PK_ID;
                Reglement.FK_IDCAISSIERE          = SessionObject.LaCaisseCourante.FK_IDCAISSIERE;
                Reglement.FK_IDAGENTSAISIE        = null;
                Reglement.FK_IDPOSTECLIENT        = null;
                Reglement.FK_IDMODEREG            = SessionObject.ListeModesReglement.FirstOrDefault(t => t.CODE == SessionObject.Enumere.ModePayementEspece).PK_ID;
                Reglement.MATRICULE               = UserConnecte.matricule;
                Reglement.LIBELLESITE             = SessionObject.LstCentre.FirstOrDefault(t => SessionObject.LaCaisseCourante.FK_IDCENTRE == t.PK_ID).LIBELLESITE;
                Reglement.LIBELLEAGENCE           = SessionObject.LstCentre.FirstOrDefault(t => SessionObject.LaCaisseCourante.FK_IDCENTRE == t.PK_ID).LIBELLE;
                Reglement.LIBELLEAGENCE           = SessionObject.LstCentre.FirstOrDefault(t => SessionObject.LaCaisseCourante.FK_IDCENTRE == t.PK_ID).LIBELLE;
                Reglement.IsPAIEMENTANTICIPE      = Facture.IsPAIEMENTANTICIPE;


                Reglement.MONTANTEXIGIBLE    = Facture.MONTANTEXIGIBLE;
                Reglement.MONTANTNONEXIGIBLE = Facture.MONTANTNONEXIGIBLE;
                Reglement.SOLDECLIENT        = Facture.SOLDECLIENT;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(Reglement);
        }