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

103 lines
3.4 KiB
C#

using CPM;
using MLL;
using System;
using System.Drawing;
using System.Windows.Forms;
using UI;
namespace UI
{
public partial class DepositoCadastroPanel : FormularioModelo
{
private ModeloContasDeposito _deposito = new ModeloContasDeposito();
// Controles
private LV_TEXTBOX1 txtId, txtCodigo, txtCodCorrente, txtNomeConta, txtCodLancto, txtValor, txtData;
private Button btnBuscaConta;
public DepositoCadastroPanel()
{
this.Titulo = "Registro de Depósitos / Entradas";
MontarInterface();
}
private void MontarInterface()
{
// --- SEÇÃO ÚNICA: Detalhes do Depósito ---
content.Controls.Add(CreateSectionHeader("INFORMAÇÕES DO DEPÓSITO", 20));
// Linha 1: ID e Código do Documento
txtId = AddInput(content, "ID", 20, 50, 80, 30, true);
txtCodigo = AddInput(content, "Nº DOCUMENTO", 110, 50, 150, 30);
txtCodLancto = AddInput(content, "CÓD. LANÇAMENTO", 270, 50, 150, 30);
// Linha 2: Conta Corrente (com Lupa de busca)
txtCodCorrente = AddInput(content, "CÓD. CONTA", 20, 105, 90, 30);
btnBuscaConta = new Button
{
Text = "🔍",
Location = new Point(115, 121), // Alinhado ao textbox (105 + 16)
Size = new Size(32, 30),
BackColor = AccentBlue,
ForeColor = Color.White,
FlatStyle = FlatStyle.Flat,
Cursor = Cursors.Hand
};
btnBuscaConta.FlatAppearance.BorderSize = 0;
btnBuscaConta.Click += (s, e) => OnBuscaContaCorrente();
content.Controls.Add(btnBuscaConta);
txtNomeConta = AddInput(content, "CONTA DESTINO / CAIXA", 155, 105, 350, 30, true);
// Linha 3: Valor e Data
txtValor = AddInput(content, "VALOR DO DEPÓSITO (R$)", 20, 160, 200, 30);
txtData = AddInput(content, "DATA DO REGISTRO", 230, 160, 150, 30);
content.Height = 300;
}
private void OnBuscaContaCorrente()
{
// Aqui você abriria a busca baseada no ModeloContasContas que fizemos antes
MessageBox.Show("Abrir busca de Contas Correntes/Caixas");
}
private void PreencherModel()
{
_deposito.CODIGO = txtCodigo.Text;
_deposito.COD_CORRENTE = txtCodCorrente.Text;
_deposito.COD_LANCTO = txtCodLancto.Text;
_deposito.VALOR = txtValor.Text;
_deposito.DATA_CADASTRO = txtData.Text;
}
// --- MÉTODOS OBRIGATÓRIOS ---
protected override void OnNovo()
{
_deposito = new ModeloContasDeposito();
txtData.Text = DateTime.Now.ToString("dd/mm/yyyy"); // Sugestão de data atual
txtCodigo.Focus();
}
protected override void OnSalvar()
{
try
{
PreencherModel();
// BLL.Salvar(_deposito);
MessageBox.Show("Depósito registrado com sucesso!");
}
catch (Exception ex)
{
MessageBox.Show("Erro: " + ex.Message);
}
}
protected override void OnAlterar() { }
protected override void OnExcluir() { }
protected override void OnLocalizar() { }
protected override void OnCancelar() { OnNovo(); }
}
}