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