public async Task <IActionResult> Post([FromBody] IngresoDetalle modelo) { if (!ModelState.IsValid) { return(HttpBadRequest(ModelState)); } var id = await ingresos.CrearAsync(User.Id(), modelo); var result = await ingresos.ObtenerUnicoAsync(id); return(CreatedAtRoute("GetIngreso", new { id = result.Id }, result)); }
private async Task <int> CrearIngresoAsync(Traslado traslado, int usuarioId) { var productosIds = traslado.Productos.Select(x => x.ProductoId).ToArray(); var proveedorId = await db.ProveedorProductos.Where(x => productosIds.Contains(x.ProductoId)).Select(x => x.ProveedorId).Distinct().FirstOrDefaultAsync(); var ingresoId = await ingresos.CrearAsync(usuarioId, new IngresoDetalle { Fecha = traslado.Fecha, BodegaId = traslado.BodegaDestinoId, ProveedorId = proveedorId, Productos = traslado.Productos.Select(x => new IngresoProductoDetalle { Cantidad = x.Cantidad, MarcaId = x.MarcaId, UnidadId = x.UnidadId, ProductoId = x.ProductoId }).ToArray() }); return(ingresoId); }