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