void AddNewEntitiesToSubModel(string submodelName) { Submodel subModel = Model.Submodels.Submodel.FirstOrDefault(submodel => submodel.Name == submodelName); if (subModel == null) { throw new ArgumentNullException($"Submodel '{submodelName}' does not exist in the current model."); } IEnumerable <string> mainModelNodeLabels = subModel.Node.Select(node => node.Label).OrderBy(label => label); IEnumerable <string> entityLabels = Model.Entities.Entity.Select(entity => entity.Label).OrderBy(label => label); List <Entity> entitiesToAddToMainModel = new List <Entity>(); foreach (var entityLabel in entityLabels.Except(mainModelNodeLabels)) { entitiesToAddToMainModel.Add(Model.Entities.Entity.FirstOrDefault(label => label.Label == entityLabel)); } subModel.AddEntities(entitiesToAddToMainModel, 0, 0); Model.CaptureCoordinates(); if (this.entityEditor.IsEditable) { entityEditor.Reload(); } }
void GraphEditor_EditSubmodelClick(object sender, EventArgs e) { ManageSubmodelForm form = new Modeller.ManageSubmodelForm(Model, Model.DisplayedSubmodel); if (form.ShowDialog() == DialogResult.OK) { Model.CaptureCoordinates(); Model.RebindControl(); RefreshNodeCombobox(); FillSubmodelComboBox(form.Submodel); } }
private void BtnSave_Click(object sender, EventArgs e) { if (File.Exists(StoragePath) == false && SaveAs() == DialogResult.Cancel) { return; } Model.HasChanges = false; Model.CaptureCoordinates(); Model.Save(StoragePath); MessageBox.Show("Diagram saved successfully.", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information); if (this.entityEditor.IsEditable) { entityEditor.Reload(); } }
DialogResult CheckForChangesAndSaveIfPossible() { if (Model == null || Model.HasChanges == false) { return(DialogResult.No); } string fileName = Path.GetFileName(StoragePath); DialogResult result = MessageBox.Show($@"Do you want to save changes to ""{fileName}"" ?", "Save Changes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (result == DialogResult.Yes) { Model.HasChanges = false; Model.CaptureCoordinates(); Model.Save(StoragePath); } return(result); }
private void GenerateUpdateScriptToolStripMenuItem_Click(object sender, EventArgs e) { ModuleLoader module = ModuleLoader.GetModule("Compare"); if (module == null) { MessageBox.Show("The comparer is not available.", "Info", System.Windows.Forms.MessageBoxButtons.OK); return; } else { // Save it before generating update script Model.CaptureCoordinates(); Model.Save(StoragePath); module.RunModule(Model.Xml, StoragePath); // Re initalize model after generating update script // this will reload the xml InitializeXmlModeller(); } }