Aselia.Core.Cache.Save C# (CSharp) Method

Save() public method

public Save ( ) : bool
return bool
        public bool Save()
        {
            FileInfo tmp = new FileInfo(File.FullName + ".tmp");
            try
            {
                tmp.Delete();
                using (FileStream fs = tmp.Create())
                {
                    Serialize(fs, false);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);

                try
                {
                    tmp.Delete();
                }
                catch
                {
                }

                return false;
            }

            try
            {
                FileInfo bak = new FileInfo(File.FullName + ".bak");
                bak.Delete();
                if (File.Exists)
                {
                    tmp.Replace(File.FullName, bak.FullName);
                }
                else
                {
                    tmp.MoveTo(File.FullName);
                }
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);

                try
                {
                    tmp.Delete();
                }
                catch
                {
                }

                return false;
            }
        }