private int ProcessModelObject(string strLinksFolder, EA.Package eAMainPackage, EA.Package eaPackage, EA.Diagram diagram, ImportFieldsValidator oFieldsValidator, int iBaseClassID, string strImportingData, string strObjName = "") { int iErrCnt = oFieldsValidator.ParseAndValidateFields(strImportingData); if (iErrCnt == 0) { oFieldsValidator.ReplaceImageLinks(strLinksFolder); string strLogInfo = ""; if (strObjName == "") { strLogInfo = strImportingData + ": " + (string)oFieldsValidator[oFieldsValidator.GetIDStrName()].Value; } else { strLogInfo = strImportingData + ": " + strObjName; } EA.Element element1 = null; EAImporter.LogMsg(EAImporter.LogMsgType.Adding, strLogInfo); if (strObjName == "") { element1 = eaPackage.Elements.AddNew((string)oFieldsValidator[oFieldsValidator.GetIDStrName()].Value, "Object"); } else { element1 = eaPackage.Elements.AddNew(strObjName, "Object"); } if (oFieldsValidator.GetNotesStrName() != "") { element1.Notes = oFieldsValidator[oFieldsValidator.GetNotesStrName()].Value; } element1.ClassifierID = iBaseClassID; string strRunState = ""; foreach (DictionaryEntry deFieldIndo in oFieldsValidator.GetFields()) { FieldInfo oFieldInfo = (FieldInfo)deFieldIndo.Value; if ((string)oFieldInfo.Value != "") { if (!oFieldInfo.bIsID && !oFieldInfo.bIsNote) { strRunState = strRunState + "@VAR;Variable=" + oFieldInfo.ValueName + ";Value=" + (string)oFieldInfo.Value + ";Op==;@ENDVAR;"; } if (oFieldInfo.bIsNote) { strRunState = strRunState + "@VAR;Variable=" + oFieldInfo.ValueName + ";Value=See notes for this object;Op==;@ENDVAR;"; } } } element1.RunState = strRunState; element1.Update(); eaPackage.Elements.Refresh(); AddUCComponentToDiagram(eAMainPackage, diagram, element1.ElementID); } return(iErrCnt); }