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);
        }
Example #2
0
        public ActionResult <FetchVoucherResponse> GetAllVouchers(int page = 1)
        {
            var fetchVoucherRequest = new FetchVoucherRequest
            {
                PageNumber       = page,
                VourchersPerPage = 2
            };
            var fetchVouchersResponse = _eVoucherService.GetVouchers(fetchVoucherRequest);

            return(fetchVouchersResponse);
        }