示例#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);
        }
示例#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);
        }
示例#3
0
        /// <summary>
        /// Récupére toutes les entités DTO existantes.
        /// </summary>
        /// <returns>Message de retour avec la liste en json</returns>
        public async Task <IEnumerable <DTO.SelectorConfig> > GetAll()
        {
            IEnumerable <ENT.SelectorConfig> selectorConfig = await SelectorConfigDomain.Get();

            IEnumerable <DTO.SelectorConfig> dtoSelectorConfig = null;

            if (selectorConfig != null)
            {
                dtoSelectorConfig = Mapper.Map <IEnumerable <ENT.SelectorConfig>, IEnumerable <DTO.SelectorConfig> >(selectorConfig);
            }
            else
            {
                dtoSelectorConfig = new List <DTO.SelectorConfig>();
            }

            return(dtoSelectorConfig);
        }
示例#4
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)
            });
        }
示例#5
0
 /// <summary>
 /// Ajoute un criteria dans la liste ordonnée des criterias de validateurs d'un SelectorConfig.
 /// </summary>
 /// <param name="idSelectorConfig">Id du SelectorConfig cible</param>
 /// <param name="criteria">Criteria destiné à la liste des validateurs</param>
 /// <returns>Message de retour</returns>
 public async Task <HttpResponseMessageResult> AddValidatorsCriteria(long idSelectorConfig, DTO.Criteria criteria)
 {
     ENT.Criteria criteriaEntity = Mapper.Map <DTO.Criteria, ENT.Criteria>(criteria);
     return(await SelectorConfigDomain.AddValidatorsCriteria(idSelectorConfig, criteriaEntity));
 }
示例#6
0
 /// <summary>
 /// Ajoute un Criteria à un SelectorConfig pour cibler les données à modifier
 /// </summary>
 /// <param name="idSelectorConfig">Id du SelectorConfig cible</param>
 /// <param name="criteria">Criteria définissant les valeurs à modifier</param>
 /// <returns>Message de résultat</returns>
 /// <remarks>Ajoute juste l'objet Criteria au SelectorConfig. Vérifie l'existance du SelectorConfig mais ne controle pas si le résultat
 /// du Criteria sur les potentiels subset du SelectorConfig contient bel et bien des données.</remarks>
 public async Task <HttpResponseMessageResult> AddCriteriaToModifyValue(long idSelectorConfig, DTO.Criteria criteria)
 {
     ENT.Criteria condCriteriaEntity = Mapper.Map <DTO.Criteria, ENT.Criteria>(criteria);
     return(await SelectorConfigDomain.AddCriteriaToModifyValue(idSelectorConfig, condCriteriaEntity));
 }
示例#7
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));
 }