/// <summary>
 /// Initializes a new instance of the <see cref="OfferController"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="offerBl">The offer business logic.</param>
 public OfferController(ILogger <OfferController> logger, IOfferBl offerBl, IUriBl uriBl)
 {
     this.logger  = logger;
     this.offerBl = offerBl;
     this.uriBl   = uriBl;
 }
示例#2
0
        public static PagedResponse <List <T> > CreatePagedReponse <T>(List <T> pagedData, PaginationFilter validFilter, int totalRecords, IUriBl uriBl, string route)
        {
            var respose           = new PagedResponse <List <T> >(pagedData, validFilter.PageNumber, validFilter.PageSize);
            var totalPages        = ((double)totalRecords / (double)validFilter.PageSize);
            int roundedTotalPages = Convert.ToInt32(Math.Ceiling(totalPages));

            respose.NextPage =
                validFilter.PageNumber >= 1 && validFilter.PageNumber < roundedTotalPages
                ? uriBl.GetPageUri(new PaginationFilter(validFilter.PageNumber + 1, validFilter.PageSize), route)
                : null;

            respose.PreviousPage =
                validFilter.PageNumber - 1 >= 1 && validFilter.PageNumber <= roundedTotalPages
                ? uriBl.GetPageUri(new PaginationFilter(validFilter.PageNumber - 1, validFilter.PageSize), route)
                : null;

            respose.FirstPage    = uriBl.GetPageUri(new PaginationFilter(1, validFilter.PageSize), route);
            respose.LastPage     = uriBl.GetPageUri(new PaginationFilter(roundedTotalPages, validFilter.PageSize), route);
            respose.TotalPages   = roundedTotalPages;
            respose.TotalRecords = totalRecords;
            return(respose);
        }