Exemplo n.º 1
0
        public IHttpActionResult GetTradingLots([FromUri] PagingParameterModel paging, [FromUri] LotFilteringModel filterModel)
        {
            IEnumerable <TradingLotDTO> lotsForPage;

            try
            {
                lotsForPage = lotService.GetLotsForPage(paging?.PageNumber ?? 1, paging?.PageSize ?? 10, filterModel.CategoryId,
                                                        filterModel.MinPrice, filterModel.MaxPrice, filterModel.LotName, out int pagesCount, out int totalItemsCount);
                string metadata = JsonConvert.SerializeObject(PaginationHelper.GeneratePageMetadata(paging,
                                                                                                    totalItemsCount, pagesCount));
                HttpContext.Current.Response.Headers.Add("Paging-Headers", metadata);

                return(Ok(lotsForPage));
            }
            catch (DatabaseException)
            {
                return(StatusCode(HttpStatusCode.InternalServerError));
            }
        }
        public IHttpActionResult GetLotsForCategory(int id, [FromUri] PagingParameterModel pagingParameter, [FromUri] LotFilteringModel filterModel)
        {
            IEnumerable <TradingLotDTO> lotsForPage;

            lotsForPage = lotService.GetLotsForPage(pagingParameter?.PageNumber ?? 1, pagingParameter?.PageSize ?? 10,
                                                    id, filterModel.MinPrice, filterModel.MaxPrice, filterModel.LotName,
                                                    out int pagesCount, out int totalItemsCount);

            string metadata = JsonConvert.SerializeObject(PaginationHelper.GeneratePageMetadata(pagingParameter,
                                                                                                totalItemsCount, pagesCount));

            HttpContext.Current.Response.Headers.Add("Paging-Headers", metadata);

            return(Ok(lotsForPage));
        }