LevelOS-Core/UI/ArquivosAuxiliares/ExemploUSO.txt

95 lines
3.3 KiB
Plaintext

using DALL;
using System.Data;
// =============================================
// Configuração da connection string
// =============================================
var connectionString = "Server=206.42.13.180;Database=Levelcode-LevelOS;User Id=sa;Password=suasenha;TrustServerCertificate=True;";
var backupService = new DALLBackupService(connectionString);
// =============================================
// Backup FULL
// =============================================
var resultadoFull = backupService.ExecutarBackupFull();
if (resultadoFull.Sucesso)
Console.WriteLine($"✅ Backup FULL concluído em {resultadoFull.Duracao.TotalSeconds:F1}s");
else
Console.WriteLine($"❌ Erro no Backup FULL: {resultadoFull.Erro}");
// =============================================
// Backup DIFERENCIAL
// =============================================
var resultadoDiff = backupService.ExecutarBackupDiferencial();
if (resultadoDiff.Sucesso)
Console.WriteLine($"✅ Backup DIFERENCIAL concluído em {resultadoDiff.Duracao.TotalSeconds:F1}s");
else
Console.WriteLine($"❌ Erro no Backup DIFERENCIAL: {resultadoDiff.Erro}");
// =============================================
// Limpeza de backups antigos
// =============================================
var resultadoLimpeza = backupService.ExecutarLimpeza();
if (resultadoLimpeza.Sucesso)
Console.WriteLine($"✅ Limpeza concluída em {resultadoLimpeza.Duracao.TotalSeconds:F1}s");
else
Console.WriteLine($"❌ Erro na Limpeza: {resultadoLimpeza.Erro}");
// =============================================
// Listar histórico de backups
// =============================================
var historico = backupService.ListarHistoricoBackups();
Console.WriteLine("\n📋 Histórico de Backups:");
Console.WriteLine($"{"Tipo",-15} {"TamanhoMB",-12} {"Inicio",-22} {"Arquivo"}");
Console.WriteLine(new string('-', 90));
foreach (DataRow row in historico.Rows)
{
Console.WriteLine($"{row["Tipo"],-15} {row["TamanhoMB"],-12} {row["Inicio"],-22} {row["Arquivo"]}");
}
// =============================================
// Restauração FULL + DIFERENCIAL
// =============================================
// Pega o arquivo mais recente do histórico automaticamente
string arquivoFull = "";
string arquivoDiff = "";
foreach (DataRow row in historico.Rows)
{
if (row["Tipo"].ToString() == "FULL" && string.IsNullOrEmpty(arquivoFull))
arquivoFull = row["Arquivo"].ToString()!;
if (row["Tipo"].ToString() == "DIFERENCIAL" && string.IsNullOrEmpty(arquivoDiff))
arquivoDiff = row["Arquivo"].ToString()!;
if (!string.IsNullOrEmpty(arquivoFull) && !string.IsNullOrEmpty(arquivoDiff))
break;
}
// Restaura FULL
Console.WriteLine($"\n🔁 Restaurando FULL: {arquivoFull}");
var r1 = backupService.RestaurarBackup(arquivoFull, TipoRestauracao.Full);
if (r1.Sucesso)
{
Console.WriteLine($"✅ FULL restaurado em {r1.Duracao.TotalSeconds:F1}s");
// Aplica DIFERENCIAL após o FULL
Console.WriteLine($"🔁 Aplicando DIFERENCIAL: {arquivoDiff}");
var r2 = backupService.RestaurarBackup(arquivoDiff, TipoRestauracao.Diferencial);
if (r2.Sucesso)
Console.WriteLine($"✅ DIFERENCIAL aplicado em {r2.Duracao.TotalSeconds:F1}s — Banco online!");
else
Console.WriteLine($"❌ Erro no DIFERENCIAL: {r2.Erro}");
}
else
{
Console.WriteLine($"❌ Erro no FULL: {r1.Erro}");
}