From 66be7e6a698b46a59e145249c155ca94a898a698 Mon Sep 17 00:00:00 2001 From: fedpo Date: Tue, 6 Aug 2024 16:27:06 +0100 Subject: [PATCH] hay 1 bug en el mostrarstock --- Controladora/ControladoraLotes.cs | 6 +++--- Controladora/ControladoraPresupuestos.cs | 5 +++++ Controladora/ControladoraProductos.cs | 5 +++++ Controladora/ControladoraRemito.cs | 2 +- Modelo/RepositorioLote.cs | 2 +- Vista/FrmPresupuesto.cs | 2 +- Vista/FrmProductos.cs | 11 ++++++++++- Vista/FrmRemito.cs | 2 +- 8 files changed, 27 insertions(+), 8 deletions(-) diff --git a/Controladora/ControladoraLotes.cs b/Controladora/ControladoraLotes.cs index 1e63170..e2b7001 100644 --- a/Controladora/ControladoraLotes.cs +++ b/Controladora/ControladoraLotes.cs @@ -88,10 +88,10 @@ namespace Controladora public int MostrarStockDeProducto(Producto producto) { - if (producto == null) return -1; - if (producto.Id < 0) return -1; + if (producto == null) return 0; + if (producto.Id < 0) return 0; var lotes = RepositorioLote.Instance.Listar(); - if (lotes.Any(x => x.Producto.Id != producto.Id)) return -1; // basicamente no hay productos con esa id + if (lotes.Any(x => x.Producto.Id != producto.Id)) return 0; // basicamente no hay productos con esa id var CantidadStock = lotes .Where(x => x.Producto.Id == producto.Id) diff --git a/Controladora/ControladoraPresupuestos.cs b/Controladora/ControladoraPresupuestos.cs index 762638b..7cd6887 100644 --- a/Controladora/ControladoraPresupuestos.cs +++ b/Controladora/ControladoraPresupuestos.cs @@ -78,6 +78,11 @@ namespace Controladora .ToList() .AsReadOnly(); } + + public ReadOnlyCollection ListarTodo() + { + return RepositorioPresupuesto.Instance.Listar(); + } } } diff --git a/Controladora/ControladoraProductos.cs b/Controladora/ControladoraProductos.cs index eec8097..44096d6 100644 --- a/Controladora/ControladoraProductos.cs +++ b/Controladora/ControladoraProductos.cs @@ -73,5 +73,10 @@ namespace Controladora { return RepositorioCategoria.Instance.Listar(); } + + public int MostrarStock(Producto producto) + { + return ControladoraLotes.Instance.MostrarStockDeProducto(producto); + } } } \ No newline at end of file diff --git a/Controladora/ControladoraRemito.cs b/Controladora/ControladoraRemito.cs index 4746c7f..fa7520d 100644 --- a/Controladora/ControladoraRemito.cs +++ b/Controladora/ControladoraRemito.cs @@ -57,7 +57,7 @@ namespace Controladora .ToList() .AsReadOnly(); } - public object ListarDetallesOrdenesDeCompra(OrdenDeCompra orden) + public ReadOnlyCollection ListarDetallesOrdenesDeCompra(OrdenDeCompra orden) { var ordenalistar = RepositorioOrdenDeCompra.Instance.Listar().First(x => x.Id == orden.Id); if (ordenalistar == null) return new ReadOnlyCollection(new List()); diff --git a/Modelo/RepositorioLote.cs b/Modelo/RepositorioLote.cs index af52225..e80a3f9 100644 --- a/Modelo/RepositorioLote.cs +++ b/Modelo/RepositorioLote.cs @@ -83,7 +83,7 @@ namespace Modelo public bool DisminuirStock(DetalleFactura detalleFactura) { bool ret = false; - while (detalleFactura.Cantidad >= 0) + while (detalleFactura.Cantidad > 0) { var elementoAdisminuir = almacen.Where(x=> x.Habilitado == true) .First(x => x.Producto.Id == detalleFactura.Producto.Id); diff --git a/Vista/FrmPresupuesto.cs b/Vista/FrmPresupuesto.cs index 0bd7e78..117b1f6 100644 --- a/Vista/FrmPresupuesto.cs +++ b/Vista/FrmPresupuesto.cs @@ -28,7 +28,7 @@ namespace Vista dgvProveedor.DataSource = null; dgvProveedor.DataSource = ControladoraPresupuestos.Instance.ListarProveedores(); - var presupuestolist = ControladoraPresupuestos.Instance.Listar(); + var presupuestolist = ControladoraPresupuestos.Instance.ListarTodo(); numId.Value = (presupuestolist.Count > 0) ? presupuestolist.Max(x => x.Id + 1) : 0; diff --git a/Vista/FrmProductos.cs b/Vista/FrmProductos.cs index 7a1742c..47221d1 100644 --- a/Vista/FrmProductos.cs +++ b/Vista/FrmProductos.cs @@ -260,12 +260,21 @@ namespace Vista dgvNoPercedero.DataSource = new List { prod }; } } - + private void MostrarStock() + { + var selectedRow = dgvProductos.SelectedRows[0]; + var Producto = new Entidades.Producto + { + Id = Convert.ToInt32(selectedRow.Cells["Id"].Value) + }; + numStock.Value = ControladoraProductos.Instance.MostrarStock(Producto); + } private void dgvProductos_CellClick(object sender, DataGridViewCellEventArgs e) { if (dgvProductos.SelectedRows.Count == 0) return; ActualizarGrillaProveedores(); ActualizarGrillaGeneralizaciones(); + MostrarStock(); } private void btnModificar_Click(object sender, EventArgs e) diff --git a/Vista/FrmRemito.cs b/Vista/FrmRemito.cs index 5e4accc..43afc46 100644 --- a/Vista/FrmRemito.cs +++ b/Vista/FrmRemito.cs @@ -70,7 +70,7 @@ namespace Vista Id = Convert.ToInt32(numId.Value), Proveedor = orden.Proveedor }; - foreach (var detalle in orden.MostrarDetalles()) + foreach (var detalle in ControladoraRemito.Instance.ListarDetallesOrdenesDeCompra(orden)) { Lote lote = new Lote {