asdas
This commit is contained in:
@@ -20,13 +20,13 @@ namespace Vista
|
||||
public FrmProducto(Producto? producto = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
CargarCategorias();
|
||||
CargarNumid();
|
||||
CargarTabla();
|
||||
cargarcombo();
|
||||
|
||||
if (producto != null)
|
||||
{
|
||||
nuevoproducto = producto;
|
||||
nuevoproducto = ControladoraProductos.Instance.MostrarPorId(producto);
|
||||
mod = true;
|
||||
InicializarFormulario();
|
||||
}
|
||||
@@ -43,7 +43,19 @@ namespace Vista
|
||||
numPrecio.Value = (decimal)nuevoproducto.Precio;
|
||||
checkHabilitado.Checked = nuevoproducto.Habilitado;
|
||||
dgvProveedorAñadido.DataSource = nuevoproducto.proveedores.AsReadOnly();
|
||||
checkpercedero.Checked = nuevoproducto.EsPerecedero;
|
||||
checkpercedero.Enabled = false;
|
||||
|
||||
if (nuevoproducto.EsPerecedero)
|
||||
{
|
||||
var Prodperc = (ProductoPercedero)nuevoproducto;
|
||||
numConsumoPreferente.Value = Prodperc.MesesHastaConsumoPreferente;
|
||||
numvencimiento.Value = Prodperc.MesesHastaVencimiento;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void CargarTabla()
|
||||
@@ -52,16 +64,22 @@ namespace Vista
|
||||
dgvProveedor.DataSource = ControladoraProductos.Instance.ListarProveedores();
|
||||
if (mod)
|
||||
{
|
||||
foreach (Proveedor prov in ControladoraProductos.Instance.ListarProveedores(nuevoproducto))
|
||||
{
|
||||
nuevoproducto.AñadirProveedor(prov);
|
||||
}
|
||||
dgvProveedorAñadido.DataSource = ControladoraProductos.Instance.ListarProveedores(nuevoproducto);
|
||||
|
||||
}
|
||||
|
||||
dgvCategoria.DataSource = null;
|
||||
dgvCategoria.DataSource = ControladoraCategorias.Instance.Listar();
|
||||
if (mod)
|
||||
{
|
||||
dgvCategoriaAñadida.DataSource = ControladoraProductos.Instance.ListarCategorias(nuevoproducto);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void CargarCategorias()
|
||||
private void CargarNumid()
|
||||
{
|
||||
|
||||
var listprod = ControladoraProductos.Instance.Listar();
|
||||
numId.Value = (listprod.Count > 0) ?
|
||||
listprod.Max(x => x.Id + 1) :
|
||||
@@ -91,17 +109,17 @@ namespace Vista
|
||||
}
|
||||
|
||||
// Validar Categoría Seleccionada (wip)
|
||||
//devolucion += "Debe seleccionar una categoría.\n";
|
||||
//devolucion += "Debe seleccionar una categoría.\n";
|
||||
|
||||
// Validar Tipo de Producto
|
||||
if (!checkBox1.Checked && cmbEnvase.SelectedItem == null)
|
||||
if (!checkpercedero.Checked && cmbEnvase.SelectedItem == null)
|
||||
{
|
||||
devolucion += "Debe seleccionar un tipo de envase para el producto no perecedero.\n";
|
||||
}
|
||||
|
||||
if (checkBox1.Checked) // Producto Perecedero
|
||||
if (checkpercedero.Checked) // Producto Perecedero
|
||||
{
|
||||
if (numericUpDown1.Value <= 0 || numericUpDown2.Value <= 0)
|
||||
if (numConsumoPreferente.Value <= 0 || numvencimiento.Value <= 0)
|
||||
{
|
||||
devolucion += "Los meses hasta consumo preferente y vencimiento deben ser mayores a cero.\n";
|
||||
}
|
||||
@@ -123,23 +141,31 @@ namespace Vista
|
||||
if (ValidarDatos())
|
||||
{
|
||||
|
||||
if (checkBox1.Checked) // Producto Perecedero
|
||||
if (checkpercedero.Checked) // Producto Perecedero
|
||||
{
|
||||
var productoPerecedero = new ProductoPercedero
|
||||
{
|
||||
Id = (int)numId.Value,
|
||||
|
||||
Nombre = txtNombre.Text,
|
||||
Precio = (double)numPrecio.Value,
|
||||
Habilitado = checkHabilitado.Checked,
|
||||
MesesHastaConsumoPreferente = (int)numericUpDown1.Value,
|
||||
MesesHastaVencimiento = (int)numericUpDown2.Value,
|
||||
MesesHastaConsumoPreferente = (int)numConsumoPreferente.Value,
|
||||
MesesHastaVencimiento = (int)numvencimiento.Value,
|
||||
EsPerecedero = checkpercedero.Checked
|
||||
};
|
||||
|
||||
foreach (var proveedor in nuevoproducto.proveedores.AsReadOnly())
|
||||
if (mod) productoPerecedero.Id = (int)numId.Value;
|
||||
|
||||
foreach (var proveedor in nuevoproducto.proveedores)
|
||||
{
|
||||
productoPerecedero.AñadirProveedor(proveedor);
|
||||
}
|
||||
|
||||
foreach (var cat in nuevoproducto.categorias)
|
||||
{
|
||||
productoPerecedero.AñadirCategoria(cat);
|
||||
}
|
||||
|
||||
string mensaje = mod
|
||||
? ControladoraProductoPercedero.Instance.Modificar(productoPerecedero)
|
||||
: ControladoraProductoPercedero.Instance.Añadir(productoPerecedero);
|
||||
@@ -150,17 +176,23 @@ namespace Vista
|
||||
{
|
||||
var productoNoPerecedero = new ProductoNoPercedero
|
||||
{
|
||||
Id = (int)numId.Value,
|
||||
Nombre = txtNombre.Text,
|
||||
Precio = (double)numPrecio.Value,
|
||||
Habilitado = checkHabilitado.Checked,
|
||||
TipoDeEnvase = (EnvaseTipo)cmbEnvase.SelectedItem,
|
||||
};
|
||||
|
||||
foreach (var proveedor in nuevoproducto.proveedores.AsReadOnly())
|
||||
|
||||
if (mod) productoNoPerecedero.Id = (int)numId.Value;
|
||||
|
||||
foreach (var proveedor in nuevoproducto.proveedores)
|
||||
{
|
||||
productoNoPerecedero.AñadirProveedor(proveedor);
|
||||
}
|
||||
foreach (var cat in nuevoproducto.categorias)
|
||||
{
|
||||
productoNoPerecedero.AñadirCategoria(cat);
|
||||
}
|
||||
|
||||
string mensaje = mod
|
||||
? ControladoraProductoNoPercedero.Instance.Modificar(productoNoPerecedero)
|
||||
: ControladoraProductoNoPercedero.Instance.Añadir(productoNoPerecedero);
|
||||
@@ -177,11 +209,6 @@ namespace Vista
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnaddProveedor_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (dgvProveedor.SelectedRows.Count > 0)
|
||||
@@ -205,7 +232,7 @@ namespace Vista
|
||||
MessageBox.Show("Por favor, selecciona una fila para añadir Proveedor al producto.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void btnrmProveedor_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -232,23 +259,62 @@ namespace Vista
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBox1_CheckedChanged(object sender, EventArgs e)
|
||||
private void btnaddCategoria_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool esPerecedero = checkBox1.Checked;
|
||||
if (dgvCategoria.SelectedRows.Count > 0)
|
||||
{
|
||||
foreach (DataGridViewRow selectedRow in dgvCategoria.SelectedRows)
|
||||
{
|
||||
var cat = (Categoria)selectedRow.DataBoundItem;
|
||||
var checkcolicion = nuevoproducto.categorias.Contains(cat);
|
||||
if (checkcolicion)
|
||||
{
|
||||
MessageBox.Show("La Categoria ya fue cargada");
|
||||
return;
|
||||
}
|
||||
nuevoproducto.AñadirCategoria(cat);
|
||||
dgvCategoriaAñadida.DataSource = null;
|
||||
dgvCategoriaAñadida.DataSource = nuevoproducto.categorias.AsReadOnly();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Por favor, selecciona una fila para añadir Categoria al producto.");
|
||||
}
|
||||
}
|
||||
|
||||
numericUpDown1.Enabled = esPerecedero;
|
||||
numericUpDown2.Enabled = esPerecedero;
|
||||
private void checkpercedero_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
bool esPerecedero = checkpercedero.Checked;
|
||||
|
||||
numConsumoPreferente.Enabled = esPerecedero;
|
||||
numvencimiento.Enabled = esPerecedero;
|
||||
cmbEnvase.Enabled = !esPerecedero;
|
||||
}
|
||||
|
||||
private void numericUpDown2_ValueChanged(object sender, EventArgs e)
|
||||
private void btnrmCategoria_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
if (dgvCategoriaAñadida.SelectedRows.Count > 0)
|
||||
{
|
||||
foreach (DataGridViewRow selectedRow in dgvCategoriaAñadida.SelectedRows)
|
||||
{
|
||||
var cat = (Categoria)selectedRow.DataBoundItem;
|
||||
nuevoproducto.EliminarCategoria(cat);
|
||||
dgvCategoriaAñadida.DataSource = null;
|
||||
dgvCategoriaAñadida.DataSource = nuevoproducto.categorias.AsReadOnly();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Por favor, selecciona una fila para eliminar Categoria del producto.");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Error al eliminar proveedor: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user