/// <summary> /// Save the given document that is subordinate to this document. /// </summary> /// <param name="subordinateDocument"></param> /// <param name="fileName"></param> protected override void SaveSubordinateFile(DslShell::DocData subordinateDocument, string fileName) { // In this case, the only subordinate is the diagram. DslModeling::SerializationResult serializationResult = new DslModeling::SerializationResult(); global::System.Collections.Generic.IList <DslDiagrams::PresentationElement> diagrams = DslDiagrams::PresentationViewsSubject.GetPresentation(this.RootElement); if (diagrams.Count > 0) { global::pelsoft.FWK_Dsl.ClassDiagram diagram = diagrams[0] as global::pelsoft.FWK_Dsl.ClassDiagram; if (diagram != null) { try { this.SuspendFileChangeNotification(fileName); global::pelsoft.FWK_Dsl.FWK_DslSerializationHelper.Instance.SaveDiagram(serializationResult, diagram, fileName, this.Encoding, false); } finally { this.ResumeFileChangeNotification(fileName); } } } // Report serialization messages. this.SuspendErrorListRefresh(); try { foreach (DslModeling::SerializationMessage serializationMessage in serializationResult) { this.AddErrorListItem(new DslShell::SerializationErrorListItem(this.ServiceProvider, serializationMessage)); } } finally { this.ResumeErrorListRefresh(); } if (!serializationResult.Failed) { // Notify the Running Document Table that the subordinate has been saved if (this.ServiceProvider != null) { VSShellInterop::IVsRunningDocumentTable rdt = (VSShellInterop.IVsRunningDocumentTable) this.ServiceProvider.GetService(typeof(VSShellInterop::IVsRunningDocumentTable)); if (rdt != null && this.diagramDocumentLockHolder != null && this.diagramDocumentLockHolder.SubordinateDocData != null) { global::Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(rdt.NotifyOnAfterSave(this.diagramDocumentLockHolder.SubordinateDocData.Cookie)); } } } else { // Save failed. throw new global::System.InvalidOperationException(global::pelsoft.FWK_Dsl.FWK_DslDomainModel.SingletonResourceManager.GetString("CannotSaveDocument")); } }
/// <summary> /// Save the given document that is subordinate to this document. /// </summary> /// <param name="subordinateDocument"></param> /// <param name="fileName"></param> protected override void SaveSubordinateFile(DslShell::DocData subordinateDocument, string fileName) { // In this case, the only subordinate is the diagram. DslModeling::SerializationResult serializationResult = new DslModeling::SerializationResult(); global::System.Collections.Generic.IList <DslDiagrams::PresentationElement> diagrams = DslDiagrams::PresentationViewsSubject.GetPresentation(this.RootElement); if (diagrams.Count > 0) { global::UPM_IPS.RAARMAPMCWeberMDD.RAARMAPMCWeberMDDDiagram diagram = diagrams[0] as global::UPM_IPS.RAARMAPMCWeberMDD.RAARMAPMCWeberMDDDiagram; if (diagram != null) { try { this.SuspendFileChangeNotification(fileName); global::UPM_IPS.RAARMAPMCWeberMDD.RAARMAPMCWeberMDDSerializationHelper.Instance.SaveDiagram(serializationResult, diagram, fileName, this.Encoding, false); } finally { this.ResumeFileChangeNotification(fileName); } } } // Report serialization messages. this.SuspendErrorListRefresh(); try { foreach (DslModeling::SerializationMessage serializationMessage in serializationResult) { this.AddErrorListItem(new DslShell::SerializationErrorListItem(this.ServiceProvider, serializationMessage)); } } finally { this.ResumeErrorListRefresh(); } if (!serializationResult.Failed) { this.NotifySubordinateDocumentSaved(subordinateDocument.FileName, fileName); } else { // Save failed. throw new global::System.InvalidOperationException(global::UPM_IPS.RAARMAPMCWeberMDD.RAARMAPMCWeberMDDDomainModel.SingletonResourceManager.GetString("CannotSaveDocument")); } }
/// <summary> /// Save the given document that is subordinate to this document. /// </summary> /// <param name="subordinateDocument"></param> /// <param name="fileName"></param> protected override void SaveSubordinateFile(DslShell::DocData subordinateDocument, string fileName) { // In this case, the only subordinate is the diagram. DslModeling::SerializationResult serializationResult = new DslModeling::SerializationResult(); var diagrams = this.GetDiagrams().ToArray(); if (diagrams.Length > 0) { try { this.SuspendFileChangeNotification(fileName); global::Sawczyn.EFDesigner.EFModel.EFModelSerializationHelper.Instance.SaveDiagrams(serializationResult, diagrams, fileName, this.Encoding, false); } finally { this.ResumeFileChangeNotification(fileName); } } // Report serialization messages. this.SuspendErrorListRefresh(); try { foreach (DslModeling::SerializationMessage serializationMessage in serializationResult) { this.AddErrorListItem(new DslShell::SerializationErrorListItem(this.ServiceProvider, serializationMessage)); } } finally { this.ResumeErrorListRefresh(); } if (!serializationResult.Failed) { this.NotifySubordinateDocumentSaved(subordinateDocument.FileName, fileName); } else { // Save failed. throw new global::System.InvalidOperationException(global::Sawczyn.EFDesigner.EFModel.EFModelDomainModel.SingletonResourceManager.GetString("CannotSaveDocument")); } CleanupOldDiagramFiles(); }