feat: terminados 4 de 7 forms
This commit is contained in:
@@ -16,43 +16,44 @@ namespace Vista
|
||||
public partial class FrmProducto : Form
|
||||
{
|
||||
private Producto nuevoproducto = new Producto();
|
||||
private Producto _producto;
|
||||
private bool _esModificacion;
|
||||
|
||||
public FrmProducto()
|
||||
private bool mod = false;
|
||||
public FrmProducto(Producto? producto = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
CargarCategorias();
|
||||
CargarTabla();
|
||||
if (producto != null)
|
||||
{
|
||||
nuevoproducto = producto;
|
||||
mod = true;
|
||||
InicializarFormulario();
|
||||
}
|
||||
}
|
||||
|
||||
public FrmProducto(Producto producto = null, bool esModificacion = false)
|
||||
{
|
||||
InitializeComponent();
|
||||
_producto = producto ?? new Producto();
|
||||
_esModificacion = esModificacion;
|
||||
CargarCategorias();
|
||||
CargarTabla();
|
||||
InicializarFormulario();
|
||||
}
|
||||
|
||||
private void InicializarFormulario()
|
||||
{
|
||||
if (_esModificacion && _producto != null)
|
||||
{
|
||||
numericUpDown1.Value = _producto.Id;
|
||||
numericUpDown1.Enabled = false;
|
||||
textBox1.Text = _producto.Nombre;
|
||||
numericUpDown2.Value = (decimal)_producto.Precio;
|
||||
checkBox1.Checked = _producto.Habilitado;
|
||||
comboBox1.SelectedValue = _producto.Categoria.Id;
|
||||
dgvProveedorAñadido.DataSource = _producto.ListarProveedores();
|
||||
}
|
||||
numId.Value = nuevoproducto.Id;
|
||||
numId.Enabled = false;
|
||||
txtNombre.Text = nuevoproducto.Nombre;
|
||||
numPrecio.Value = (decimal)nuevoproducto.Precio;
|
||||
checkHabilitado.Checked = nuevoproducto.Habilitado;
|
||||
cmbCategoria.SelectedValue = nuevoproducto.Categoria.Id;
|
||||
dgvProveedorAñadido.DataSource = nuevoproducto.ListarProveedores();
|
||||
|
||||
}
|
||||
|
||||
private void CargarTabla()
|
||||
{
|
||||
dgvProveedor.DataSource = null;
|
||||
dgvProveedor.DataSource = ControladoraProveedores.Instance.Listar();
|
||||
if (mod)
|
||||
{
|
||||
foreach (Proveedor prov in ControladoraProductos.Instance.ListarProveedores(nuevoproducto))
|
||||
{
|
||||
nuevoproducto.AñadirProveedor(prov);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CargarCategorias()
|
||||
@@ -61,58 +62,37 @@ namespace Vista
|
||||
var categorias = ControladoraCategorias.Instance.Listar();
|
||||
|
||||
// Configurar el ComboBox para categorías
|
||||
comboBox1.DisplayMember = "Descripcion"; // Mostrar la propiedad Descripcion
|
||||
comboBox1.ValueMember = "Id"; // Usar la propiedad Id como valor
|
||||
cmbCategoria.DisplayMember = "Descripcion"; // Mostrar la propiedad Descripcion
|
||||
cmbCategoria.ValueMember = "Id"; // Usar la propiedad Id como valor
|
||||
|
||||
// Asignar la lista de categorías al ComboBox
|
||||
comboBox1.DataSource = categorias;
|
||||
cmbCategoria.DataSource = categorias;
|
||||
}
|
||||
|
||||
private void CargarDatosProducto()
|
||||
{
|
||||
if (_producto != null)
|
||||
{
|
||||
numericUpDown1.Value = _producto.Id;
|
||||
textBox1.Text = _producto.Nombre;
|
||||
numericUpDown2.Value = Convert.ToDecimal(_producto.Precio);
|
||||
checkBox1.Checked = _producto.Habilitado;
|
||||
comboBox1.SelectedItem = _producto.Categoria;
|
||||
|
||||
if (_esModificacion)
|
||||
{
|
||||
numericUpDown1.Enabled = false; // Bloquear el ID
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool ValidarDatos()
|
||||
{
|
||||
string devolucion = "";
|
||||
|
||||
// Validar Nombre
|
||||
if (string.IsNullOrEmpty(textBox1.Text))
|
||||
{
|
||||
devolucion += "El nombre del producto no puede estar vacío.\n";
|
||||
}
|
||||
else if (textBox1.Text.Length > 100) // Limite de caracteres
|
||||
{
|
||||
devolucion += "El nombre del producto no puede superar los 100 caracteres.\n";
|
||||
}
|
||||
if (string.IsNullOrEmpty(txtNombre.Text)) { devolucion += "El nombre del producto no puede estar vacío.\n"; }
|
||||
if (txtNombre.Text.Length > 100) { devolucion += "El nombre del producto no puede superar los 100 caracteres.\n"; }
|
||||
if (numId.Value <= 0) { devolucion += "NO es un cuit válido"; };
|
||||
|
||||
// Validar Precio
|
||||
if (numericUpDown2.Value <= 0)
|
||||
if (numPrecio.Value <= 0)
|
||||
{
|
||||
devolucion += "El precio debe ser mayor a cero.\n";
|
||||
}
|
||||
|
||||
// Validar ID (Si es necesario)
|
||||
if (!_esModificacion && ControladoraProductos.Instance.Listar().Any(p => p.Id == (int)numericUpDown1.Value))
|
||||
if (!mod && ControladoraProductos.Instance.Listar().Any(p => p.Id == (int)numId.Value))
|
||||
{
|
||||
devolucion += "Ya existe un producto con el mismo ID.\n";
|
||||
}
|
||||
|
||||
// Validar Categoría Seleccionada
|
||||
if (comboBox1.SelectedItem == null)
|
||||
if (cmbCategoria.SelectedItem == null)
|
||||
{
|
||||
devolucion += "Debe seleccionar una categoría.\n";
|
||||
}
|
||||
@@ -128,24 +108,24 @@ namespace Vista
|
||||
}
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
private void btnacept_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ValidarDatos())
|
||||
{
|
||||
_producto.Nombre = textBox1.Text;
|
||||
_producto.Precio = (double)numericUpDown2.Value;
|
||||
_producto.Habilitado = checkBox1.Checked;
|
||||
_producto.Categoria = (Categoria)comboBox1.SelectedItem;
|
||||
nuevoproducto.Nombre = txtNombre.Text;
|
||||
nuevoproducto.Precio = (double)numPrecio.Value;
|
||||
nuevoproducto.Habilitado = checkHabilitado.Checked;
|
||||
nuevoproducto.Categoria = (Categoria)cmbCategoria.SelectedItem;
|
||||
|
||||
string mensaje;
|
||||
if (_esModificacion)
|
||||
if (mod)
|
||||
{
|
||||
mensaje = ControladoraProductos.Instance.Modificar(_producto);
|
||||
mensaje = ControladoraProductos.Instance.Modificar(nuevoproducto);
|
||||
}
|
||||
else
|
||||
{
|
||||
_producto.Id = (int)numericUpDown1.Value;
|
||||
mensaje = ControladoraProductos.Instance.Añadir(_producto);
|
||||
nuevoproducto.Id = (int)numId.Value;
|
||||
mensaje = ControladoraProductos.Instance.Añadir(nuevoproducto);
|
||||
}
|
||||
|
||||
MessageBox.Show(mensaje, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
@@ -153,7 +133,7 @@ namespace Vista
|
||||
}
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
private void btnCerrar(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
@@ -172,9 +152,15 @@ namespace Vista
|
||||
foreach (DataGridViewRow selectedRow in dgvProveedor.SelectedRows)
|
||||
{
|
||||
Proveedor proveedor = (Proveedor)selectedRow.DataBoundItem;
|
||||
_producto.AñadirProveedor(proveedor);
|
||||
var checkcolicion = nuevoproducto.ListarProveedores().Contains(proveedor);
|
||||
if (checkcolicion)
|
||||
{
|
||||
MessageBox.Show("El proveedor ya fue cargado");
|
||||
return;
|
||||
}
|
||||
nuevoproducto.AñadirProveedor(proveedor);
|
||||
dgvProveedorAñadido.DataSource = null;
|
||||
dgvProveedorAñadido.DataSource = _producto.ListarProveedores();
|
||||
dgvProveedorAñadido.DataSource = nuevoproducto.ListarProveedores();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -197,9 +183,9 @@ namespace Vista
|
||||
foreach (DataGridViewRow selectedRow in dgvProveedorAñadido.SelectedRows)
|
||||
{
|
||||
Proveedor proveedor = (Proveedor)selectedRow.DataBoundItem;
|
||||
dgvProveedorAñadido.Rows.Remove(selectedRow);
|
||||
Proveedor proveedoreliminar = _producto.ListarProveedores().FirstOrDefault(x => x.Cuit == proveedor.Cuit);
|
||||
_producto.EliminarProveedor(proveedoreliminar);
|
||||
nuevoproducto.EliminarProveedor(proveedor);
|
||||
dgvProveedorAñadido.DataSource = null;
|
||||
dgvProveedorAñadido.DataSource = nuevoproducto.ListarProveedores();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -212,5 +198,6 @@ namespace Vista
|
||||
MessageBox.Show($"Error al eliminar proveedor: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user