correcciones sobre los forms

This commit is contained in:
2024-08-03 22:03:54 +01:00
committed by fede
parent 3f683843c2
commit 31b01b98b0
18 changed files with 214 additions and 153 deletions

View File

@@ -16,19 +16,21 @@ namespace Vista
{
public partial class FrmFactura : Form
{
private Factura factura;
private Cliente clienteSeleccionado;
Factura factura;
public FrmFactura(Factura? factura = null)
{
InitializeComponent();
CargarClientes();
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
cmbCliente.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
// Para el primer control NumericUpDown
numericUpDown1.Maximum = int.MaxValue; // Esto permitirá IDs muy grandes
numid.Maximum = int.MaxValue; // Esto permitirá IDs muy grandes
// Para el segundo control NumericUpDown
numericUpDown2.Maximum = decimal.MaxValue; // Esto permitirá totales muy grandes
numtotal.Maximum = decimal.MaxValue; // Esto permitirá totales muy grandes
cmbCliente.DisplayMember = "Cliente";
cmbCliente.SelectedIndex = -1;
if (factura != null)
{
@@ -47,30 +49,33 @@ namespace Vista
// Obtener la lista de clientes desde el repositorio
ReadOnlyCollection<Cliente> clientes = RepositorioClientes.Instance.Listar();
// Asignar la lista de clientes como origen de datos para el ComboBox
comboBox1.DataSource = clientes;
cmbCliente.DataSource = clientes;
// Establecer la propiedad para mostrar el nombre del cliente en el ComboBox
comboBox1.DisplayMember = "NombreCompleto";
cmbCliente.DisplayMember = "NombreCompleto";
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
clienteSeleccionado = (Cliente)comboBox1.SelectedItem;
clienteSeleccionado = (Cliente)cmbCliente.SelectedItem;
}
private void CargarDatos()
{
numericUpDown1.Value = factura.Id;
numericUpDown2.Value = (decimal)factura.Total;
dateTimePicker1.Value = factura.Fecha;
numid.Value = factura.Id;
numtotal.Value = (decimal)factura.Total;
datepick.Value = factura.Fecha;
// Asignar el cliente seleccionado en el ComboBox
if (factura.Cliente != null)
{
comboBox1.SelectedItem = factura.Cliente;
cmbCliente.SelectedItem = factura.Cliente;
}
}
@@ -79,8 +84,9 @@ namespace Vista
{
string devolucion = "";
if (string.IsNullOrEmpty(numericUpDown1.Text)) devolucion += "El ID no puede ser nulo o vacío\n";
if (numericUpDown2.Value <= 0) devolucion += "El total debe ser mayor que cero\n";
if (string.IsNullOrEmpty(numid.Text)) devolucion += "El ID no puede ser nulo o vacío\n";
if (numtotal.Value <= 0) devolucion += "El total debe ser mayor que cero\n";
if (clienteSeleccionado == null) devolucion += "Debe seleccionar un cliente\n";
if (devolucion == "")
@@ -107,10 +113,10 @@ namespace Vista
// Crear una nueva factura con los datos proporcionados
factura = new Factura
{
Id = (int)numericUpDown1.Value,
Total = (double)numericUpDown2.Value,
Fecha = dateTimePicker1.Value,
Cliente = (Cliente)comboBox1.SelectedItem,
Id = (int)numid.Value,
Total = (double)numtotal.Value,
Fecha = datepick.Value,
Cliente = (Cliente)cmbCliente.SelectedItem,
};
// Agregar la factura a la colección
ControladoraFacturas.Instance.Añadir(factura);
@@ -118,10 +124,10 @@ namespace Vista
else
{
// Actualizar los datos de la factura existente
factura.Id = (int)numericUpDown1.Value;
factura.Total = (double)numericUpDown2.Value;
factura.Fecha = dateTimePicker1.Value;
factura.Cliente = (Cliente)comboBox1.SelectedItem;
factura.Id = (int)numid.Value;
factura.Total = (double)numtotal.Value;
factura.Fecha = datepick.Value;
factura.Cliente = (Cliente)cmbCliente.SelectedItem;
// Modificar la factura en la colección
ControladoraFacturas.Instance.Modificar(factura);
}