/// <summary> /// Saves the document at the given URI. Persists document data.</summary> /// <param name="document">Document to save</param> /// <param name="uri">New document URI</param> public void Save(IDocument document, Uri uri) { TimelineDocument timelineDocument = document as TimelineDocument; if (timelineDocument == null) { return; } if (m_fileWatcherService != null) { m_fileWatcherService.Unregister(uri.LocalPath); } string filePath = uri.LocalPath; FileMode fileMode = File.Exists(filePath) ? FileMode.Truncate : FileMode.OpenOrCreate; using (FileStream stream = new FileStream(filePath, fileMode)) { var writer = new TimelineXmlWriter(s_schemaLoader.TypeCollection); writer.Write(timelineDocument.DomNode, stream, uri); } if (m_fileWatcherService != null) { m_fileWatcherService.Register(uri.LocalPath); } // mark all sub-context histories as clean); foreach (EditingContext context in timelineDocument.EditingContexts) { context.History.Dirty = false; } }
/// <summary> /// Saves the document at the given URI. Persists document data.</summary> /// <param name="document">Document to save</param> /// <param name="uri">New document URI</param> public void Save(IDocument document, Uri uri) { TimelineDocument timelineDocument = document as TimelineDocument; if (timelineDocument == null) return; if (m_fileWatcherService != null) m_fileWatcherService.Unregister(uri.LocalPath); string filePath = uri.LocalPath; FileMode fileMode = File.Exists(filePath) ? FileMode.Truncate : FileMode.OpenOrCreate; using (FileStream stream = new FileStream(filePath, fileMode)) { var writer = new TimelineXmlWriter(s_schemaLoader.TypeCollection); writer.Write(timelineDocument.DomNode, stream, uri); } if (m_fileWatcherService != null) m_fileWatcherService.Register(uri.LocalPath); // mark all sub-context histories as clean); foreach (EditingContext context in timelineDocument.EditingContexts) context.History.Dirty = false; }