private void DeleteGenModels(EA.Repository Repository) { DialogResult dialogResult = MessageBox.Show( "Are you sure you want to delete the contents of «InteractionSpace View» and «NavigationSpace View»?", "XIS-Web Plugin", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dialogResult == DialogResult.Yes) { EA.Package rootPackage = Repository.Models.GetAt(0).Packages.GetAt(0); EA.Package navigationView = null; EA.Package interactionView = null; foreach (EA.Package package in rootPackage.Packages) { if (package.StereotypeEx == "InteractionSpace View") { interactionView = package; } else if (package.StereotypeEx == "NavigationSpace View") { navigationView = package; } } if (interactionView != null) { if (interactionView.Diagrams.Count > 0) { EA.Collection diagrams = interactionView.Diagrams; for (short i = 0; i < diagrams.Count; i++) { interactionView.Diagrams.Delete(i); } } if (interactionView.Elements.Count > 0) { EA.Collection elements = interactionView.Elements; for (short i = 0; i < elements.Count; i++) { interactionView.Elements.Delete(i); } } Repository.RefreshModelView(interactionView.PackageID); } if (navigationView != null) { if (navigationView.Diagrams.Count > 0) { EA.Collection diagrams = navigationView.Diagrams; for (short i = 0; i < diagrams.Count; i++) { navigationView.Diagrams.Delete(i); } } if (navigationView.Elements.Count > 0) { EA.Collection elements = navigationView.Elements; for (short i = 0; i < elements.Count; i++) { navigationView.Elements.Delete(i); } } Repository.RefreshModelView(navigationView.PackageID); } } }
//---------------------------------------------------------------------------- // updateActionPinForPackage(EA.Repository rep, EA.Package pkg) //---------------------------------------------------------------------------- public static bool UpdateActionPinForPackage(EA.Repository rep, EA.Package pkg) { foreach (EA.Element el in pkg.Elements) { // update parameter if (el.Type == "Action") { UpdateActionPinParameter(rep, el); rep.RefreshModelView(pkg.PackageID); // reload package } if (el.Type == "Activity") { foreach (EA.Element elSub in el.Elements) { UpdateActionPinForElement(rep, elSub); } } } foreach (EA.Package pkgSub in pkg.Packages) { // update all packages UpdateActionPinForPackage(rep, pkgSub); } return true; }
public void newinfo(EA.Repository Repository) { Form7 form = new Form7(); form.ShowDialog(); if (form.confirm == 1) { this.encours = false; int packageid = 0; int packinfoid = 0; EA.Package pack0 = Repository.Models.GetAt(0); foreach (EA.Package package in pack0.Packages) { foreach (EA.Package pack in package.Packages) { packageid = pack.PackageID; } } pack0 = Repository.GetPackageByID(packageid); foreach (EA.Package packinfo in pack0.Packages) { if (packinfo.Name == "Informations exchanged") packinfoid = packinfo.PackageID; } if (packinfoid == 0) { EA.Collection collec = pack0.Packages; EA.Package packinfo = collec.AddNew("Informations exchanged", "Package"); packinfo.Update(); collec.Refresh(); pack0.Update(); packinfoid = packinfo.PackageID; } EA.Collection newinfo = Repository.GetPackageByID(packinfoid).Elements; EA.Element info = newinfo.AddNew(form.ID.Text, "Class"); EA.Collection newinfoattributes = info.Attributes; EA.Attribute att = newinfoattributes.AddNew("id", "char"); att.Default = form.ID.Text; att.Pos = 1; att.Update(); att = newinfoattributes.AddNew("name", "char"); att.Default = form.Name.Text; att.Pos = 2; att.Update(); att = newinfoattributes.AddNew("description", "char"); att.Default = form.Description.Text; att.Pos = 3; att.Update(); newinfoattributes.Refresh(); info.Update(); newinfo.Refresh(); Repository.RefreshModelView(packinfoid); } this.encours = true; }
/// <summary> /// method executes synchronization process /// </summary> /// <param name="repository">EA repository</param> public void executeSynchronization(EA.Repository repository) { User user = getLoggedUser(); using (WebClient webClient = new WebClient()) { this.user = user; string result = "", result2 = "", result3 = ""; ModelInformation synchronizationData = new ModelInformation(); synchronizationData.token = user.token; EA.Package package = (EA.Package)repository.GetPackageByID(1); synchronizationData.modelGUID = package.PackageGUID; string data = user.token; BPAddIn.changesAllowed = false; webClient.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8"; result = webClient.UploadString(Utils.serviceAddress + "/synchronization/getNumber", user.token); int number = Convert.ToInt32(result); if (BPAddIn.synchronizationWindow == null) { BPAddIn.synchronizationWindow = repository.AddWindow("Synchronization", "BPAddIn.SynchronizationPackage.SynchronizationWindow") as SynchronizationWindow; } repository.ShowAddinWindow("Synchronization"); BPAddIn.synchronizationWindow.removeList(); DateTime localDate = DateTime.Now; var culture = new CultureInfo("de-DE"); BPAddIn.synchronizationWindow.addToList(localDate.ToString(culture)); if (number == 0) { BPAddIn.synchronizationWindow.addToList("No modifications."); BPAddIn.changesAllowed = true; return; } while (true) { try { data = user.token; webClient.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8"; result2 = webClient.UploadString(Utils.serviceAddress + "/synchronization/changes", data); ModelChange modelChange = JsonConvert.DeserializeObject<ModelChange>(result2, new JsonItemConverter()); if (modelChange == null) { data = user.token; continue; } if (modelChange is PropertyChange) { PropertyChange propertyChange = (PropertyChange)modelChange; if (propertyChange.timestamp == "-1") { repository.ShowAddinWindow("Synchronization"); repository.RefreshModelView(1); break; } } if (modelChange is ItemCreation) { ItemCreation itemCreation = (ItemCreation)modelChange; //addition NewCorrespondenceNode newCorrNode = new NewCorrespondenceNode(); newCorrNode.firstUsername = user.username; newCorrNode.firstItemGUID = synchronization.handleSynchronizationAdditions(itemCreation, repository); newCorrNode.secondUsername = itemCreation.userName; newCorrNode.secondItemGUID = itemCreation.itemGUID; data = EncodeNonAsciiCharacters(newCorrNode.serialize()); webClient.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8"; result3 = webClient.UploadString(Utils.serviceAddress + "/corrModel/createNode", data); } else if (modelChange is PropertyChange) { PropertyChange propertyChange = (PropertyChange)modelChange; if (propertyChange.elementDeleted == 0) { synchronization.handleSynchronizationChanges(propertyChange, repository); //change } else { synchronization.handleSynchronizationDeletions(propertyChange, repository); //deletion } } else if (modelChange is StepChange) //scenarios { StepChange scenarioChange = (StepChange)modelChange; if (scenarioChange.status == 1) //addition { NewCorrespondenceNode newCorrNode = new NewCorrespondenceNode(); newCorrNode.firstUsername = user.username; newCorrNode.firstItemGUID = synchronization.handleScenarioAddition(scenarioChange, repository); newCorrNode.secondUsername = scenarioChange.userName; newCorrNode.secondItemGUID = scenarioChange.scenarioGUID; data = EncodeNonAsciiCharacters(newCorrNode.serialize()); webClient.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8"; result3 = webClient.UploadString(Utils.serviceAddress + "/corrModel/createNode", data); } else if (scenarioChange.status == 2 || scenarioChange.status == 0) //change or deletion { synchronization.handleScenarioChange(scenarioChange, repository); } } } catch (Exception e) { continue; } } } }
public void newreference(EA.Repository Repository) { Form8 form = new Form8(); form.ShowDialog(); if (form.confirm == 1) { this.encours = false; int packageid = 0; int packreferenceid = 0; EA.Package pack0 = Repository.Models.GetAt(0); foreach (EA.Package package in pack0.Packages) { foreach (EA.Package pack in package.Packages) { packageid = pack.PackageID; } } pack0 = Repository.GetPackageByID(packageid); foreach (EA.Package packreference in pack0.Packages) { if (packreference.Name == "References") packreferenceid = packreference.PackageID; } if (packreferenceid == 0) { EA.Collection collec = pack0.Packages; EA.Package packreference = collec.AddNew("References", "Package"); packreference.Update(); collec.Refresh(); pack0.Update(); packreferenceid = packreference.PackageID; } EA.Collection newreference = Repository.GetPackageByID(packreferenceid).Elements; EA.Element reference = newreference.AddNew("Reference_" + form.No.Text, "Class"); EA.Collection newreferenceattributes = reference.Attributes; EA.Attribute att = newreferenceattributes.AddNew("no", "char"); att.Default = form.No.Text; att.Pos = 1; att.Update(); att = newreferenceattributes.AddNew("type", "char"); att.Default = form.Type.Text; att.Pos = 2; att.Update(); att = newreferenceattributes.AddNew("reference", "char"); att.Default = form.Reference.Text; att.Pos = 3; att.Update(); att = newreferenceattributes.AddNew("status", "char"); att.Default = form.Status.Text; att.Pos = 4; att.Update(); att = newreferenceattributes.AddNew("impact", "char"); att.Default = form.Impact.Text; att.Pos = 5; att.Update(); att = newreferenceattributes.AddNew("originator", "char"); att.Default = form.Originator.Text; att.Pos = 6; att.Update(); att = newreferenceattributes.AddNew("link", "char"); att.Default = form.Link.Text; att.Pos = 7; att.Update(); newreferenceattributes.Refresh(); reference.Update(); newreference.Refresh(); Repository.RefreshModelView(packreferenceid); } this.encours = true; }
public void newcustominfo(EA.Repository Repository) { Form6 form = new Form6(); form.ShowDialog(); if (form.confirm == 1) { this.encours = false; int packageid = 0; int packcustomid = 0; EA.Package pack0 = Repository.Models.GetAt(0); foreach (EA.Package package in pack0.Packages) { foreach (EA.Package pack in package.Packages) { packageid = pack.PackageID; } } pack0 = Repository.GetPackageByID(packageid); foreach (EA.Package packcustom in pack0.Packages) { if (packcustom.Name == "Custom Informations") packcustomid = packcustom.PackageID; } if (packcustomid == 0) { EA.Collection collec = pack0.Packages; EA.Package packcustom = collec.AddNew("Custom Informations", "Package"); packcustom.Update(); collec.Refresh(); pack0.Update(); packcustomid = packcustom.PackageID; } EA.Collection newcustom = Repository.GetPackageByID(packcustomid).Elements; EA.Element custom = newcustom.AddNew(form.Key.Text, "Class"); EA.Collection newcustomattributes = custom.Attributes; EA.Attribute att = newcustomattributes.AddNew("key", "char"); att.Default = form.Key.Text; att.Pos = 1; att.Update(); att = newcustomattributes.AddNew("value", "char"); att.Default = form.Value.Text; att.Pos = 2; att.Update(); att = newcustomattributes.AddNew("refers", "char"); att.Default = form.Refers.Text; att.Pos = 3; att.Update(); newcustomattributes.Refresh(); custom.Update(); newcustom.Refresh(); Repository.RefreshModelView(packcustomid); } this.encours = true; }
public void newKPI(EA.Repository Repository) { Form5 form = new Form5(); form.ShowDialog(); if (form.confirm == 1) { this.encours = false; int packageid = 0; int packkpiid = 0; EA.Package pack0 = Repository.Models.GetAt(0); foreach (EA.Package package in pack0.Packages) { foreach (EA.Package pack in package.Packages) { packageid = pack.PackageID; } } pack0 = Repository.GetPackageByID(packageid); foreach (EA.Package packkpi in pack0.Packages) { if (packkpi.Name == "KPI") packkpiid = packkpi.PackageID; } if (packkpiid == 0) { EA.Collection collec = pack0.Packages; EA.Package packkpi = collec.AddNew("KPI", "Package"); packkpi.Update(); collec.Refresh(); pack0.Update(); packkpiid = packkpi.PackageID; } EA.Collection newkpi = Repository.GetPackageByID(packkpiid).Elements; EA.Element kpi = newkpi.AddNew("KPI_" + form.ID.Text, "Class"); EA.Collection newkpiattributes = kpi.Attributes; EA.Attribute att = newkpiattributes.AddNew("id", "char"); att.Default = form.ID.Text; att.Pos = 1; att.Update(); att = newkpiattributes.AddNew("name", "char"); att.Default = form.Name.Text; att.Pos = 2; att.Update(); att = newkpiattributes.AddNew("description", "char"); att.Default = form.Description.Text; att.Pos = 3; att.Update(); att = newkpiattributes.AddNew("reference", "char"); att.Default = form.Reference.Text; att.Pos = 4; att.Update(); newkpiattributes.Refresh(); kpi.Update(); newkpi.Refresh(); Repository.RefreshModelView(packkpiid); } this.encours = true; }
public void newterm(EA.Repository Repository) { Form4 form = new Form4(); form.ShowDialog(); if (form.confirm == 1) { this.encours = false; int packageid = 0; int packtermid = 0; EA.Package pack0 = Repository.Models.GetAt(0); foreach (EA.Package package in pack0.Packages) { foreach (EA.Package pack in package.Packages) { packageid = pack.PackageID; } } pack0 = Repository.GetPackageByID(packageid); foreach (EA.Package packterm in pack0.Packages) { if (packterm.Name == "Terms") packtermid = packterm.PackageID; } if (packtermid == 0) { EA.Collection collec = pack0.Packages; EA.Package packterm = collec.AddNew("Terms", "Package"); packterm.Update(); collec.Refresh(); pack0.Update(); packtermid = packterm.PackageID; } EA.Collection newterm = Repository.GetPackageByID(packtermid).Elements; EA.Element term = newterm.AddNew(form.Term.Text, "Class"); EA.Collection newtermattributes = term.Attributes; EA.Attribute att = newtermattributes.AddNew("term", "char"); att.Default = form.Term.Text; att.Pos = 1; att.Update(); att = newtermattributes.AddNew("definition", "char"); att.Default = form.Definition.Text; att.Pos = 2; att.Update(); newtermattributes.Refresh(); term.Update(); newterm.Refresh(); Repository.RefreshModelView(packtermid); } this.encours = true; }
public void newversion(EA.Repository Repository) { Form3 form = new Form3(); form.ShowDialog(); if (form.confirm == 1) { this.encours = false; int packageid = 0; int packversionid = 0; EA.Package pack0 = Repository.Models.GetAt(0); foreach (EA.Package package in pack0.Packages) { foreach (EA.Package pack in package.Packages) { packageid = pack.PackageID; } } pack0 = Repository.GetPackageByID(packageid); foreach (EA.Package packversion in pack0.Packages) { if (packversion.Name == "Version") packversionid = packversion.PackageID; } if (packversionid == 0) { EA.Collection collec = pack0.Packages; EA.Package packversion = collec.AddNew("Version", "Package"); packversion.Update(); collec.Refresh(); pack0.Update(); packversionid = packversion.PackageID; } EA.Collection newversion = Repository.GetPackageByID(packversionid).Elements; EA.Element version = newversion.AddNew("Version" + form.number.Text, "Class"); EA.Collection newversionattributes = version.Attributes; EA.Attribute att = newversionattributes.AddNew("number", "char"); att.Default = form.number.Text; att.Pos = 1; att.Update(); att = newversionattributes.AddNew("date", "char"); att.Default = form.Date.Text; att.Pos = 2; att.Update(); att = newversionattributes.AddNew("author", "char"); att.Default = form.author.Text; att.Pos = 3; att.Update(); att = newversionattributes.AddNew("changes", "char"); att.Default = form.Changes.Text; att.Pos = 4; att.Update(); att = newversionattributes.AddNew("status", "char"); att.Default = form.Status.Text; att.Pos = 5; att.Update(); newversionattributes.Refresh(); version.Update(); newversion.Refresh(); Repository.RefreshModelView(packversionid); } this.encours = true; }