Exemple #1
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.ActionSequence> GetById(long id)
        {
            ENT.ActionSequence actionSequence = await ActionSequenceDomain.GetActionSequence(id);

            DTO.ActionSequence dtoActionSequence = null;
            if (actionSequence != null)
            {
                dtoActionSequence = Mapper.Map <ENT.ActionSequence, DTO.ActionSequence>(actionSequence);
            }

            return(dtoActionSequence);
        }
Exemple #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.Action> GetById(long id)
        {
            ENT.Action action = await ActionSequenceDomain.GetAction(id);

            DTO.Action dtoAction = null;
            if (action != null)
            {
                dtoAction = Mapper.Map <ENT.Action, DTO.Action>(action);
            }

            return(dtoAction);
        }
Exemple #3
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.ActionParameter> GetById(long id)
        {
            ENT.ActionParameter actionParameter = await ActionSequenceDomain.GetActionParameter(id);

            DTO.ActionParameter dtoActionParameter = null;
            if (actionParameter != null)
            {
                dtoActionParameter = Mapper.Map <ENT.ActionParameter, DTO.ActionParameter>(actionParameter);
            }

            return(dtoActionParameter);
        }
Exemple #4
0
        /// <summary>
        /// This function permits to do a ACT action.
        /// </summary>
        /// <param name="selectorInstance">SelectorInstance</param>
        /// <param name="wfInstance">Workflow instance</param>
        /// <param name="values">Valeurs à modifier</param>
        /// <returns>Message de retour</returns>
        public async Task <HttpResponseMessageResult> Act(SelectorInstance selectorInstance, WorkflowInstance wfInstance, IEnumerable <KeyValuePair <long, double> > values)
        {
            HttpResponseMessageResult res = new HttpResponseMessageResult()
            {
                IsSuccess = true
            };

            if (selectorInstance == null)
            {
                throw new WrongParameterException("SelectorEngine.Act : SelectorInstance is null.");
            }
            if (selectorInstance.SelectorConfig == null)
            {
                throw new DataLoadingException($"SelectorEngine.Act : SelectorConfig of SelectorInstance (Id = {selectorInstance.Id}) is null.");
            }
            if (wfInstance == null)
            {
                throw new WrongParameterException("SelectorEngine.Act : WorkflowInstance is null.");
            }
            if (wfInstance.WorkflowConfig == null)
            {
                throw new DataLoadingException($"SelectorEngine.Act : WorkflowConfig of WorkflowInstance (Id = {wfInstance.Id}) is null.");
            }

            long refSeq = -1;

            if (selectorInstance.SelectorConfig.ActionSequenceRef >= 0)
            {
                refSeq = selectorInstance.SelectorConfig.ActionSequenceRef;
            }
            else
            if (wfInstance.WorkflowConfig.ActionSequenceRef >= 0)
            {
                refSeq = wfInstance.WorkflowConfig.ActionSequenceRef;
            }

            if (refSeq >= 0)
            {
                List <ActionSequence> lstSeqActions = await UnitOfWork.GetDbContext().ActionSequence
                                                      .Where(a => a.Reference == refSeq)
                                                      .OrderBy(a => a.Order)
                                                      .Include(a => a.Action)
                                                      .AsNoTracking()
                                                      .ToAsyncEnumerable()
                                                      .ToList();

                res.Append(await ActionSequenceDomain.ExecuteActionSequence(lstSeqActions, selectorInstance, wfInstance, values));
            }

            return(res);
        }
Exemple #5
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.ActionSequence> > GetAll()
        {
            IEnumerable <ENT.ActionSequence> actionSequences = await ActionSequenceDomain.GetAllActionSequence();

            IEnumerable <DTO.ActionSequence> dtoActionSequences = null;

            if (actionSequences != null)
            {
                dtoActionSequences = Mapper.Map <IEnumerable <ENT.ActionSequence>, IEnumerable <DTO.ActionSequence> >(actionSequences);
            }
            else
            {
                dtoActionSequences = new List <DTO.ActionSequence>();
            }

            return(dtoActionSequences);
        }
Exemple #6
0
        /// <summary>
        /// Ajoute une nouvelle action dans une séquence (existante ou non)
        /// </summary>
        /// <param name="actionSequence">Nouvelle ActionSequence</param>
        /// <param name="actionId">Id de l'Action à exécuter</param>
        /// <returns>Message de retour</returns>
        public async Task <DTO.ActionSequence> AddActionSequence(DTO.ActionSequence actionSequence, long actionId)
        {
            ENT.ActionSequence entActionSequence = Mapper.Map <DTO.ActionSequence, ENT.ActionSequence>(actionSequence);

            return(Mapper.Map <ENT.ActionSequence, DTO.ActionSequence>(await ActionSequenceDomain.AddActionSequence(entActionSequence, actionId)));
        }
Exemple #7
0
        /// <summary>
        /// Ajoute une action en base, indépendamment d'un workflow.
        /// </summary>
        /// <param name="action">Nouvelle action</param>
        /// <returns>Action enregistrée (avec son id)</returns>
        public async Task <DTO.Action> AddAction(DTO.Action action)
        {
            ENT.Action entAction = Mapper.Map <DTO.Action, ENT.Action>(action);

            return(Mapper.Map <ENT.Action, DTO.Action>(await ActionSequenceDomain.AddAction(entAction)));
        }
Exemple #8
0
        /// <summary>
        /// Ajoute un paramètre dans l'action d'une séquence d'action.
        /// </summary>
        /// <param name="actionParameter">ActionParameter à ajouter</param>
        /// <param name="actionSequenceId">Id de la séquence d'action cible</param>
        /// <returns>Message de retour</returns>
        public async Task <DTO.ActionParameter> AddActionParameter(DTO.ActionParameter actionParameter, long actionSequenceId)
        {
            ENT.ActionParameter entActionParameter = Mapper.Map <DTO.ActionParameter, ENT.ActionParameter>(actionParameter);

            return(Mapper.Map <ENT.ActionParameter, DTO.ActionParameter>(await ActionSequenceDomain.AddActionParameter(entActionParameter, actionSequenceId)));
        }