/// <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; }
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); }