LevelOS-Core/UI/Dashboards/Cadastros/ConfigIBPTCadastroPanel.cs

105 lines
3.6 KiB
C#

using CPM;
using MLL;
using System;
using System.Drawing;
using System.Windows.Forms;
using UI;
namespace UI
{
public partial class ConfigIBPTCadastroPanel : FormularioModelo
{
private ModeloIBPT _ibpt = new ModeloIBPT();
// Controles - Identificação
private LV_TEXTBOX1 txtId, txtCodigo, txtNcm, txtTipo;
// Controles - Alíquotas Federais
private LV_TEXTBOX1 txtNacionalFederal, txtImportadosFederal;
// Controles - Alíquotas Regional/Local
private LV_TEXTBOX1 txtEstadual, txtMunicipal;
public ConfigIBPTCadastroPanel()
{
this.Titulo = "Tabela IBPT (Carga Tributária por NCM)";
MontarInterface();
}
private void MontarInterface()
{
// --- SEÇÃO 1: Identificação do NCM ---
content.Controls.Add(CreateSectionHeader("IDENTIFICAÇÃO FISCAL", 20));
txtId = AddInput(content, "ID", 20, 50, 70, 30, true);
txtCodigo = AddInput(content, "CÓD. INTERNO", 100, 50, 110, 30);
// O NCM (Nomenclatura Comum do Mercosul) é a chave principal aqui
txtNcm = AddInput(content, "NCM (8 DÍGITOS)", 220, 50, 180, 30);
// Tipo: Geralmente 0 para Nacional e 1 para Importado (ou texto descritivo)
txtTipo = AddInput(content, "TIPO / EXCEÇÃO", 410, 50, 150, 30);
// --- SEÇÃO 2: Esfera Federal ---
content.Controls.Add(CreateSectionHeader("IMPOSTOS FEDERAIS (%)", 110));
txtNacionalFederal = AddInput(content, "NACIONAL FEDERAL", 20, 140, 200, 30);
txtImportadosFederal = AddInput(content, "IMPORTADOS FEDERAL", 230, 140, 200, 30);
// --- SEÇÃO 3: Esfera Estadual e Municipal ---
content.Controls.Add(CreateSectionHeader("IMPOSTOS ESTADUAIS E MUNICIPAIS (%)", 205));
txtEstadual = AddInput(content, "ALÍQUOTA ESTADUAL", 20, 235, 200, 30);
txtMunicipal = AddInput(content, "ALÍQUOTA MUNICIPAL", 230, 235, 200, 30);
// Nota informativa para o usuário
Label lblInfo = new Label
{
Text = "* Estes valores são utilizados para o cálculo da Lei da Transparência nas Notas Fiscais.",
Location = new Point(20, 280),
AutoSize = true,
ForeColor = Color.Gray,
Font = new Font("Segoe UI", 8, FontStyle.Italic)
};
content.Controls.Add(lblInfo);
content.Height = 350;
}
private void PreencherModel()
{
_ibpt.CODIGO = txtCodigo.Text;
_ibpt.NCM = txtNcm.Text;
_ibpt.NacionalFederal = txtNacionalFederal.Text;
_ibpt.ImportadosFederal = txtImportadosFederal.Text;
_ibpt.Estadual = txtEstadual.Text;
_ibpt.Municipal = txtMunicipal.Text;
_ibpt.Tipo = txtTipo.Text;
}
protected override void OnNovo()
{
_ibpt = new ModeloIBPT();
txtNcm.Focus();
}
protected override void OnSalvar()
{
try
{
PreencherModel();
// BLL.Salvar(_ibpt);
MessageBox.Show("Dados do IBPT salvos com sucesso!", "Fiscal", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Erro ao salvar: " + ex.Message);
}
}
protected override void OnAlterar() { }
protected override void OnExcluir() { }
protected override void OnLocalizar() { }
protected override void OnCancelar() { OnNovo(); }
}
}