private void LoadEtatCaisse()
        {
            string              centre        = !string.IsNullOrWhiteSpace(Txt_CodeCentre.Text) ? Txt_CodeCentre.Text : "";
            int                 idCentre      = this.Txt_CodeCentre.Tag != null ? ((ServiceAccueil.CsCentre) this.Txt_CodeCentre.Tag).PK_ID  : 0;
            DateTime            datedebut     = dtp_debut.SelectedDate != null ? dtp_debut.SelectedDate.Value : new DateTime();
            DateTime            datefin       = dtp_fin.SelectedDate != null ? dtp_fin.SelectedDate.Value : new DateTime();
            bool                IsCaisseFerme = (rdb_ferme.IsChecked == true)?true : false;
            CaisseServiceClient proxy         = new CaisseServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Caisse"));

            proxy.ListeDesCaisseCompleted += (senders, results) =>
            {
                if (results.Cancelled || results.Error != null)
                {
                    string error = results.Error.Message;
                    MessageBox.Show("errror occurs while calling remote method", "EtatCaisse", MessageBoxButton.OK);
                    return;
                }
                if (results.Result == null || results.Result.Count == 0)
                {
                    MessageBox.Show("no data found");
                    Message.ShowInformation("Aucune donnée trouvée", "Caisse");

                    return;
                }

                List <ServiceCaisse.CsHabilitationCaisse> dataTable = new List <ServiceCaisse.CsHabilitationCaisse>();
                dataTable.AddRange(results.Result);
                //impression du recu de la liste of cut-off

                Dictionary <string, string> param = new Dictionary <string, string>();

                param.Add("pcentre", !string.IsNullOrWhiteSpace(this.Txt_LibelleCentre.Text) ? "Centre : " + this.Txt_LibelleCentre.Text : "Centre : Aucun");
                param.Add("pmatricule", "Matricule :Aucun");
                param.Add("pdatedebut", dtp_debut.SelectedDate != null ? "Date de début : " + dtp_debut.SelectedDate.ToString() : "Date de début : Aucune");
                param.Add("pdatefin", dtp_fin.SelectedDate != null ? "Date de fin : " + dtp_fin.SelectedDate.ToString() : "Date de fin : Aucune");
                Utility.ActionDirectOrientation <ServicePrintings.CsHabilitationCaisse, ServiceCaisse.CsHabilitationCaisse>(dataTable, param, SessionObject.CheminImpression, "ListeCaisse", "Caisse", true);
            };
            proxy.ListeDesCaisseAsync(idCentre, centre, datedebut, datefin, IsCaisseFerme);
        }