LevelOS-Core/UI/Dashboards/Consultas/BackupExecucaoDetalhePanel.cs

92 lines
3.3 KiB
C#

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() { }
}
}