Example #1
0
        /// <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;
            }
        }
Example #2
0
        /// <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;
        }