/// <summary>
        /// Fonction qui retourne l'utilisateur après connexion à Gemini
        /// </summary>
        /// <param name="pUser">Identifiant de l'utilisateur</param>
        /// <returns>Connexion vers Gemini</returns>
        /// <remarks>Guillaume Bécard - 2015-02-20 - Création</remarks>
        private ServiceManager LanceAuthentification(AuthentificationDTO pUser)
        {
            try
            {
                //gb - Construction de l'Url Gemini
                string lUrlGemini = pUser.Url +
                                    (String.IsNullOrEmpty(pUser.Proxy) == false ? ":" + pUser.Proxy : String.Empty);

                //gb - Déclaration du service Gemini
                ServiceManager lService = new ServiceManager(lUrlGemini,
                                                             pUser.Login, pUser.Password, String.Empty);

                //gb - Test de la connexion
                lService.Admin.WhoAmI();

                //gb - Retourne l'utilisateur
                return(lService);
            }
            catch (Exception ex)
            {
                //gb - En fonction de l'erreur
                switch (ex.Message)
                {
                case "Invalid username / password":
                    throw new Exception("ErrorLogin");

                case "Unknown error, status code: 0":
                    throw new Exception("ErrorUrl");

                default:
                    throw new Exception("ErrorGemini");
                }
            }
        }
 /// <summary>
 /// Permet de dupliquer l'utilisateur en cours sous le statut d'utilisateur API avec droit
 /// </summary>
 /// <param name="pUserSource">Utilisateur en cours de base</param>
 /// <returns>Un utilisateur avec droits API</returns>
 /// <remarks>JClaud 2015-07-27 Création</remarks>
 private AuthentificationDTO CopyUserAsAPI(AuthentificationDTO pUserSource)
 {
     return(new AuthentificationDTO()
     {
         Proxy = pUserSource.Proxy,
         Url = pUserSource.Url,
         Login = "******",
         Password = "******"
     });
 }
        /// <summary>
        /// Méthode qui permet le chargement d'une liste d'utilisateur
        /// </summary>
        /// <param name="pAuth">User en cours</param>
        /// <returns>Une liste d'utilisateur au format AuthentificationDTO</returns>
        /// <remarks>JClaud 2015-11-12 Création</remarks>
        public ObservableCollection <IBaseDTO> GetListeData(IBaseDTO pAuth)
        {
            //jc- déclaration de variables
            ObservableCollection <AuthentificationDTO> lListeFinale = new ObservableCollection <AuthentificationDTO>();
            AuthentificationDTO lUser = ((CritereAuthentificationDTO)pAuth).AuthentificationDTO;

            //jc- on récupère la liste des utilisateurs au format AuthentificationDTO
            List <UserDto> lListTemp = LanceAuthentification(CopyUserAsAPI(lUser)).User.GetActive();

            //jc- TODO - A VOIR POURQUOI IMPOSSIBLE DE CHARGER PLUS DE 220 ROWS
            //.Where(s => s.Entity.Active == true).Take(50)
            //.ToList();

            lListTemp.ToList().ForEach(p => lListeFinale.Add(ConvertUserDtoToAuth(p)));

            //jc- retourne la liste d'users
            return(new ObservableCollection <IBaseDTO>(lListeFinale));
        }
 /// <summary>
 /// Fonction permettant de tester la connexion vers Gemini
 /// Si celle-ci est correcte on retourne l'Identifiant de l'utilisateur
 /// </summary>
 /// <returns>Identifiant de l'utilisateur</returns>
 /// <remarks>Guillaume Bécard - 2015-02-18 - Création</remarks>
 public UserDto GetUtilisateur(AuthentificationDTO pAuth)
 {
     //gb - Retourne l'identifiant de l'utilisateur
     return(LanceAuthentification(pAuth).Admin.WhoAmI());
 }