public async Task <IActionResult> Index(SpiderSelectCondition spiderSelect) { var spiders = await _spiderAppService.GetSpidersAsync(spiderSelect); ViewBag.Page = spiderSelect.Page; ViewBag.TotalCount = spiders.TotalCount; ViewBag.PageSize = spiderSelect.PageSize; return(View(spiders)); }
public async Task <PagedResultDto <Spider> > GetSpidersAsync(SpiderSelectCondition condition) { var query = _spiderRepository .GetAll() .WhereIf(condition.Name != null, p => p.Name == condition.Name) .WhereIf(condition.StartTime.HasValue, p => p.CreationTime >= condition.StartTime.Value) .WhereIf(condition.EndTime.HasValue, p => p.CreationTime <= condition.EndTime.Value) .WhereIf(condition.Url != null, p => p.Url.Contains(condition.Url)); var spiders = await query .OrderByDescending(p => p.CreationTime) .Page(condition.Page, condition.PageSize) .ToListAsync(); var count = await query.CountAsync(); return(new PagedResultDto <Spider>(count, spiders)); }