LevelOS-Core/UI/Dashboards/Cadastros/ConfigBoletosCadastroPanel.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

123 lines
4.8 KiB
C#

using CPM;
using MLL;
using System;
using System.Drawing;
using System.Windows.Forms;
using UI;
namespace UI
{
public partial class ConfigBoletosCadastroPanel : FormularioModelo
{
private ModeloConvenioBoletos _config = new ModeloConvenioBoletos();
// Controles - Dados Bancários
private LV_TEXTBOX1 txtId, txtCodigo, txtBanco, txtAgencia, txtConta;
private LV_TEXTBOX1 txtCarteira, txtConvenio, txtNomeCedente, txtLocalPgto;
// Controles - Configurações de Cobrança
private LV_TEXTBOX1 txtDiasProtesto, txtTipoDoc, txtEspecieDoc;
// Controles - Instruções (Array para facilitar o mapeamento)
private LV_TEXTBOX1[] txtInstrucoes = new LV_TEXTBOX1[10];
public ConfigBoletosCadastroPanel()
{
this.Titulo = "Configuração de Convênios Bancários (Boletos)";
MontarInterface();
}
private void MontarInterface()
{
// --- SEÇÃO 1: Dados da Conta e Convênio ---
content.Controls.Add(CreateSectionHeader("DADOS BANCÁRIOS E CEDENTE", 20));
txtId = AddInput(content, "ID", 20, 50, 70, 30, true);
txtCodigo = AddInput(content, "CÓD. INTERNO", 100, 50, 100, 30);
txtBanco = AddInput(content, "BANCO (NOME/Nº)", 210, 50, 200, 30);
txtNomeCedente = AddInput(content, "NOME DO CEDENTE (RAZÃO SOCIAL)", 420, 50, 460, 30);
txtAgencia = AddInput(content, "AGÊNCIA", 20, 105, 110, 30);
txtConta = AddInput(content, "CONTA CORRENTE", 140, 105, 150, 30);
txtCarteira = AddInput(content, "CARTEIRA", 300, 105, 100, 30);
txtConvenio = AddInput(content, "Nº CONVÊNIO", 410, 105, 180, 30);
txtLocalPgto = AddInput(content, "LOCAL DE PAGAMENTO", 600, 105, 280, 30);
// --- SEÇÃO 2: Regras de Cobrança ---
content.Controls.Add(CreateSectionHeader("REGRAS DE PROTESTO E DOCUMENTO", 175));
txtDiasProtesto = AddInput(content, "DIAS PARA PROTESTO", 20, 205, 150, 30);
txtTipoDoc = AddInput(content, "TIPO DOC. COBRANÇA", 180, 205, 180, 30);
txtEspecieDoc = AddInput(content, "ESPÉCIE DOC.", 370, 205, 150, 30);
// --- SEÇÃO 3: Instruções no Boleto ---
content.Controls.Add(CreateSectionHeader("INSTRUÇÕES DE CAIXA (MENSAGENS NO BOLETO)", 270));
// Criando os 10 campos de instrução em 2 colunas para economizar espaço
for (int i = 0; i < 10; i++)
{
int coluna = i % 2; // 0 ou 1
int linha = i / 2; // 0 a 4
int posX = 20 + (coluna * 440);
int posY = 300 + (linha * 55);
txtInstrucoes[i] = AddInput(content, $"INSTRUÇÃO {(i + 1):D2}", posX, posY, 420, 30);
}
// Ajuste da altura para acomodar as instruções
content.Height = 620;
}
private void PreencherModel()
{
_config.CODIGO = txtCodigo.Text;
_config.BANCO = txtBanco.Text;
_config.AGENCIA = txtAgencia.Text;
_config.CONTA = txtConta.Text;
_config.CARTEIRA = txtCarteira.Text;
_config.CONVENIO = txtConvenio.Text;
_config.NOME_CEDENTE = txtNomeCedente.Text;
_config.LOCAL_PGTO = txtLocalPgto.Text;
_config.DIAS_PROTESTO = txtDiasProtesto.Text;
_config.TIPO_DOC_COB = txtTipoDoc.Text;
_config.TIPO_ESP_DOC = txtEspecieDoc.Text;
// Mapeamento das 10 instruções
_config.INSTRU_01 = txtInstrucoes[0].Text;
_config.INSTRU_02 = txtInstrucoes[1].Text;
_config.INSTRU_03 = txtInstrucoes[2].Text;
_config.INSTRU_04 = txtInstrucoes[3].Text;
_config.INSTRU_05 = txtInstrucoes[4].Text;
_config.INSTRU_06 = txtInstrucoes[5].Text;
_config.INSTRU_07 = txtInstrucoes[6].Text;
_config.INSTRU_08 = txtInstrucoes[7].Text;
_config.INSTRU_09 = txtInstrucoes[8].Text;
_config.INSTRU_10 = txtInstrucoes[9].Text;
}
protected override void OnNovo()
{
_config = new ModeloConvenioBoletos();
txtBanco.Focus();
}
protected override void OnSalvar()
{
try
{
PreencherModel();
// BLL.Salvar(_config);
MessageBox.Show("Configuração de boleto salva com sucesso!");
}
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(); }
}
}