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