/// <summary> /// Récupere la liste des SelectorConfig et de leurs SelectorInstance lancés d'un WorkflowInstance. /// </summary> /// <param name="workflowInstanceId">Id du workflowInstance</param> /// <returns>Liste de SelectorConfig (et donc de leur SelectorInstance)</returns> public async Task <IEnumerable <DTO.SelectorConfig> > GetSelectors(long workflowInstanceId) { IEnumerable <ENT.SelectorConfig> lstEntSC = await SelectorConfigDomain.GetSelectors(workflowInstanceId); List <DTO.SelectorConfig> lstDTOSc = new List <DTO.SelectorConfig>(); foreach (ENT.SelectorConfig entSC in lstEntSC) { DTO.SelectorConfig dtoSC = Mapper.Map <ENT.SelectorConfig, DTO.SelectorConfig>(entSC); dtoSC.SelectorInstance = new List <DTO.SelectorInstance>(); foreach (ENT.SelectorInstance entSI in entSC.SelectorInstance) { Tuple <string, string, string> tInfos = await SelectorInstanceDomain.GetAdditionnalInfo(entSI); DTO.SelectorInstance dtoSI = Mapper.Map <ENT.SelectorInstance, DTO.SelectorInstance>(entSI); dtoSI.ModificatorName = tInfos.Item1; dtoSI.ValidatorsNames = tInfos.Item2; dtoSI.DimensionValueImportant = tInfos.Item3; dtoSC.SelectorInstance.Add(dtoSI); } lstDTOSc.Add(dtoSC); } return(lstDTOSc); }
/// <summary> /// Récupére l'entité désignée par l'id en paramétre. /// </summary> /// <param name="id">Id de l'entité</param> /// <returns>Message de retour avec l'entité</returns> public async Task <DTO.SelectorConfig> GetById(long id) { ENT.SelectorConfig selectorConfig = await SelectorConfigDomain.Get(id); DTO.SelectorConfig dtoSelectorConfig = null; if (selectorConfig != null) { dtoSelectorConfig = Mapper.Map <ENT.SelectorConfig, DTO.SelectorConfig>(selectorConfig); } return(dtoSelectorConfig); }
/// <summary> /// Ajoute un SelectorConfig en base. /// </summary> /// <param name="selectConf">SelectorConfig à ajouter</param> /// <returns>Message du résultat</returns> /// <remarks>L'objet SelectorConfig doit connaitre l'id de son WorkflowConfig parent. De plus, il doit avoir un nom unique. /// L'opération sort en erreur si l'une des deux conditions, ou les deux, n'est pas respectée.</remarks> public async Task <HttpResponseMessageResult> Add(DTO.SelectorConfig selectConf) { if (selectConf == null) { throw new WrongParameterException("SelectorConfig object is null!"); } ENT.SelectorConfig selectConfEntity = Mapper.Map <DTO.SelectorConfig, ENT.SelectorConfig>(selectConf); selectConfEntity.WorkflowConfig = new ENT.WorkflowConfig() { Id = selectConf.IdWorkflowConfig }; ENT.SelectorConfig res = await SelectorConfigDomain.Add(selectConfEntity); DTO.SelectorConfig addedSelectConf = Mapper.Map <ENT.SelectorConfig, DTO.SelectorConfig>(res); return(new HttpResponseMessageResult() { IsSuccess = true, Json = JsonConvert.SerializeObject(addedSelectConf) }); }
/// <summary> /// Ajoute un SelectorConfig en Propagate d'un autre SelectorConfig. /// </summary> /// <param name="idSelectorConfig">Id du SelectorConfig cible</param> /// <param name="nextSelectorConf">SelectorConfig à ajouter en Propagate</param> /// <returns>Message de resultat</returns> /// <remarks>Il faut que les id donnés en paramètre existent en base de donnée. Si le SelectorConfig cible /// posséde déjà le SelectorConfig en Propagate, il ne se passe rien.</remarks> public async Task <HttpResponseMessageResult> AddPropagate(long idSelectorConfig, DTO.SelectorConfig nextSelectorConf) { ENT.SelectorConfig entitySelectConf = Mapper.Map <DTO.SelectorConfig, ENT.SelectorConfig>(nextSelectorConf); return(await SelectorConfigDomain.AddPropagate(idSelectorConfig, entitySelectConf)); }