コード例 #1
0
        //Used to import the backups from the specified backup folder.
        public async Task ImportDatabases(List <string> databases, string connectionString)
        {
            string folderPath = $"{_backupFolderPath}{ DateTime.Now.ToString("dd-MM-yyyy")}\\";

            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    //Try to open the server connection.
                    conn.Open();
                    FormControls.OutputToApp("Importing databases...");

                    for (int i = 0; i < databases.Count; i++)
                    {
                        //Setup command for sql.
                        FormControls.OutputToApp($"Dropping database: {databases[i]}");
                        string     sqlCommand = $"DROP DATABASE IF EXISTS {databases[i]}";
                        SqlCommand cmd        = new SqlCommand(sqlCommand, conn);
                        cmd.ExecuteNonQuery();

                        await SQLPackage.Run("Import", databases[i], connectionString, folderPath);
                    }
                }
            }
            catch (Exception e)
            {
                FormControls.OutputToApp($"Error: {e}");
            }

            FormControls.OutputToApp("Finished Importing");
        }
コード例 #2
0
        //Used to export the database backup from LIVE to a local folder.
        public async Task <bool> ExportDatabases(List <string> databases, string connectionString)
        {
            string folderPath = $"{_backupFolderPath}{DateTime.Now.ToString("dd-MM-yyyy")}\\";

            FormControls.ToggleAllElements(false);
            Directory.CreateDirectory(folderPath);


            for (int i = 0; i < databases.Count; i++)
            {
                if (!await SQLPackage.Run("Export", databases[i], connectionString, folderPath))
                {
                    FormControls.ClearOutputToApp();
                    return(false);
                }
            }

            FormControls.OutputToApp("------------------");
            FormControls.OutputToApp("Finished Exporting");

            return(true);
        }