Exemple #1
0
        /// <summary>
        /// Save Changes
        /// </summary>
        public void Save(bool overwrite = false)
        {
            Debug.Assert(FileName != null, "Persistent Tree: File name is null.");

            var serializer = new MapZipSerializer();

            try
            {
                serializer.SerializeMap(this, FileName, overwrite);
            }
            catch (InvalidDataException) //in case of converting from old xml version, save without overwrite=true will not work
            {
                serializer.SerializeMap(this, FileName, true);
            }

            newLobs.Clear();
            deletedLobs.Clear();
            IsDirty = false;

            manager._InvokeTreeSaved(this);
        }
Exemple #2
0
        /// <summary>
        /// Save Changes
        /// </summary>
        public void Save(bool overwrite = false)
        {
            Debug.Assert(FileName != null, "Persistent Tree: File name is null.");

            //if overwrite then save all largeObjects, otherwise only new ones
            IEnumerable <KeyValuePair <string, byte[]> > largeObjectsToSave = overwrite ? lobCache : lobCache.Where(k => newLobs.Contains(k.Key));

            var serializer = new MapZipSerializer();

            try
            {
                serializer.SerializeMap(Tree, largeObjectsToSave, FileName, overwrite);
            }
            catch (InvalidDataException) //in case of converting from old xml version, save without overwrite=true will not work
            {
                serializer.SerializeMap(Tree, largeObjectsToSave, FileName, true);
            }

            newLobs.Clear();
            IsDirty = false;

            manager._InvokeTreeSaved(this);
        }