protected internal virtual void restoreSignalStartEvent(IProcessDefinition previousProcessDefinition, BpmnModel bpmnModel, StartEvent startEvent, EventDefinition eventDefinition) { SignalEventDefinition signalEventDefinition = (SignalEventDefinition)eventDefinition; ISignalEventSubscriptionEntity subscriptionEntity = EventSubscriptionEntityManager.CreateSignalEventSubscription(); Signal signal = bpmnModel.GetSignal(signalEventDefinition.SignalRef); if (signal != null) { subscriptionEntity.EventName = signal.Name; } else { subscriptionEntity.EventName = signalEventDefinition.SignalRef; } subscriptionEntity.ActivityId = startEvent.Id; subscriptionEntity.ProcessDefinitionId = previousProcessDefinition.Id; if (!ReferenceEquals(previousProcessDefinition.TenantId, null)) { subscriptionEntity.TenantId = previousProcessDefinition.TenantId; } EventSubscriptionEntityManager.Insert(subscriptionEntity); }
protected internal virtual void restoreMessageStartEvent(IProcessDefinition previousProcessDefinition, BpmnModel bpmnModel, StartEvent startEvent, EventDefinition eventDefinition) { MessageEventDefinition messageEventDefinition = (MessageEventDefinition)eventDefinition; if (bpmnModel.ContainsMessageId(messageEventDefinition.MessageRef)) { Message message = bpmnModel.GetMessage(messageEventDefinition.MessageRef); messageEventDefinition.MessageRef = message.Name; } IMessageEventSubscriptionEntity newSubscription = EventSubscriptionEntityManager.CreateMessageEventSubscription(); newSubscription.EventName = messageEventDefinition.MessageRef; newSubscription.ActivityId = startEvent.Id; newSubscription.Configuration = previousProcessDefinition.Id; newSubscription.ProcessDefinitionId = previousProcessDefinition.Id; if (!ReferenceEquals(previousProcessDefinition.TenantId, null)) { newSubscription.TenantId = previousProcessDefinition.TenantId; } EventSubscriptionEntityManager.Insert(newSubscription); }