LevelOS-Core/UI/Dashboards/Cadastros/ConfigCartoesCadastroPanel.cs
levelcode365 ae72c2768e 25/04/2026 - implementa formulários de cadastro para o ecossistema LevelOS
- Adicionado ContratoEquipamentosCadastroPanel
- Adicionado ConfigBoletosCadastroPanel (Gestão de convênios)
- Adicionado ConfigCartoesCadastroPanel (Taxas e operadoras)
- Adicionado ConfigImpressaoCadastroPanel (Coordenadas X/Y)
- Adicionado DespesasCadastroPanel e DespFixaCadastroPanel
- Adicionado ConfigEcfCadastroPanel (Hardware Fiscal)
- Adicionado EmpresaCadastroPanel (Emitente e Web3/Crypto)
- Adicionado EquipamentosCadastroPanel (Ativos e Garantia)
- Adicionado EsquemasTecnicosCadastroPanel (Biblioteca de Manuais)
- Adicionado FluxoCaixaCadastroPanel (Tesouraria)
- Adicionado FornecedorItemVinculoPanel (Logística de Suprimentos)

Padronização de interface utilizando FormularioModelo e LV_TEXTBOX1."
2026-04-25 17:48:04 -03:00

105 lines
3.9 KiB
C#

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