97 lines
3.3 KiB
C#
97 lines
3.3 KiB
C#
using CPM;
|
|
using MLL;
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace UI
|
|
{
|
|
public class PermissaoPanel : FormularioModelo
|
|
{
|
|
// Mapeamento absoluto de todas as propriedades do ModeloPermissao
|
|
private LV_TEXTBOX1 txtId;
|
|
private LV_TEXTBOX1 txtNome;
|
|
private LV_TEXTBOX1 txtDescricao;
|
|
|
|
public PermissaoPanel()
|
|
{
|
|
this.Titulo = "CADASTRO DE PERMISSÕES DO SISTEMA";
|
|
MontarInterfaceCompleta();
|
|
}
|
|
|
|
private void MontarInterfaceCompleta()
|
|
{
|
|
// --- SEÇÃO ÚNICA: DADOS DA PERMISSÃO ---
|
|
content.Controls.Add(CreateSectionHeader("Identificação da Diretiva de Segurança", 20));
|
|
|
|
// Linha 1: ID de Registro (Desabilitado por padrão)
|
|
txtId = AddInput(content, "ID PERMISSÃO", 20, 55, 110, 28, true);
|
|
|
|
// Linha 2: Chave Identificadora da Permissao (ex: os_deletar_registro)
|
|
txtNome = AddInput(content, "CHAVE IDENTIFICADORA DA PERMISSÃO (SISTEMA_ACAO)", 20, 115, 500, 28);
|
|
|
|
// Linha 3: Detalhamento amigável para o usuário administrador entender o que ela faz
|
|
txtDescricao = AddInput(content, "DESCRIÇÃO DETALHADA DO RECURSO BLOQUEADO / LIBERADO", 20, 175, 650, 28);
|
|
}
|
|
|
|
// --- MÉTODOS OBRIGATÓRIOS DO FORMULÁRIO MODELO ---
|
|
|
|
protected override void OnNovo()
|
|
{
|
|
// Limpa os campos editáveis
|
|
txtNome.Text = string.Empty;
|
|
txtDescricao.Text = string.Empty;
|
|
|
|
// Define o ID padrão de inserção
|
|
txtId.Text = "0";
|
|
|
|
txtNome.Focus();
|
|
}
|
|
|
|
protected override void OnSalvar()
|
|
{
|
|
// Validação mínima de consistência de dados
|
|
if (string.IsNullOrWhiteSpace(txtNome.Text))
|
|
{
|
|
MessageBox.Show("A chave identificadora da permissão é obrigatória.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
txtNome.Focus();
|
|
return;
|
|
}
|
|
|
|
// Mapeamento absoluto de todas as propriedades do ModeloPermissao
|
|
var permissao = new ModeloPermissao
|
|
{
|
|
Id = string.IsNullOrEmpty(txtId.Text) ? 0 : Convert.ToInt32(txtId.Text),
|
|
Nome = txtNome.Text,
|
|
Descricao = txtDescricao.Text
|
|
};
|
|
|
|
// Processa o envio do objeto estruturado para as regras de persistência (BLL / DAL)
|
|
MessageBox.Show("Permissão gravada no dicionário de segurança!", "LevelOS", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
|
|
protected override void OnAlterar()
|
|
{
|
|
txtNome.Focus();
|
|
}
|
|
|
|
protected override void OnExcluir()
|
|
{
|
|
if (MessageBox.Show("Aviso! Remover esta permissão pode invalidar as checagens de segurança no código-fonte do sistema. Deseja continuar?", "LevelOS", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
|
|
{
|
|
// Processa a rotina de exclusão física do banco de dados...
|
|
OnNovo();
|
|
}
|
|
}
|
|
|
|
protected override void OnLocalizar()
|
|
{
|
|
// Aciona o seu Grid de busca para selecionar as permissões instaladas
|
|
}
|
|
|
|
protected override void OnCancelar()
|
|
{
|
|
OnNovo();
|
|
}
|
|
}
|
|
} |