/// <summary>
        /// Создает выполняемую задачу из запланированной задачи из бд.
        /// </summary>
        /// <param name="workflowTaskEvent">Запланированная задача из бл.</param>
        /// <returns>Выполняемая задача.</returns>
        public static WorkflowAutoExecutionEventObject ConstructFrom(WorkflowTaskQueue workflowTaskEvent)
        {
            var workflowEventObject = new WorkflowAutoExecutionEventObject
            {
                EventName         = workflowTaskEvent.WorkflowEventKey,
                WorkflowTaskEvent = workflowTaskEvent
            };

            if (workflowTaskEvent.IsRequestEvent)
            {
                workflowEventObject.EventAction = ProcessRequestWorkflowEvent;
            }
            else if (workflowTaskEvent.IsContractEvent)
            {
                workflowEventObject.EventAction = ProcessContractWorkflowEvent;
            }
            else if (workflowTaskEvent.IsProtectionDocEvent)
            {
                workflowEventObject.EventAction = ProcessProtectionDocumentWorkflowEvent;
            }

            return(workflowEventObject);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Проверяет, есть ли в словаре указанная задача.
 /// </summary>
 /// <param name="eventObject">Выполняемая задача.</param>
 public static bool ContainsEvent(WorkflowAutoExecutionEventObject eventObject)
 {
     return(AutoExecutionEvents.Select(a => a.Value.WorkflowTaskEvent)
            .Any(e => e.Id == eventObject.WorkflowTaskEvent.Id));
 }
Exemplo n.º 3
0
 /// <summary>
 /// Добавляет задачу в словарь задач и запускает ее.
 /// </summary>
 /// <param name="autoExecutionEventObject">Выполняемая задача.</param>
 public static void AddEvent(WorkflowAutoExecutionEventObject autoExecutionEventObject)
 {
     AutoExecutionEvents.GetOrAdd(autoExecutionEventObject.EventName, autoExecutionEventObject);
     autoExecutionEventObject.StartEventExecution();
 }