Ejemplo n.º 1
0
 public void SaveAs(string fileName)
 {
     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();
         }
         if (fi.Name.EndsWith(".gz"))
         {
             var s               = Serializer.SerializeToXmlString(this, Encoding.UTF8, true);
             var bytes           = Encoding.UTF8.GetBytes(s);
             var compressedBytes = SettingsHelper.Compress(bytes);
             File.WriteAllBytes(fi.FullName, compressedBytes);
         }
         else
         {
             Serializer.SerializeToXmlFile(this, fi.FullName, Encoding.UTF8, true, _Comment);
         }
     }
 }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
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);
            }
        }