using CPM; using MLL; using System; using System.Drawing; using System.Windows.Forms; using UI; namespace UI { public partial class BackupExecucaoDetalhePanel : FormularioModelo { private ModeloBackupExecucao _exec = new ModeloBackupExecucao(); // Controles - Identificação private LV_TEXTBOX1 txtId, txtIdBackup, txtStatus, txtData; // Controles - Métricas de Performance private LV_TEXTBOX1 txtTamanho, txtDuracao; // Controles - Resultado private LV_TEXTBOX1 txtMensagem; public BackupExecucaoDetalhePanel() { this.Titulo = "Detalhes da Execução de Backup"; MontarInterface(); } private void MontarInterface() { // --- SEÇÃO 1: Identificação do Evento --- content.Controls.Add(CreateSectionHeader("INFORMAÇÕES DA EXECUÇÃO", 20)); txtId = AddInput(content, "ID LOG", 20, 50, 80, 30, true); txtIdBackup = AddInput(content, "ID CONFIG. ORIGEM", 110, 50, 120, 30, true); txtData = AddInput(content, "DATA/HORA EXECUÇÃO", 240, 50, 200, 30, true); txtStatus = AddInput(content, "STATUS FINAL", 450, 50, 150, 30, true); txtStatus.Font = new Font("Segoe UI", 10, FontStyle.Bold); // --- SEÇÃO 2: Métricas --- content.Controls.Add(CreateSectionHeader("MÉTRICAS E DESEMPENHO", 115)); txtTamanho = AddInput(content, "TAMANHO DO ARQUIVO (BYTES)", 20, 145, 230, 30, true); txtDuracao = AddInput(content, "DURAÇÃO (SEGUNDOS)", 260, 145, 180, 30, true); // --- SEÇÃO 3: Log Completo --- content.Controls.Add(CreateSectionHeader("MENSAGEM DO SISTEMA / ERRO", 210)); txtMensagem = AddInput(content, "DETALHAMENTO DO PROCESSO", 20, 240, 815, 80, true); txtMensagem.Multiline = true; content.Height = 350; } // Método para carregar os dados (usado pela tela de listagem/grid) public void CarregarDados(ModeloBackupExecucao execucao) { _exec = execucao; txtId.Text = _exec.Id.ToString(); txtIdBackup.Text = _exec.IdBackup.ToString(); txtData.Text = _exec.DataExecucao.ToString("dd/MM/yyyy HH:mm:ss"); txtStatus.Text = _exec.Status.ToUpper(); txtTamanho.Text = _exec.TamanhoArquivo?.ToString("N0") ?? "0"; txtDuracao.Text = _exec.DuracaoSegundos?.ToString() + "s"; txtMensagem.Text = _exec.Mensagem; // Alerta visual para falhas if (_exec.Status.ToLower() == "erro" || _exec.Status.ToLower() == "falha") { txtStatus.BackColor = Color.FromArgb(255, 230, 230); txtStatus.ForeColor = Color.Red; } else { txtStatus.BackColor = Color.FromArgb(230, 255, 230); txtStatus.ForeColor = Color.DarkGreen; } } protected override void OnNovo() { } // Bloqueado para logs protected override void OnSalvar() { } // Bloqueado para logs protected override void OnAlterar() { } protected override void OnCancelar() { } protected override void OnExcluir() { } protected override void OnLocalizar() { } } }