using CPM; using MLL; using System; using System.Drawing; using System.Windows.Forms; using UI; namespace UI { public partial class NfeInutilizadasCadastroPanel : FormularioModelo { private ModeloNFEInutilizadas _inutilizada = new ModeloNFEInutilizadas(); // Controles - Identificação e Fiscal private LV_TEXTBOX1 txtId, txtCodigo, txtModelo, txtDia; // Controles - Faixa Numérica private LV_TEXTBOX1 txtNumeroInicial, txtNumeroFinal; // Controles - Justificativa private LV_TEXTBOX1 txtMotivo; public NfeInutilizadasCadastroPanel() { this.Titulo = "Inutilização de Numeração de NF-e"; MontarInterface(); } private void MontarInterface() { // --- SEÇÃO 1: Dados do Evento --- content.Controls.Add(CreateSectionHeader("DADOS DO PROTOCOLO", 20)); txtId = AddInput(content, "ID", 20, 50, 70, 30, true); txtCodigo = AddInput(content, "PROTOCOLO SEFAZ", 100, 50, 250, 30); txtDia = AddInput(content, "DATA DO EVENTO", 360, 50, 150, 30); txtModelo = AddInput(content, "MOD (EX: 55)", 520, 50, 80, 30); // --- SEÇÃO 2: Faixa de Números --- content.Controls.Add(CreateSectionHeader("FAIXA DE NUMERAÇÃO INUTILIZADA", 115)); txtNumeroInicial = AddInput(content, "NÚMERO INICIAL", 20, 145, 180, 30); txtNumeroFinal = AddInput(content, "NÚMERO FINAL", 210, 145, 180, 30); Label lblDica = new Label { Text = "* Se for apenas uma nota, repita o número no Inicial e Final.", Location = new Point(400, 161), AutoSize = true, ForeColor = Color.DimGray, Font = new Font("Segoe UI", 8, FontStyle.Italic) }; content.Controls.Add(lblDica); // --- SEÇÃO 3: Justificativa --- content.Controls.Add(CreateSectionHeader("MOTIVO DA INUTILIZAÇÃO", 210)); txtMotivo = AddInput(content, "JUSTIFICATIVA (MÍNIMO 15 CARACTERES)", 20, 240, 780, 60); content.Height = 330; } private void PreencherModel() { _inutilizada.CODIGO = txtCodigo.Text; _inutilizada.DIA = txtDia.Text; _inutilizada.MODELO = txtModelo.Text; _inutilizada.NUMERO_INICIAL = txtNumeroInicial.Text; _inutilizada.NUMERO_FINAL = txtNumeroFinal.Text; _inutilizada.MOTIVO = txtMotivo.Text; } protected override void OnNovo() { _inutilizada = new ModeloNFEInutilizadas(); txtDia.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); txtModelo.Text = "55"; // Valor padrão para NF-e txtNumeroInicial.Focus(); } protected override void OnSalvar() { if (txtMotivo.Text.Length < 15) { MessageBox.Show("A SEFAZ exige uma justificativa com no mínimo 15 caracteres.", "Validação Fiscal"); return; } PreencherModel(); MessageBox.Show("Inutilização registrada e vinculada ao histórico fiscal!", "LevelOS Fiscal"); } protected override void OnAlterar() { } protected override void OnExcluir() { } protected override void OnLocalizar() { } protected override void OnCancelar() { } } }