1
Bugs and Issues / Re: BPMN 1.1 Elements
« on: April 04, 2011, 02:33:42 pm »
Thanks David!! You're a life saver...
Thank you so much!
Thank you so much!
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Thank you so much!
EA.Element NewElement = (EA.Element)Package.Elements.AddNew(vsShape.Text, "BPMN1.1::BPMN::" + sShapeType);
NewElement.Stereotype = sShapeStereotype;for (x = 0; x < ActivityTypes.Length; x++)
{
taggedValue = (EA.TaggedValue)Element.TaggedValues.AddNew(ActivityTypes[x].ToString(), "otTaggedValue");
taggedValue.ElementID = Element.ElementID;
if (ActivityTypes[x].ToString() == "ActivityType")
{
if (sMasterName.IndexOf("SUBPROCES EXPANDED", StringComparison.InvariantCultureIgnoreCase) >= 0 || sMasterName.IndexOf("SUB-PROCESS COLLAPSED", StringComparison.InvariantCultureIgnoreCase) >= 0 || sMasterName.IndexOf("SUB-PROCESS LOOPING", StringComparison.InvariantCultureIgnoreCase) >= 0)
{ taggedValue.Value = "Sub-process"; }
else { taggedValue.Value = ActivityValues[x].ToString(); }
}
else if (ActivityTypes[x].ToString() == "LoopType")
{
taggedValue.Value = sSubType;
}
else { taggedValue.Value = ActivityValues[x].ToString(); }
Element.TaggedValues.Refresh();
}
This is a guess: try "BPMN1.1::BPMN". If that doesn't work, contact Sparx Support.
EA.Diagram NewDiagram = (EA.Diagram)Package.Diagrams.AddNew(vsPage.Name, "Analysis");
NewDiagram.Update();
... Or do you want to do that via automation? In that case you have to tweak the SQL database (t_diagram most likely and there likely inside PDATA)
q.

...
//Add a diagram in the current package for the specific page
EA.Diagram NewDiagram = (EA.Diagram)Package.Diagrams.AddNew(vsPage.Name, "Analysis");
NewDiagram.Update();
...
...
EA.Element NewElement = (EA.Element)Package.Elements.AddNew(vsShape.Text, sShapeType);
NewElement.Stereotype = sShapeStereotype;
switch (sShapeType)
{
case "Activity":
taggedValue = (EA.TaggedValue)NewElement.TaggedValues.AddNew("LoopType", "System__ComObject");
taggedValue.ElementID = NewElement.ElementID;
taggedValue.Value = sSubTypeValue;
taggedValue.Update();
NewElement.TaggedValues.Refresh();
NewElement.Update();
break;
case "Decision":
taggedValue = (EA.TaggedValue)NewElement.TaggedValues.AddNew("GatewayType", "System__ComObject");
taggedValue.ElementID = NewElement.ElementID;
taggedValue.Value = sSubTypeValue;
taggedValue.Update();
NewElement.TaggedValues.Refresh();
taggedValue = (EA.TaggedValue)NewElement.TaggedValues.AddNew("MarkerVisible", "System__ComObject");
taggedValue.ElementID = NewElement.ElementID;
taggedValue.Value = "true";
NewElement.Update();
break;
case "EndEvent":
taggedValue = (EA.TaggedValue)NewElement.TaggedValues.AddNew("Result", "System__ComObject");
taggedValue.ElementID = NewElement.ElementID;
taggedValue.Value = sSubTypeValue;
taggedValue.Update();
NewElement.TaggedValues.Refresh();
NewElement.Update();
break;
case "IntermediateEvent":
taggedValue = (EA.TaggedValue)NewElement.TaggedValues.AddNew("Trigger", "System__ComObject");
taggedValue.ElementID = NewElement.ElementID;
taggedValue.Value = sSubTypeValue;
taggedValue.Update();
NewElement.TaggedValues.Refresh();
NewElement.Update();
break;
case "StartEvent":
taggedValue = (EA.TaggedValue)NewElement.TaggedValues.AddNew("Trigger", "System__ComObject");
taggedValue.ElementID = NewElement.ElementID;
taggedValue.Value = sSubTypeValue;
taggedValue.Update();
NewElement.TaggedValues.Refresh();
NewElement.Update();
break;
}