public ActionResult <Response> GetAll([FromQuery] DateTime dataInicio, [FromQuery] DateTime dataFim, [FromQuery] int pagina, [FromQuery] int quantidadePorPagina) { var request = RequestSearchVenda.Build(dataInicio, dataFim, quantidadePorPagina, pagina); var response = _vendaAppService.GetWithPagination(request); return(Ok(response)); }
public Response GetWithPagination(RequestSearchVenda request) { try { if (request.IsNotValid()) { return(Response.BuildBadRequest(null, request.GetValueInvalidDateString())); } var data = _vendaRepository.GetWithPagination(request); return(Response.BuildSuccess(data)); } catch (Exception ex) { return(Response.BuildInternalServerError()); } }
public List <Venda> GetWithPagination(RequestSearchVenda request) { var where = new Func <Venda, bool>(v => v.Data >= request.DataInicio && v.Data <= request.DataFim); var total = _context.Venda.Count(where); if (total == 0) { return(Venda.ListEmpty()); } request.WithPagination(total); return(_context.Venda .Include(v => v.ItensVenda) .Where(where) .OrderByDescending(d => d.Data) .Skip(request.Paginacao.Skip) .Take(request.Paginacao.Take) .ToList()); }