/// <summary>
        /// Fonction permettant de tester la connexion vers Gemini
        /// Si celle-ci est correcte on retourne une liste de statuts
        /// </summary>
        /// <returns>Identifiant de l'utilisateur</returns>
        /// <remarks>JClaud 2015-03-12 - Création</remarks>
        private List <IssueStatusDto> GetListeIssueStatusDto(CritereStatutDTO pParam)
        {
            //jc- déclaration de variables
            IssueTypeDto lTypeSelected;
            List <int>   lListeIdStatuts = new List <int>();
            List <ItemWorkflow.WorkflowTransition> lListeWorkFlowStatuts;

            //jc - Retourne le IssueTypeDto pour le ticket et le projet en cours
            lTypeSelected = LanceAuthentification(pParam.User).Meta.GetIssueTypesForTemplate(pParam.Ticket.Projet.TemplateId)
                            .Where(p => p.Entity.Id == pParam.Ticket.Type.IdType)
                            .FirstOrDefault();

            //jc- on récupère les transitions
            lListeWorkFlowStatuts = lTypeSelected.Entity.Workflow.Status.Where(p => p.StatusId == pParam.Ticket.Statut.IdStatut)
                                    .FirstOrDefault().Transitions.Select(p => p)
                                    .ToList();

            //jc- on parcours la liste des transitions
            foreach (ItemWorkflow.WorkflowTransition lTransition in lListeWorkFlowStatuts)
            {
                //jc- on parcours la liste des id groupe de l'utilisateur en cours
                foreach (int lGroupeId in pParam.User.Groupes.Select(p => p.IdGroupe))
                {
                    //jc- si la transitions contient un des groupes de l'utilisateurs
                    if (lTransition.Groups.Contains(lGroupeId) && lListeIdStatuts.Contains(lTransition.StatusId) == false)
                    {
                        //jc- on ajoute et on passe à la transitions suivante
                        lListeIdStatuts.Add(lTransition.StatusId);
                    }
                }
            }

            //jc- on ajoute l'id du statut du ticket en cours
            lListeIdStatuts.Add(pParam.Ticket.Statut.IdStatut);
            //jc- gestion des doublons dans les statuts
            lListeIdStatuts = lListeIdStatuts.Distinct().ToList();

            //jc - retourne la liste des IssueStatusDto
            return(new List <IssueStatusDto>(lListeIdStatuts.Select(p => LanceAuthentification(pParam.User).Meta.GetIssueStatus(p))));
        }
 /// <summary>
 /// Méthode publique pour retourner la liste des statuts en fonction d'un critère statut Dto
 /// </summary>
 /// <param name="pParam">CritèreStatutDTO</param>
 /// <returns>Une liste de statutDTO</returns>
 /// <remarks>JClaud 2015-03-13 Création</remarks>
 public ObservableCollection <StatutDTO> GetListeStatut(CritereStatutDTO pParam)
 {
     //jc- on appel la fonction qui va questionner l'API GEMINI
     return(FormatIssuesToDTO(GetListeIssueStatusDto(pParam)));
 }