public async Task <ListCampaignViewModel> GetListCampaignByAgency(int agencyid, int pageindex, int pagesize)
        {
            var filter    = new CampaignByAgencySpecification(agencyid);
            var campaigns = await _ICampaignRepository.ListPagedAsync(filter, "DateModified_desc", pageindex, pagesize);

            var total = await _ICampaignRepository.CountAsync(filter);

            return(new ListCampaignViewModel()
            {
                Campaigns = campaigns.Select(a => new CampaignViewModel(a)).ToList(),
                Pager = new PagerViewModel(pageindex, pagesize, total)
            });
        }
Beispiel #2
0
        public async Task <ListCampaignViewModel> GetListCampaignByAgency(int agencyid, CampaignType?type, CampaignStatus?status, string keyword, int page, int pagesize)
        {
            var filter    = new CampaignByAgencySpecification(agencyid, type, status, keyword);
            var campaigns = await _campaignRepository.ListPagedAsync(filter, "DateModified_desc", page, pagesize);

            var total = await _campaignRepository.CountAsync(filter);

            return(new ListCampaignViewModel()
            {
                Campaigns = CampaignViewModel.GetList(campaigns),
                Pager = new PagerViewModel(page, pagesize, total)
            });
        }
        public async Task <CampaignDetailsViewModel> GetCampaign(int agencyid, int campaignid)
        {
            var filter   = new CampaignByAgencySpecification(agencyid, campaignid);
            var campaign = await _ICampaignRepository.GetSingleBySpecAsync(filter);

            if (campaign != null)
            {
                var transactions = await _ITransactionRepository.ListAsync(new TransactionByCampaignSpecification(campaign.Id));

                return(new CampaignDetailsViewModel(campaign, campaign.CampaignOption,
                                                    campaign.CampaignAccount, transactions));
            }
            return(null);
        }