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}"); }