Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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)
            });
        }
Esempio n. 4
0
 /// <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));
 }