/// <summary>搜索 应用存储 ,返回分页结果。</summary> public async Task <PaginatedResponseModel <AppStorageModel> > SearchAsync( AppStorageSearchModel model ) { var query = Session.Query <AppStorage>(); var keywords = model.Keywords; if (keywords.IsNotNullOrEmpty()) { query = query.Where( f => f.AliasName.Contains(keywords) || f.RootFolder.Contains(keywords) ); } var total = await query.LongCountAsync(); var data = await query.OrderByDescending(e => e.Id) .Skip(model.Skip).Take(model.Take) .ToListAsync(); return(new PaginatedResponseModel <AppStorageModel> { Total = total, Data = Mapper.Map <IList <AppStorageModel> >(data), Skip = model.Skip, Take = model.Take }); }
public async Task _02_CanDoSearchAsync() { var searchModel = new AppStorageSearchModel { Skip = 0, Take = 10 }; var result = await Target.SearchAsync(searchModel); Assert.GreaterOrEqual(result.Total, 0); Assert.GreaterOrEqual(result.Take, result.Data.Count); }
public async Task <ActionResult <PaginatedResponseModel <AppStorageModel> > > Search( [FromQuery] AppStorageSearchModel model ) { try { var result = await repository.SearchAsync(model); return(result); } catch (Exception ex) { logger.LogError(ex, $"Can not search app_storages with {model.ToJson()} ."); return(this.InternalServerError(ex)); } }