public async Task <JsonResult> GetInventarios() { var idSucursales = await _context.Sucursales.FromSqlRaw("SELECT * FROM Sucursal").ToListAsync(); var response = new List <InventarioResponse>(); foreach (Sucursal sucursal in idSucursales) { var productos = await _context.Inventarios.FromSqlInterpolated($"SELECT * FROM Inventario WHERE Sucursal ={sucursal.id}").ToListAsync(); var infoProductos = new List <InventarioProducto>(); foreach (Inventario prod in productos) { var infoProd = await _context.Productos.FindAsync(prod.Producto); var obj = new InventarioProducto(); obj.idProducto = infoProd.id; obj.nombreProducto = infoProd.Nombre; obj.cantidad = prod.Cantidad; infoProductos.Add(obj); } var inv = new InventarioResponse(); inv.idSucursal = sucursal.id; inv.nombreSucursal = sucursal.Nombre; inv.Productos = infoProductos; response.Add(inv); } return(new JsonResult(response)); }
public async Task <JsonResult> GetInventario(int id) { var sucursal = await _context.Sucursales.FindAsync(id); var inv = new InventarioResponse(); if (sucursal == null) { return(new JsonResult(new { mensaje = "No se encontro ninguna sucursal con ese id" })); } else { var productos = await _context.Inventarios.FromSqlInterpolated($"SELECT * FROM Inventario WHERE Sucursal ={sucursal.id}").ToListAsync(); var infoProductos = new List <InventarioProducto>(); foreach (Inventario prod in productos) { Console.WriteLine($"---------- Producto id { prod.id } -----------------"); var infoProd = await _context.Productos.FindAsync(prod.Producto); if (infoProd != null) { var obj = new InventarioProducto(); obj.idProducto = infoProd.id; obj.nombreProducto = infoProd.Nombre; obj.cantidad = prod.Cantidad; infoProductos.Add(obj); } } inv.idSucursal = sucursal.id; inv.nombreSucursal = sucursal.Nombre; inv.Productos = infoProductos; } return(new JsonResult(inv)); }