Beispiel #1
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)
            });
        }
Beispiel #2
0
        public async Task <PaginatedVoucherCampaignsListResponseModel> GetAsync(VoucherCampaignsPaginationRequestModel request)
        {
            var campaignListRequestModel = new CampaignListRequest
            {
                CampaignName = request.CampaignName,
                OnlyActive   = request.OnlyActive,
                CreatedBy    = request.CreatedBy,
                Skip         = (request.CurrentPage - 1) * request.PageSize,
                Take         = request.PageSize,
            };

            var campaignsPaged = await _campaignsService.GetCampaignsAsync(campaignListRequestModel);

            var campaignModels = _mapper.Map <PaginatedVoucherCampaignsListResponseModel>(campaignsPaged);

            return(campaignModels);
        }