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

91 lines
2.9 KiB
C#

using CPM;
using MLL;
using System;
using System.Drawing;
using System.Windows.Forms;
using UI;
namespace UI
{
public partial class DespesasCadastroPanel : FormularioModelo
{
private ModeloDespesas _despesa = new ModeloDespesas();
// Controles
private LV_TEXTBOX1 txtId, txtCodigo, txtProcesso, txtDescricao, txtValor, txtDia;
private CheckBox chkPago;
public DespesasCadastroPanel()
{
this.Titulo = "Cadastro de Despesas Operacionais";
MontarInterface();
}
private void MontarInterface()
{
// --- SEÇÃO 1: Identificação da Despesa ---
content.Controls.Add(CreateSectionHeader("DADOS DA DESPESA", 20));
txtId = AddInput(content, "ID", 20, 50, 70, 30, true);
txtCodigo = AddInput(content, "CÓD. INTERNO", 100, 50, 110, 30);
// Campo PROCESSO: Útil para vincular a despesa a um projeto ou cliente específico
txtProcesso = AddInput(content, "VÍNCULO / PROCESSO", 220, 50, 250, 30);
// Dia/Data do lançamento
txtDia = AddInput(content, "DIA/DATA", 480, 50, 120, 30);
// Linha 2: Descrição da despesa
txtDescricao = AddInput(content, "DESCRIÇÃO DA DESPESA", 20, 105, 580, 30);
// --- SEÇÃO 2: Financeiro ---
content.Controls.Add(CreateSectionHeader("VALORES E STATUS", 175));
txtValor = AddInput(content, "VALOR DA DESPESA (R$)", 20, 205, 180, 30);
// Campo PAGO como CheckBox
chkPago = CreateCheckBox("DESPESA JÁ QUITADA", 220, 223);
content.Controls.Add(chkPago);
content.Height = 320;
}
private void PreencherModel()
{
_despesa.CODIGO = txtCodigo.Text;
_despesa.PROCESSO = txtProcesso.Text;
_despesa.DESCRICAO = txtDescricao.Text;
_despesa.VALOR = txtValor.Text;
_despesa.DIA = txtDia.Text;
// Conversão para o padrão de string S/N que você está usando
_despesa.PAGO = chkPago.Checked ? "S" : "N";
}
protected override void OnNovo()
{
_despesa = new ModeloDespesas();
txtDia.Text = DateTime.Now.ToString("dd/MM/yyyy");
txtProcesso.Focus();
}
protected override void OnSalvar()
{
try
{
PreencherModel();
// BLL.Salvar(_despesa);
MessageBox.Show("Despesa registrada 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(); }
}
}