Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }