94 lines
3.5 KiB
C#
94 lines
3.5 KiB
C#
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() { }
|
|
}
|
|
} |