public void SaveAs(string fileName) { var ev = Saving; if (ev != null) { ev(this, new EventArgs()); } lock (saveReadFileLock) { for (int i = 0; i < Items.Count; i++) { var o = Items[i] as EntityObject; if (o != null) { o.EntityKey = null; } } var fi = new FileInfo(fileName); if (!fi.Directory.Exists) { fi.Directory.Create(); } byte[] bytes; bytes = Serializer.SerializeToXmlBytes(this, Encoding.UTF8, true, _Comment); if (fi.Name.EndsWith(".gz")) { bytes = SettingsHelper.Compress(bytes); } SettingsHelper.WriteIfDifferent(fi.FullName, bytes); } }
public void SaveAs(string fileName) { var ev = Saving; if (ev != null) { ev(this, new EventArgs()); } var items = ItemsToArraySynchronized(); lock (saveReadFileLock) { var type = items.FirstOrDefault()?.GetType(); if (type != null && type.Name.EndsWith("EntityObject")) { var pi = type.GetProperty("EntityKey"); for (int i = 0; i < items.Length; i++) { pi.SetValue(items[i], null); } } var fi = new FileInfo(fileName); if (!fi.Directory.Exists) { fi.Directory.Create(); } byte[] bytes; bytes = Serializer.SerializeToXmlBytes(this, Encoding.UTF8, true, _Comment); if (fi.Name.EndsWith(".gz")) { bytes = SettingsHelper.Compress(bytes); } SettingsHelper.WriteIfDifferent(fi.FullName, bytes); } }