using CPM; using MLL; using System; using System.Drawing; using System.Windows.Forms; using UI; namespace UI { public partial class ConfigCartoesCadastroPanel : FormularioModelo { private ModeloConvenioCartoes _configCartao = new ModeloConvenioCartoes(); // Controles - Operadora private LV_TEXTBOX1 txtId, txtCodigo, txtNomeOperadora, txtCnpjOperadora, txtBandeira; // Controles - Crédito private LV_TEXTBOX1 txtComisCred, txtOpCred; // Controles - Débito private LV_TEXTBOX1 txtComisDebt, txtOpDebt; // Controles - Configurações Extras private CheckBox chkLanca30; public ConfigCartoesCadastroPanel() { this.Titulo = "Configuração de Operadoras de Cartão"; MontarInterface(); } private void MontarInterface() { // --- SEÇÃO 1: Identificação da Operadora --- content.Controls.Add(CreateSectionHeader("DADOS DA OPERADORA / BANDEIRA", 20)); txtId = AddInput(content, "ID", 20, 50, 70, 30, true); txtCodigo = AddInput(content, "CÓD. INTERNO", 100, 50, 100, 30); txtNomeOperadora = AddInput(content, "NOME DA OPERADORA (Ex: CIELO)", 210, 50, 300, 30); txtBandeira = AddInput(content, "BANDEIRA (Ex: VISA/MASTER)", 520, 50, 180, 30); txtCnpjOperadora = AddInput(content, "CNPJ OPERADORA", 710, 50, 170, 30); // --- SEÇÃO 2: Configurações de Crédito vs Débito --- // Colocando lado a lado para facilitar a visualização das taxas content.Controls.Add(CreateSectionHeader("TAXAS E PRAZOS (CRÉDITO)", 110)); txtComisCred = AddInput(content, "TAXA COMISSÃO %", 20, 140, 180, 30); txtOpCred = AddInput(content, "PRAZO RECEB. (DIAS)", 210, 140, 180, 30); content.Controls.Add(CreateSectionHeader("TAXAS E PRAZOS (DÉBITO)", 195)); txtComisDebt = AddInput(content, "TAXA COMISSÃO %", 20, 225, 180, 30); txtOpDebt = AddInput(content, "PRAZO RECEB. (DIAS)", 210, 225, 180, 30); // --- SEÇÃO 3: Configurações de Lançamento --- content.Controls.Add(CreateSectionHeader("REGRAS DE CONCILIAÇÃO", 280)); // Usando o campo LANCA_30 como um CheckBox (S/N) chkLanca30 = CreateCheckBox("LANÇAR AUTOMATICAMENTE PARA 30 DIAS", 20, 315); content.Controls.Add(chkLanca30); content.Height = 400; } private void PreencherModel() { _configCartao.CODIGO = txtCodigo.Text; _configCartao.NOME = txtNomeOperadora.Text; _configCartao.TBAND = txtBandeira.Text; _configCartao.CNPJ_OPERADORA = txtCnpjOperadora.Text; // Taxas e Operações _configCartao.COMIS_CRED = txtComisCred.Text; _configCartao.OP_CRED = txtOpCred.Text; _configCartao.COMIS_DEBT = txtComisDebt.Text; _configCartao.OP_DEBT = txtOpDebt.Text; // Lógica para o campo LANCA_30 _configCartao.LANCA_30 = chkLanca30.Checked ? "S" : "N"; } protected override void OnNovo() { _configCartao = new ModeloConvenioCartoes(); txtNomeOperadora.Focus(); } protected override void OnSalvar() { try { PreencherModel(); // BLL.Salvar(_configCartao); MessageBox.Show("Configuração de operadora salva com sucesso!", "Sucesso", 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(); } } }