public HistoricDecisionInstanceEntity createHistoricDecisionInstance(DmnDecisionLogicEvaluationEvent evaluationEvent, HistoricDecisionInstanceEntity rootDecisionInstance) { return(outerInstance.createDecisionEvaluatedEvt(evaluationEvent, (ExecutionEntity)execution)); }
protected internal virtual void initDecisionInstanceEvent(HistoricDecisionInstanceEntity @event, DmnDecisionLogicEvaluationEvent evaluationEvent, HistoryEventTypes eventType, HistoricDecisionInstanceEntity rootDecisionInstance) { @event.EventType = eventType.EventName; DecisionDefinition decision = (DecisionDefinition)evaluationEvent.Decision; @event.DecisionDefinitionId = decision.Id; @event.DecisionDefinitionKey = decision.Key; @event.DecisionDefinitionName = decision.Name; if (!string.ReferenceEquals(decision.DecisionRequirementsDefinitionId, null)) { @event.DecisionRequirementsDefinitionId = decision.DecisionRequirementsDefinitionId; @event.DecisionRequirementsDefinitionKey = decision.DecisionRequirementsDefinitionKey; } // set current time as evaluation time @event.EvaluationTime = ClockUtil.CurrentTime; if (string.ReferenceEquals(@event.RootProcessInstanceId, null) && string.ReferenceEquals(@event.CaseInstanceId, null)) { if (rootDecisionInstance != null) { @event.RemovalTime = rootDecisionInstance.RemovalTime; } else { DateTime removalTime = calculateRemovalTime(@event, decision); @event.RemovalTime = removalTime; } } if (evaluationEvent is DmnDecisionTableEvaluationEvent) { initDecisionInstanceEventForDecisionTable(@event, (DmnDecisionTableEvaluationEvent)evaluationEvent); } else if (evaluationEvent is DmnDecisionLiteralExpressionEvaluationEvent) { initDecisionInstanceEventForDecisionLiteralExpression(@event, (DmnDecisionLiteralExpressionEvaluationEvent)evaluationEvent); } else { @event.Inputs = System.Linq.Enumerable.Empty <HistoricDecisionInputInstance> (); @event.Outputs = System.Linq.Enumerable.Empty <HistoricDecisionOutputInstance> (); } }
protected internal virtual void initDecisionInstanceEvent(HistoricDecisionInstanceEntity @event, DmnDecisionLogicEvaluationEvent evaluationEvent, HistoryEventTypes eventType) { initDecisionInstanceEvent(@event, evaluationEvent, eventType, null); }
protected internal virtual HistoricDecisionInstanceEntity newDecisionInstanceEventEntity(DmnDecisionLogicEvaluationEvent evaluationEvent) { return(new HistoricDecisionInstanceEntity()); }
protected internal virtual HistoricDecisionInstanceEntity createDecisionEvaluatedEvt(DmnDecisionLogicEvaluationEvent evaluationEvent, HistoricDecisionInstanceEntity rootDecisionInstance) { // create event instance HistoricDecisionInstanceEntity @event = newDecisionInstanceEventEntity(evaluationEvent); // initialize event initDecisionInstanceEvent(@event, evaluationEvent, HistoryEventTypes.DMN_DECISION_EVALUATE, rootDecisionInstance); // set the user id if there is an authenticated user and no process instance UserId = @event; DecisionDefinition decisionDefinition = (DecisionDefinition)evaluationEvent.Decision; string tenantId = decisionDefinition.TenantId; if (string.ReferenceEquals(tenantId, null)) { tenantId = provideTenantId(decisionDefinition, @event); } @event.TenantId = tenantId; return(@event); }
protected internal virtual HistoricDecisionInstanceEntity createDecisionEvaluatedEvt(DmnDecisionLogicEvaluationEvent evaluationEvent, CaseExecutionEntity execution) { // create event instance HistoricDecisionInstanceEntity @event = newDecisionInstanceEventEntity(execution, evaluationEvent); // initialize event initDecisionInstanceEvent(@event, evaluationEvent, HistoryEventTypes.DMN_DECISION_EVALUATE); setReferenceToCaseInstance(@event, execution); DecisionDefinition decisionDefinition = (DecisionDefinition)evaluationEvent.Decision; string tenantId = execution.TenantId; if (string.ReferenceEquals(tenantId, null)) { tenantId = provideTenantId(decisionDefinition, @event); } @event.TenantId = tenantId; return(@event); }