/// <summary> /// Gera backup em segundo plano /// </summary> /// <returns></returns> private Task <bool> GerarBackup() { StartProgress = true; BlackBox = Visibility.Visible; return(Task <bool> .Factory.StartNew(() => { string backupfolder = AppDomain.CurrentDomain.BaseDirectory + @"backup\"; string uploadfolder = AppDomain.CurrentDomain.BaseDirectory + @"upload\"; try { //System.IO.Directory.Delete(_root, true); //ZipUnzip.ProgressDelegate txt; string file = @"" + DateTime.Now.Year.ToString("0000") + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + "_" + DateTime.Now.Hour.ToString("00") + DateTime.Now.Minute.ToString("00") + DateTime.Now.Second.ToString("00") + ".gz"; string backupfile = uploadfolder + file; string db1file = ConnectionString + "SimDataBase1.mdb"; string dbNfile = ConnectionString + "SimDataBase1_N.mdb"; string db2file = ConnectionString + "SimDataBase2.mdb"; string db3file = ConnectionString + "SimDataBase3.mdb"; string db4file = ConnectionString + "SimDataBase4.mdb"; if (ConnectionString == @"|DataDirectory|\DataBase\") { db1file = AppDomain.CurrentDomain.BaseDirectory + @"DataBase\SimDataBase1.mdb"; dbNfile = AppDomain.CurrentDomain.BaseDirectory + @"DataBase\SimDataBase1_N.mdb"; db2file = AppDomain.CurrentDomain.BaseDirectory + @"DataBase\SimDataBase2.mdb"; db3file = AppDomain.CurrentDomain.BaseDirectory + @"DataBase\SimDataBase3.mdb"; db4file = AppDomain.CurrentDomain.BaseDirectory + @"DataBase\SimDataBase4.mdb"; } if (!System.IO.Directory.Exists(backupfolder)) { System.IO.Directory.CreateDirectory(backupfolder); } if (!System.IO.Directory.Exists(uploadfolder)) { System.IO.Directory.CreateDirectory(uploadfolder); } System.IO.File.Copy(db1file, backupfolder + "SimDataBase1.mdb", true); System.IO.File.Copy(dbNfile, backupfolder + "SimDataBase1_N.mdb", true); System.IO.File.Copy(db2file, backupfolder + "SimDataBase2.mdb", true); System.IO.File.Copy(db3file, backupfolder + "SimDataBase3.mdb", true); System.IO.File.Copy(db4file, backupfolder + "SimDataBase4.mdb", true); //MessageBox.Show(uploadfolder); Compress.CompressDirectory(backupfolder, backupfile, null); System.IO.File.Copy(backupfile, BackupPath + @"\" + file, true); return true; } catch (Exception ex) { return false; throw new Exception(ex.Message); } finally { System.IO.Directory.Delete(backupfolder, true); System.IO.Directory.Delete(uploadfolder, true); StartProgress = false; BlackBox = Visibility.Collapsed; } })); }