void GetListeUtilisateur(List <int> lstCentre)
        {
            try
            {
                AdministrationServiceClient client = new AdministrationServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Administration"));
                client.RetourneListeAllUserPerimetreCompleted += (ss, res) =>
                {
                    if (res.Cancelled || res.Error != null)
                    {
                        string error = res.Error.Message;
                        Message.ShowError(error, Galatee.Silverlight.Resources.Langue.errorTitle);
                        desableProgressBar();
                        return;
                    }

                    if (res.Result == null || res.Result.Count == 0)
                    {
                        Message.ShowInformation(Galatee.Silverlight.Resources.Langue.msgNodata, Galatee.Silverlight.Resources.Langue.informationTitle);
                        desableProgressBar();
                        return;
                    }
                    SessionObject.ListeDesUtilisateurs = res.Result;

                    foreach (CsUtilisateur item in res.Result)
                    {
                        item.CENTREAFFICHER = item.CENTRE + "  " + item.LIBELLECENTRE;
                        if (item.PERIMETREACTION == 1)
                        {
                            item.LIBELLEPERIMETREACTION = "Centre";
                        }
                        else if (item.PERIMETREACTION == 2)
                        {
                            item.LIBELLEPERIMETREACTION = "Site";
                        }
                        else if (item.PERIMETREACTION == 3)
                        {
                            item.LIBELLEPERIMETREACTION = "Globale";
                        }
                    }
                    List <Galatee.Silverlight.ServiceAccueil.CsCentre> lstCentreProfil = Shared.ClasseMEthodeGenerique.RetourCentreByPerimetre(SessionObject.LstCentre, UserConnecte.listeProfilUser);
                    List <int>           lstCentreHabil = new List <int>();
                    List <CsUtilisateur> _lstUserProfil = new List <CsUtilisateur>();

                    foreach (var item in lstCentreProfil)
                    {
                        lstCentreHabil.Add(item.PK_ID);
                    }
                    if (UserConnecte.matricule != "99999")
                    {
                        _lstUserProfil = res.Result.Where(t => lstCentreHabil.Contains(t.FK_IDCENTRE)).ToList();
                    }
                    else
                    {
                        _lstUserProfil = res.Result;
                    }

                    donnesDatagrid = _lstUserProfil;
                    var listeTemp = donnesDatagrid.Select(t => new { t.PASSE, t.PK_ID, t.CENTREAFFICHER, t.CENTRE, t.MATRICULE, t.LOGINNAME, t.LIBELLE, t.LIBELLESTATUSCOMPTE, t.LIBELLEPERIMETREACTION }).Distinct().ToList();
                    List <CsUtilisateur> lstSourceDatagrid = new List <CsUtilisateur>();

                    foreach (var item in listeTemp)
                    {
                        lstSourceDatagrid.Add(new CsUtilisateur {
                            PASSE = item.PASSE, CENTREAFFICHER = item.CENTREAFFICHER, PK_ID = item.PK_ID, CENTRE = item.CENTRE, MATRICULE = item.MATRICULE, LOGINNAME = item.LOGINNAME, LIBELLE = item.LIBELLE, LIBELLESTATUSCOMPTE = item.LIBELLESTATUSCOMPTE, LIBELLEPERIMETREACTION = item.LIBELLEPERIMETREACTION
                        });
                    }


                    foreach (CsUtilisateur item in lstSourceDatagrid)
                    {
                        int           toto    = 0;
                        CsUtilisateur usrtemp = new CsUtilisateur();

                        foreach (CsUtilisateur usr in donnesDatagrid)
                        {
                            if (usr.LOGINNAME == item.LOGINNAME)
                            {
                                toto   += 1;
                                usrtemp = usr;
                            }
                        }

                        if (toto > 1)
                        {
                            item.LIBELLEFONCTION = "Multiple";
                        }
                        else
                        if (toto == 1)
                        {
                            item.LIBELLEFONCTION = usrtemp.LIBELLEFONCTION;
                        }
                    }

                    //lvwResultat.ItemsSource = _lstUserProfil;
                    lvwResultat.ItemsSource = lstSourceDatagrid;

                    if (_lstUserProfil != null)
                    {
                        lvwResultat.SelectedItem = _lstUserProfil[0];
                    }
                };
                client.RetourneListeAllUserPerimetreAsync(lstCentre);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }