private void btnPurger_Click(object sender, RoutedEventArgs e)
        {
            prgBar.Visibility = System.Windows.Visibility.Visible;

            List <Galatee.Silverlight.ServiceInterfaceComptable.CsOperationComptable> lstCopeOper = new List <Galatee.Silverlight.ServiceInterfaceComptable.CsOperationComptable>();

            //Recuperation du centre selectionné
            ServiceAccueil.CsCentre SelectCentre = this.cmbCentre.SelectedItem as ServiceAccueil.CsCentre;

            //Recuperation de la liste des type opérations à prendre en compte
            if (this.CmbOperation.Tag != null)
            {
                LstOperationSelect = (List <Galatee.Silverlight.ServiceInterfaceComptable.CsOperationComptable>)CmbOperation.Tag;
                if (LstOperationSelect != null && LstOperationSelect.Count != 0)
                {
                    lstCopeOper.AddRange(LstOperationSelect);
                }
            }
            else
            {
                lstCopeOper.AddRange(ListeOperationComptable.ToList());
            }

            DateTime?DateDebut = null;

            if (!string.IsNullOrEmpty(this.dtpDateDebut.Text))
            {
                DateDebut = Convert.ToDateTime(this.dtpDateDebut.Text);
            }

            DateTime?DateFin = null;

            if (!string.IsNullOrEmpty(this.dtpDateFin.Text))
            {
                DateFin = Convert.ToDateTime(this.dtpDateFin.Text);
            }


            if (!string.IsNullOrEmpty(this.dtpDateCaisse.Text))
            {
                DateDebut = Convert.ToDateTime(this.dtpDateCaisse.Text);
            }

            if (DateDebut == null && DateFin == null)
            {
                Message.ShowInformation("Veuillez sélectionner une date", "Info");
                return;
            }
            List <CsCaisse> LstCaisse = new List <CsCaisse>();
            List <ServiceAccueil.CsCentre> LstCentreSelect = new List <ServiceAccueil.CsCentre>();

            if (this.rdbEncaisse.IsChecked == true)
            {
                //Recupération de la caisse selectionné
                CsCaisse SelectCaisse = this.CmbCaisse.IsEnabled ? this.CmbCaisse.SelectedItem as CsCaisse : null;
                string   laCaisse     = string.Empty;
                if (SelectCaisse != null)
                {
                    laCaisse = SelectCaisse.NUMCAISSE;
                    LstCaisse.Add(SelectCaisse);
                }
                else
                {
                    if (cmbCentre.SelectedItem != null)
                    {
                        List <CsCaisse> liste = ListeCaisse.Where(c => c.FK_IDCENTRE == ((ServiceAccueil.CsCentre) this.cmbCentre.SelectedItem).PK_ID).ToList();
                        LstCaisse.AddRange(liste);
                    }
                }
            }
            else if (this.rdbFacture.IsChecked == true)
            {
                if (cmbCentre.SelectedItem != null)
                {
                    string SiteSelect = ((ServiceAccueil.CsSite) this.CmbSite.SelectedItem).CODE;
                    if (SiteSelect == SessionObject.Enumere.Generale)
                    {
                        if (this.Chk_Bt.IsChecked == true)
                        {
                            LstCentreSelect.AddRange(SessionObject.LstCentre.Where(t => t.CODESITE == SessionObject.Enumere.CodeSiteScaBT).ToList());
                        }
                        else if (this.Chk_Mt.IsChecked == true)
                        {
                            LstCentreSelect.AddRange(SessionObject.LstCentre.Where(t => t.CODESITE == SessionObject.Enumere.CodeSiteScaMT).ToList());
                        }
                        else
                        {
                            LstCentreSelect.AddRange(SessionObject.LstCentre.Where(t => t.CODESITE == SessionObject.Enumere.CodeSiteScaBT ||
                                                                                   t.CODESITE == SessionObject.Enumere.CodeSiteScaMT).ToList());
                        }
                    }
                    else
                    {
                        LstCentreSelect.Add((ServiceAccueil.CsCentre)cmbCentre.Tag);
                    }
                }
                else
                {
                    if (CmbSite.SelectedItem != null)
                    {
                        List <ServiceAccueil.CsCentre> liste = ListeCentre.Where(c => c.CODESITE == ((ServiceAccueil.CsSite) this.CmbSite.SelectedItem).CODE).ToList();
                        LstCentreSelect.AddRange(liste);
                    }
                }
            }
            if (DateFin == null)
            {
                DateFin = DateDebut;
            }
            InterfaceComptableServiceClient service = new InterfaceComptableServiceClient(Utility.ProtocoleIndex(), Utility.EndPoint("InterfaceComptable"));

            service.PurgeComptabilisationAsync(lstCopeOper.Select(y => y.PK_ID).ToList(), ((CsSite)this.CmbSite.SelectedItem).CODE, DateDebut, DateFin);
            service.PurgeComptabilisationCompleted += (s, args) =>
            {
                try
                {
                    if (args.Cancelled || args.Error != null || args.Result == null)
                    {
                        string error = args.Error.InnerException.ToString();
                        return;
                    }
                    else
                    {
                        if (args.Result != null && args.Result == true)
                        {
                            Message.ShowInformation("Opération purgée avec succès", "Information");
                            return;
                        }
                        else
                        {
                            Message.ShowInformation("Erreur de Mise à jour", "Avertissement");
                        }
                    }
                }
                catch (Exception ex)
                {
                    Message.ShowError(ex, Galatee.Silverlight.Resources.Caisse.Langue.errorTitle);
                }
            };
        }