public FetchVoucherResponse GetVouchers(FetchVoucherRequest fetchVoucherRequest) { int count = 0; IEnumerable <eVoucher> vouchers = new List <eVoucher>(); vouchers = _eVoucherRepository.GetAlleVouchers() .Where(x => x.EVoucherStatus == eVoucherStatus.Active) .Skip((fetchVoucherRequest.PageNumber - 1) * fetchVoucherRequest.VourchersPerPage) .Take(fetchVoucherRequest.VourchersPerPage).ToList(); foreach (var item in vouchers) { item.eVoucherPaymentMode = _eVoucherRepository.GetEVoucherPaymentModesByVoucherId(item.Id); } var totalPages = (int)Math.Ceiling((decimal)count / fetchVoucherRequest.VourchersPerPage); int[] pages = Enumerable.Range(1, totalPages).ToArray(); var voucherDtos = _messageMapper.MapToeVouchersDtos(vouchers); var response = new FetchVoucherResponse() { eVouchersPerPage = fetchVoucherRequest.VourchersPerPage, eVouchers = voucherDtos, HasPreviousPages = (fetchVoucherRequest.PageNumber > 1), CurrentPage = fetchVoucherRequest.PageNumber, HasNextPages = (fetchVoucherRequest.PageNumber < totalPages), Pages = pages }; return(response); }
public ActionResult <FetchVoucherResponse> GetAllVouchers(int page = 1) { var fetchVoucherRequest = new FetchVoucherRequest { PageNumber = page, VourchersPerPage = 2 }; var fetchVouchersResponse = _eVoucherService.GetVouchers(fetchVoucherRequest); return(fetchVouchersResponse); }