using CPM; using MLL; using System; using System.Drawing; using System.Windows.Forms; using UI; namespace UI { public partial class LogUserConsultaPanel : FormularioModelo { private ModeloLogUser _log = new ModeloLogUser(); // Controles - Quem e Quando private LV_TEXTBOX1 txtId, txtCodigo, txtUsuario, txtMicro, txtDiaLog; // Controles - O Quê e Onde private LV_TEXTBOX1 txtAcao, txtEnderCli; // Controles - Nível de Severidade private ComboBox cbRisco; public LogUserConsultaPanel() { this.Titulo = "Auditoria de Eventos e Logs de Usuário"; MontarInterface(); } private void MontarInterface() { // --- SEÇÃO 1: Identificação do Evento --- content.Controls.Add(CreateSectionHeader("DETALHES DA OCORRÊNCIA", 20)); txtId = AddInput(content, "ID LOG", 20, 50, 70, 30, true); txtCodigo = AddInput(content, "CÓD. REF", 100, 50, 110, 30, true); txtDiaLog = AddInput(content, "DATA/HORA DO EVENTO", 220, 50, 200, 30, true); // --- SEÇÃO 2: Rastreabilidade de Origem --- content.Controls.Add(CreateSectionHeader("ORIGEM E USUÁRIO", 115)); txtUsuario = AddInput(content, "OPERADOR", 20, 145, 250, 30, true); txtMicro = AddInput(content, "NOME DA MÁQUINA (HOSTNAME)", 280, 145, 250, 30, true); txtEnderCli = AddInput(content, "IP / ENDEREÇO CLIENTE", 540, 145, 295, 30, true); // --- SEÇÃO 3: Ação e Impacto --- content.Controls.Add(CreateSectionHeader("DESCRIÇÃO DA ATIVIDADE E RISCO", 210)); txtAcao = AddInput(content, "AÇÃO EXECUTADA", 20, 240, 500, 30, true); Label lblRisco = new Label { Text = "NÍVEL DE RISCO", Location = new Point(530, 223), AutoSize = true }; cbRisco = new ComboBox { Location = new Point(530, 240), Size = new Size(150, 30), DropDownStyle = ComboBoxStyle.DropDownList, Enabled = false // Logs geralmente são imutáveis }; cbRisco.Items.AddRange(new object[] { "BAIXO", "MÉDIO", "ALTO", "CRÍTICO" }); content.Controls.Add(lblRisco); content.Controls.Add(cbRisco); // Destaque visual para o risco se necessário cbRisco.SelectedIndexChanged += (s, e) => { if (cbRisco.Text == "CRÍTICO" || cbRisco.Text == "ALTO") cbRisco.BackColor = Color.LightCoral; }; content.Height = 320; } private void PreencherModel() { _log.CODIGO = txtCodigo.Text; _log.USUARIO = txtUsuario.Text; _log.MICRO = txtMicro.Text; _log.ACAO = txtAcao.Text; _log.RISCO = cbRisco.Text; _log.DIA_LOG = txtDiaLog.Text; _log.ENDER_CLI = txtEnderCli.Text; } protected override void OnNovo() { /* Logs não são criados manualmente */ } protected override void OnSalvar() { MessageBox.Show("Registros de auditoria são protegidos e não podem ser alterados.", "LevelOS Security", MessageBoxButtons.OK, MessageBoxIcon.Warning); } protected override void OnAlterar() { } protected override void OnExcluir() { } protected override void OnLocalizar() { /* Implementar busca por data ou usuário */ } protected override void OnCancelar() { } } }