public async Task <IActionResult> List([FromQuery] string title, [FromQuery] int?page, [FromQuery] bool active) { CampaignSearchViewModel model = new CampaignSearchViewModel(); model.Page = page; model.Title = title; model.Active = active; int p = model.Page != null?model.Page.GetValueOrDefault() : 1; return(Json(await this.service.GetCampaignPage(model))); }
public async Task <List <Campaign> > GetCampaigns(CampaignSearchViewModel search) { IQueryable <Campaign> query = this.db.Campaigns; if (search.Title != null && search.Title != "undefined") { query = query.Where(c => c.Name.Contains(search.Title)); } if (search.Active) { query = query.Where(c => c.IsActiveRegistration == true); } return(await query .Paginate(10, search.Page != null?search.Page.GetValueOrDefault() : 1) .ToListAsync()); }
public async Task <CampaignListPageViewModel> GetCampaignPage(CampaignSearchViewModel search) { CampaignListPageViewModel model = new CampaignListPageViewModel(); var campaigns = await this.GetCampaigns(search); model.Campaigns = campaigns.Select(c => new CampaignViewModel() { Id = c.Id, Name = c.Name, StartDate = c.StartDate.ToString("dd/MM/yyyy"), EndDate = c.EndDate.ToString("dd/MM/yyyy"), IsActiveRegistration = c.IsActiveRegistration }).ToList(); model.Page = search.Page.GetValueOrDefault(); model.Total = await this.db .Campaigns .CountAsync(); return(model); }