Exemple #1
0
        /// <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
            });
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
            }
        }