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