Exemplo n.º 1
0
        private async Task DoRestore(string source, int version = 3)
        {
            SqlExecutionResult <string> sqlResult = ServiceBus.Get <IDataBaseService>().Restore(source, version, true);

            sqlResult.SqlMessageSent += SqlResultSqlMessageSent;
            try
            {
                await sqlResult.Start();

                sqlResult.SqlMessageSent -= SqlResultSqlMessageSent;
                this.TraceInfo("Le processus de restauration de la base de données s'est déroulé avec succés");
                SqlMessages.Add(new SqlOutput("restore process of the backup file has succeeded.", SqlOutputKind.Success));
                try
                {
                    if (File.Exists(source))
                    {
                        File.Delete(source);
                    }
                }
                catch (Exception ex)
                {
                    SqlMessages.Add(new SqlOutput("An error occured while trying to remove the imported backup file.", SqlOutputKind.Error));
                    this.TraceError("Suppression du fichier temporaire importé pour le processus de restauration", ex);
                }
                RestartApplication();
            }
            catch (Exception e)
            {
                sqlResult.SqlMessageSent -= SqlResultSqlMessageSent;
                this.TraceError(e, "Une erreur s'est produite durant le processus de restauration de base de donnée");
                SqlMessages.Add(new SqlOutput(e.InnerException ?? e));
                SqlMessages.Add(new SqlOutput("Restoration failed and rolled back.", SqlOutputKind.Error));
                try
                {
                    if (File.Exists(source))
                    {
                        File.Delete(source);
                    }
                }
                catch (Exception ex)
                {
                    SqlMessages.Add(new SqlOutput("An error occured while trying to remove the imported backup file.", SqlOutputKind.Error));
                    this.TraceError("Suppression du fichier temporaire importé pour le processus de restauration", ex);
                }
                RestartApplicationWithError();
            }
        }
Exemplo n.º 2
0
        private async Task <string> DoBackup()
        {
            SqlExecutionResult <string> sqlResult = ServiceBus.Get <IDataBaseService>().Backup(true);

            sqlResult.SqlMessageSent += SqlResultSqlMessageSent;
            try
            {
                string source = await sqlResult.Start();

                sqlResult.SqlMessageSent -= SqlResultSqlMessageSent;
                return(source);
            }
            catch (Exception e)
            {
                this.TraceError(e, "Une erreur s'est produite durant le processus de backup de base de donnée");
                SqlMessages.Add(new SqlOutput(e.InnerException ?? e));
                SqlMessages.Add(new SqlOutput("Backup failed and rolled back.", SqlOutputKind.Error));

                return(null);
            }
        }