/// <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))); }