Ejemplo n.º 1
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            Master.PageTitle  = DatabaseBackupStrings.GetText(@"BackupPageTitle");
            Master.ActiveMenu = "Backup";

            chkAcceptRestore1.Checked = chkAcceptRestore2.Checked = false;
        }
Ejemplo n.º 2
0
        protected void btnRestore_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                if (fuRestoreFile.PostedFile == null || fuRestoreFile.PostedFile.ContentLength == 0)
                {
                    Master.MessageCenter.DisplayWarningMessage(DatabaseBackupStrings.GetText(@"BackupFileEmptyErrorMessage"));
                    return;
                }

                string fullSqlPath = Files.AquireUploadFileName(@"MySqlBackup.sql", Settings.GetSetting(Settings.Keys.SECURE_UPLOAD_FOLDER), null, true, true, false);
                fuRestoreFile.PostedFile.SaveAs(fullSqlPath);
                Files.TemporaryFileDeleter fileDeleter = new Files.TemporaryFileDeleter(fullSqlPath);
                try
                {
                    string sql = @"";
                    if (Path.GetExtension(fuRestoreFile.PostedFile.FileName).ToLower() == @".gz")
                    {
                        using (GZipStream gzipStream = new GZipStream(File.Open(fullSqlPath, FileMode.Open, FileAccess.Read, FileShare.Read), CompressionMode.Decompress))
                        {
                            using (StreamReader reader = new StreamReader(gzipStream, Encoding.UTF8, true))
                            {
                                sql = reader.ReadToEnd();
                            }
                        }
                    }
                    else
                    {
                        sql = File.ReadAllText(fullSqlPath, Encoding.UTF8);
                    }

                    using (ConnectorBase conn = ConnectorBase.NewInstance())
                    {
                        conn.ExecuteScript(sql);
                    }

                    fileDeleter.DeleteFile();
                    Master.MessageCenter.DisplaySuccessMessage(DatabaseBackupStrings.GetText(@"RestoreFinishedMessage"));
                }
                catch (System.Exception ex)
                {
                    Master.MessageCenter.DisplayErrorMessage(string.Format(DatabaseBackupStrings.GetText(@"RestoreGeneralError"), ex.Message));
                }
            }
        }