Ejemplo n.º 1
0
        public ActionResult Get([FromQuery] PaginationModel model)
        {
            model.PageNumber = model.PageNumber == 0 ? 1 : model.PageNumber;

            var list = _proposalService.GetAll(x => x.Client, model.SearchTerm, model.Sort, model.PageSize * (model.PageNumber - 1), model.PageSize, x => x.Vehicle, x => x.Vehicle.Brand);

            var totalItems = _proposalService.Count(x => x.Client, model.SearchTerm);

            var totalPages = (double)totalItems / model.PageSize;

            var result = new
            {
                Items = list.Select(x => new
                {
                    x.Id,
                    Vehicle = x.Vehicle?.Model,
                    x.VehicleId,
                    Brand = x.Vehicle?.Brand?.Name,
                    x.Client,
                    x.Amount,
                    x.DateProposal
                }),
                TotalPages = (int)Math.Ceiling(totalPages),
                TotalItems = totalItems
            };

            return(Ok(result));
        }