public virtual void testRepositoryService() { string processDefinitionId = repositoryService.CreateProcessDefinitionQuery(c => c.Key == PROCESS_KEY).First().Id; IBpmnModelInstance modelInstance = repositoryService.GetBpmnModelInstance(processDefinitionId); Assert.NotNull(modelInstance); IEnumerable <IEvent> events = modelInstance.GetModelElementsByType <IEvent>(typeof(IEvent)); Assert.AreEqual(2, events.Count()); IEnumerable <ISequenceFlow> sequenceFlows = modelInstance.GetModelElementsByType <ISequenceFlow>(typeof(ISequenceFlow)); Assert.AreEqual(1, sequenceFlows.Count()); IStartEvent startEvent = (IStartEvent)modelInstance.GetModelElementById/*<IStartEvent>*/ ("start"); Assert.NotNull(startEvent); }
public virtual StartEventBuilder StartEvent(string id) { IStartEvent start = SubProcessBuilder.CreateChild <IStartEvent>(typeof(IStartEvent), id); IBpmnShape startShape = SubProcessBuilder.CreateBpmnShape(start); IBpmnShape subProcessShape = SubProcessBuilder.FindBpmnShape(SubProcessBuilder.element); if (subProcessShape != null) { IBounds subProcessBounds = subProcessShape.Bounds; IBounds startBounds = startShape.Bounds; double subProcessX = subProcessBounds.GetX().Value; double subProcessY = subProcessBounds.GetY().Value; double subProcessHeight = subProcessBounds.GetHeight().Value; double startHeight = startBounds.GetHeight().Value; startBounds.SetX(subProcessX); startBounds.SetY(subProcessY + subProcessHeight / 2 - startHeight / 2); } return(start.Builder <StartEventBuilder, IStartEvent>()); }
public StartEventBuilder(IBpmnModelInstance modelInstance, IStartEvent element) : base(modelInstance, element) { }