public async Task <PaginatedSmartVoucherCampaignsListResponse> GetSmartVoucherCampaignsListAsync([FromQuery] SmartVoucherCampaignsListRequest request)
        {
            var result = await _smartVouchersClient.CampaignsApi.GetAsync(new VoucherCampaignsPaginationRequestModel
            {
                CampaignName = request.CampaignName,
                CurrentPage  = request.CurrentPage,
                OnlyActive   = request.OnlyActive,
                PageSize     = request.PageSize
            });

            return(new PaginatedSmartVoucherCampaignsListResponse
            {
                PagedResponse = new PagedResponseModel(request.CurrentPage, result.TotalCount),
                SmartVoucherCampaigns = _mapper.Map <List <SmartVoucherCampaignResponse> >(result.Campaigns)
            });
        }
Example #2
0
        public async Task <PaginatedSmartVoucherCampaignsListResponse> GetSmartVoucherCampaignsListAsync([FromQuery] SmartVoucherCampaignsListRequest request)
        {
            var requestModel = new VoucherCampaignsPaginationRequestModel
            {
                CampaignName = request.CampaignName,
                CurrentPage  = request.CurrentPage,
                OnlyActive   = request.OnlyActive,
                PageSize     = request.PageSize
            };

            #region Filter

            var permissionLevel = await _requestContext.GetPermissionLevelAsync(PermissionType.VoucherManager);

            if (permissionLevel.HasValue && permissionLevel.Value == PermissionLevel.PartnerEdit)
            {
                requestModel.CreatedBy = Guid.Parse(_requestContext.UserId);
            }

            #endregion

            var result = await _smartVouchersClient.CampaignsApi.GetAsync(requestModel);

            return(new PaginatedSmartVoucherCampaignsListResponse
            {
                PagedResponse = new PagedResponseModel(request.CurrentPage, result.TotalCount),
                SmartVoucherCampaigns = _mapper.Map <List <SmartVoucherCampaignResponse> >(result.Campaigns)
            });
        }