/// <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); }
/// <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); }