using CPM; using MLL; using System; using System.Drawing; using System.Windows.Forms; using UI; namespace UI { public partial class ConfigEcfCadastroPanel : FormularioModelo { private ModeloEcfCfg _configEcf = new ModeloEcfCfg(); // Controles - Identificação e Hardware private LV_TEXTBOX1 txtId, txtCodigo, txtModelo, txtPorta, txtIndiceServico; // Controles - Periféricos private CheckBox chkTemGaveta; public ConfigEcfCadastroPanel() { this.Titulo = "Configuração de Impressora Fiscal (ECF)"; MontarInterface(); } private void MontarInterface() { // --- SEÇÃO 1: Identificação do Equipamento --- content.Controls.Add(CreateSectionHeader("DADOS DO EQUIPAMENTO FISCAL", 20)); txtId = AddInput(content, "ID", 20, 50, 70, 30, true); txtCodigo = AddInput(content, "CÓD. INTERNO", 100, 50, 100, 30); // Modelo da Impressora (Ex: Bematech, Daruma, Epson) txtModelo = AddInput(content, "MODELO DO ECF", 210, 50, 300, 30); // --- SEÇÃO 2: Comunicação e Parâmetros --- content.Controls.Add(CreateSectionHeader("COMUNICAÇÃO E SERVIÇOS", 110)); // Porta de Comunicação (Ex: COM1, COM2, LPT1, USB) txtPorta = AddInput(content, "PORTA DE COMUNICAÇÃO", 20, 140, 180, 30); // Índice Alíquota de Serviço (Comum em ECFs para ISSQN) txtIndiceServico = AddInput(content, "ÍNDICE ALÍQUOTA SERV.", 210, 140, 180, 30); // --- SEÇÃO 3: Periféricos --- content.Controls.Add(CreateSectionHeader("CONFIGURAÇÕES ADICIONAIS", 195)); chkTemGaveta = CreateCheckBox("POSSUI GAVETA DE DINHEIRO CONECTADA", 20, 230); content.Controls.Add(chkTemGaveta); content.Height = 320; } private void PreencherModel() { _configEcf.CODIGO = txtCodigo.Text; _configEcf.MODELO = txtModelo.Text; _configEcf.PORTA = txtPorta.Text; _configEcf.INDICE_AL_SERV = txtIndiceServico.Text; // Conversão para o padrão string S/N que você utiliza _configEcf.TEM_GAVETA = chkTemGaveta.Checked ? "S" : "N"; } protected override void OnNovo() { _configEcf = new ModeloEcfCfg(); txtPorta.Text = "COM1"; // Sugestão padrão de porta serial txtModelo.Focus(); } protected override void OnSalvar() { try { PreencherModel(); // BLL.Salvar(_configEcf); MessageBox.Show("Configuração de hardware salva com sucesso!", "PDV Config", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Erro ao configurar ECF: " + ex.Message); } } protected override void OnAlterar() { } protected override void OnExcluir() { } protected override void OnLocalizar() { } protected override void OnCancelar() { OnNovo(); } } }