/// <summary>
        /// Démarre et initialise les SelectorConfig associés au WorkflowConfig original.
        /// </summary>
        /// <param name="wfInstance">WorkflowInstance nouvellement démarré</param>
        /// <returns>Message en cas de warning</returns>
        public async Task <HttpResponseMessageResult> StartSelectorsIntances(WorkflowInstance wfInstance)
        {
            if ((wfInstance == null) || (wfInstance.WorkflowConfig == null))
            {
                throw new InitialiseWorkflowException("Process: can't find an instance of WorkflowInstance or WorkflowConfig!");
            }

            if (wfInstance.DataSetId == 0)
            {
                throw new InitialiseWorkflowException("Process: no DataSet in Workflow!");
            }

            if (wfInstance.UserSetId == 0)
            {
                throw new InitialiseWorkflowException("Process: no UserSet in Workflow!");
            }

            ICollection <SelectorConfig> lstSelectConf = wfInstance.WorkflowConfig.SelectorConfig;

            HttpResponseMessageResult res = new HttpResponseMessageResult()
            {
                IsSuccess = true
            };

            foreach (SelectorConfig selector in lstSelectConf)
            {
                HttpResponseMessageResult resLocal = await SelectorEngine.GenerateSelectorsInstances(selector, wfInstance);

                res.Append(resLocal);
            }

            return(res);
        }
Пример #2
0
 /// <summary>
 /// Modifie les données d'un SelectorInstance. Les données sont d'abord sauvées, puis le SelectorInstance passe en Act et en Constraints.
 /// </summary>
 /// <param name="selectorInstanceId">Id du SelectorInstance</param>
 /// <param name="values">Valeurs à modifier</param>
 /// <remarks>Les valeurs à modifier sont au format suivant : {id de la cellule}:{nouvelle valeur}</remarks>
 /// <returns>Message à modifier</returns>
 public async Task <HttpResponseMessageResult> SaveData(long selectorInstanceId, IEnumerable <KeyValuePair <long, double> > values)
 {
     return(await SelectorEngine.SaveData(selectorInstanceId, values));
 }