Example #1
0
        private static void AddConnector(ModelBusReference processOverview, ProcessOverview.SubProcessElement fromSubProcess, ProcessOverview.SubProcessElement toSubProcess)
        {
            IModelBus modelbus = processOverview.ModelBus;
            ModelBusAdapter adapter = modelbus.CreateAdapter(processOverview);
            Diagram diagram = ((StandardVsModelingDiagramView)adapter.GetDefaultView()).Diagram;

            using (Transaction t = fromSubProcess.Store.TransactionManager.BeginTransaction("Add Connector"))
            {
                //Connector must be added when BTSubProcessActivity is added
                ProcessOverview.SubProcessElementReferencesTargets refTargets = new ProcessOverview.SubProcessElementReferencesTargets(fromSubProcess, toSubProcess);
                ProcessOverview.SubProcessConnector connector = new ProcessOverview.SubProcessConnector(diagram.Partition);

                connector.Associate(refTargets);
                diagram.NestedChildShapes.Add(connector);

                t.Commit();
            }
        }
Example #2
0
        public static SubProcessElement CreateSubProcessElement(string subProcessName, Partition partition, ProcessOverview.Process process, SubProcess subProcess, ModelBusReference subProcessReference)
        {
            var childReferenceProperty = new PropertyAssignment(SubProcessElement.SubProcessRefDomainPropertyId, null);
            var nameProperty = new PropertyAssignment(SubProcessElement.NameDomainPropertyId, subProcessName);
            var subProcessElement = new ProcessOverview.SubProcessElement(partition, nameProperty, childReferenceProperty);

            subProcessElement.VisioId = subProcess.VisioId.ToString().ToLower();
            subProcessElement.SubProcessRef = subProcessReference;
            process.BTSubProcess.Add(subProcessElement);

            return subProcessElement;
        }