95 lines
3.8 KiB
C#
95 lines
3.8 KiB
C#
using CPM;
|
|
using MLL;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace UI
|
|
{
|
|
public class OrdensDeslocamentoPanel : FormularioModelo
|
|
{
|
|
// Inputs para Saída e Chegada
|
|
private LV_TEXTBOX1 txtId, txtCodOrdem, txtDia;
|
|
private LV_TEXTBOX1 txtHoraSai, txtKmSai, txtHoraChega, txtKmChega;
|
|
|
|
// Inputs para Volta
|
|
private LV_TEXTBOX1 txtHoraVoltaSai, txtKmVoltaSai, txtHoraVolta, txtKmVolta;
|
|
|
|
// Despesas extras
|
|
private LV_TEXTBOX1 txtAlimenta, txtHospeda;
|
|
|
|
public OrdensDeslocamentoPanel()
|
|
{
|
|
this.Titulo = "CONTROLE DE DESLOCAMENTO / VIAGEM";
|
|
MontarInterface();
|
|
}
|
|
|
|
private void MontarInterface()
|
|
{
|
|
// --- SEÇÃO 1: IDENTIFICAÇÃO ---
|
|
content.Controls.Add(CreateSectionHeader("Dados Gerais", 20));
|
|
txtId = AddInput(content, "ID REGISTRO", 20, 55, 100, 28, true);
|
|
txtCodOrdem = AddInput(content, "CÓDIGO O.S.", 130, 55, 120, 28, true);
|
|
txtDia = AddInput(content, "DATA DA VIAGEM", 260, 55, 150, 28);
|
|
|
|
// --- SEÇÃO 2: IDA (SAÍDA E CHEGADA NO DESTINO) ---
|
|
content.Controls.Add(CreateSectionHeader("Ida ao Cliente / Destino", 115));
|
|
txtHoraSai = AddInput(content, "HORA SAÍDA", 20, 150, 120, 28);
|
|
txtKmSai = AddInput(content, "KM SAÍDA", 150, 150, 120, 28);
|
|
|
|
txtHoraChega = AddInput(content, "HORA CHEGADA", 300, 150, 120, 28);
|
|
txtKmChega = AddInput(content, "KM CHEGADA", 430, 150, 120, 28);
|
|
|
|
// --- SEÇÃO 3: VOLTA (SAÍDA DO CLIENTE E CHEGADA NA BASE) ---
|
|
content.Controls.Add(CreateSectionHeader("Retorno à Base", 210));
|
|
txtHoraVoltaSai = AddInput(content, "HORA VOLTA (SAÍDA)", 20, 245, 120, 28);
|
|
txtKmVoltaSai = AddInput(content, "KM VOLTA (SAÍDA)", 150, 245, 120, 28);
|
|
|
|
txtHoraVolta = AddInput(content, "HORA FINAL", 300, 245, 120, 28);
|
|
txtKmVolta = AddInput(content, "KM FINAL", 430, 245, 120, 28);
|
|
|
|
// --- SEÇÃO 4: DESPESAS ADICIONAIS ---
|
|
content.Controls.Add(CreateSectionHeader("Despesas de Viagem", 305));
|
|
txtAlimenta = AddInput(content, "ALIMENTAÇÃO (R$)", 20, 340, 150, 28);
|
|
txtHospeda = AddInput(content, "HOSPEDAGEM (R$)", 180, 340, 150, 28);
|
|
}
|
|
|
|
// --- IMPLEMENTAÇÃO DOS MÉTODOS ABSTRATOS ---
|
|
|
|
protected override void OnNovo()
|
|
{
|
|
// Limpar todos os campos para novo registro
|
|
foreach (Control c in content.Controls)
|
|
{
|
|
if (c is LV_TEXTBOX1 txt && !txt.ReadOnly) txt.Text = string.Empty;
|
|
}
|
|
txtDia.Focus();
|
|
}
|
|
|
|
protected override void OnSalvar()
|
|
{
|
|
// Mapeando para o seu ModeloOrdensDeslocamento
|
|
var deslocamento = new ModeloOrdensDeslocamento
|
|
{
|
|
DIA = txtDia.Text,
|
|
HORA_SAI = txtHoraSai.Text,
|
|
KM_SAI = txtKmSai.Text,
|
|
HORA_CHEGA = txtHoraChega.Text,
|
|
KM_CHEGA = txtKmChega.Text,
|
|
HORA_VOLTA_SAI = txtHoraVoltaSai.Text,
|
|
KM_VOLTA_SAI = txtKmVoltaSai.Text,
|
|
HORA_VOLTA = txtHoraVolta.Text,
|
|
KM_VOLTA = txtKmVolta.Text,
|
|
ALIMENTA = txtAlimenta.Text,
|
|
HOSPEDA = txtHospeda.Text
|
|
};
|
|
|
|
// Aqui você chamaria a sua BLL/DAL para persistir
|
|
MessageBox.Show("Dados de deslocamento registrados!", "LevelOS", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
|
|
protected override void OnAlterar() { /* Lógica de Alteração */ }
|
|
protected override void OnExcluir() { /* Lógica de Exclusão */ }
|
|
protected override void OnLocalizar() { /* Abrir tela de busca */ }
|
|
protected override void OnCancelar() { OnNovo(); }
|
|
}
|
|
} |