// GET: api/Venta
        public IEnumerable <VentaDto> Get([FromUri] FiltroVenta filtro)
        {
            using (var session = Database.SessionFactory.OpenSession())
            {
                var ventas = session.Query <Venta>();

                if (filtro.IdCliente.HasValue)
                {
                    ventas = ventas.Where(venta => venta.Cliente.Id == filtro.IdCliente);
                }

                if (filtro.IdProducto.HasValue)
                {
                    ventas = ventas.Where(venta => venta.Items.Any(item => item.Producto.Id == filtro.IdProducto));
                }

                return(ventas.Select(venta => new VentaDto
                {
                    Id = venta.Id,
                    IdCliente = venta.Cliente.Id,
                    Items = venta.Items.Select(i => new ItemDto
                    {
                        IdProducto = i.Producto.Id,
                        NombreProducto = i.Producto.Nombre,
                        Cantidad = i.Cantidad
                    }).ToList()
                }).ToList());
            }
        }
Beispiel #2
0
 public async Task <IActionResult> GetVigenteVenta(FiltroVenta filtro) =>
 Ok(await Mediator.Send(new GetPromocionesVigentesParaVentaQuery {
     Banco = filtro.Banco, CategoriaProducto = filtro.CategoriaProducto, MedioDePago = filtro.MedioDePago
 }));