Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }