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) }); }
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); }