123 lines
4.6 KiB
C#
123 lines
4.6 KiB
C#
using CPM;
|
|
using MLL; // Namespace da sua model
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
using UI; // Namespace do seu FormularioModelo
|
|
|
|
namespace UI
|
|
{
|
|
public partial class EquipamentosCadastroPanel : FormularioModelo
|
|
{
|
|
// Instância da model para controle de dados
|
|
private ModeloEquipamentos _equipamento = new ModeloEquipamentos();
|
|
|
|
// Controles do formulário
|
|
private LV_TEXTBOX1 txtId, txtCodigo, txtDescricao, txtMarca, txtModelo;
|
|
private LV_TEXTBOX1 txtSerie, txtPatrimonio, txtDataCompra, txtRevenda;
|
|
private LV_TEXTBOX1 txtNF, txtCertificado, txtObservacoes;
|
|
|
|
public EquipamentosCadastroPanel()
|
|
{
|
|
this.Titulo = "Cadastro de Equipamentos";
|
|
MontarInterface();
|
|
LimparTela();
|
|
}
|
|
|
|
private void MontarInterface()
|
|
{
|
|
// --- SEÇÃO 1: Identificação ---
|
|
content.Controls.Add(CreateSectionHeader("IDENTIFICAÇÃO E DESCRIÇÃO", 20));
|
|
|
|
txtId = AddInput(content, "ID", 20, 50, 80, 30, true); // Somente leitura
|
|
txtCodigo = AddInput(content, "CÓDIGO INTERNO", 110, 50, 150, 30);
|
|
txtDescricao = AddInput(content, "DESCRIÇÃO DO EQUIPAMENTO", 270, 50, 450, 30);
|
|
|
|
// --- SEÇÃO 2: Detalhes Técnicos ---
|
|
content.Controls.Add(CreateSectionHeader("ESPECIFICAÇÕES TÉCNICAS", 110));
|
|
|
|
txtMarca = AddInput(content, "MARCA", 20, 140, 240, 30);
|
|
txtModelo = AddInput(content, "MODELO", 270, 140, 240, 30);
|
|
txtSerie = AddInput(content, "Nº DE SÉRIE", 520, 140, 200, 30);
|
|
txtPatrimonio = AddInput(content, "PATRIMÔNIO (PAT)", 730, 140, 150, 30);
|
|
|
|
// --- SEÇÃO 3: Compra e Garantia ---
|
|
content.Controls.Add(CreateSectionHeader("DADOS DE AQUISIÇÃO E GARANTIA", 200));
|
|
|
|
txtDataCompra = AddInput(content, "DATA DA COMPRA", 20, 230, 150, 30);
|
|
txtRevenda = AddInput(content, "REVENDA / FORNECEDOR", 180, 230, 330, 30);
|
|
txtNF = AddInput(content, "NOTA FISCAL", 520, 230, 150, 30);
|
|
txtCertificado = AddInput(content, "Nº CERT. GARANTIA", 680, 230, 200, 30);
|
|
|
|
// --- SEÇÃO 4: Observações ---
|
|
content.Controls.Add(CreateSectionHeader("OBSERVAÇÕES ADICIONAIS", 290));
|
|
|
|
txtObservacoes = AddInput(content, "NOTAS GERAIS", 20, 320, 860, 60);
|
|
// Se o seu LV_TEXTBOX1 suportar Multiline, você pode ajustar aqui
|
|
}
|
|
|
|
private void LimparTela()
|
|
{
|
|
_equipamento = new ModeloEquipamentos();
|
|
// Lógica para limpar todos os campos txtId.Text = "", etc.
|
|
// Dica: Você pode criar um método auxiliar na base para limpar o 'content'
|
|
}
|
|
|
|
// --- IMPLEMENTAÇÃO DOS MÉTODOS DA BASE ---
|
|
|
|
protected override void OnNovo()
|
|
{
|
|
LimparTela();
|
|
txtCodigo.Focus();
|
|
}
|
|
|
|
protected override void OnSalvar()
|
|
{
|
|
try
|
|
{
|
|
// Mapeia a tela para a model
|
|
_equipamento.CODIGO = txtCodigo.Text;
|
|
_equipamento.DESCRICAO = txtDescricao.Text;
|
|
_equipamento.MARCA = txtMarca.Text;
|
|
_equipamento.MODELO = txtModelo.Text;
|
|
_equipamento.SERIE = txtSerie.Text;
|
|
_equipamento.PAT = txtPatrimonio.Text;
|
|
_equipamento.DATA_COMPRA = txtDataCompra.Text;
|
|
_equipamento.REVENDA = txtRevenda.Text;
|
|
_equipamento.NUM_NF = txtNF.Text;
|
|
_equipamento.NUM_CERTGAR = txtCertificado.Text;
|
|
_equipamento.OBSERVACOES = txtObservacoes.Text;
|
|
|
|
// Aqui você chamaria sua BLL ou DAL passando o _equipamento
|
|
MessageBox.Show("Equipamento salvo com sucesso!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Erro ao salvar: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
protected override void OnAlterar()
|
|
{
|
|
// Lógica para habilitar campos ou mudar estado
|
|
}
|
|
|
|
protected override void OnExcluir()
|
|
{
|
|
if (MessageBox.Show("Deseja excluir este equipamento?", "Confirmar", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
|
{
|
|
// Lógica de exclusão
|
|
}
|
|
}
|
|
|
|
protected override void OnLocalizar()
|
|
{
|
|
// Aqui você abriria um formulário de busca
|
|
}
|
|
|
|
protected override void OnCancelar()
|
|
{
|
|
LimparTela();
|
|
}
|
|
}
|
|
} |