Exemple #1
0
        public async Task <IActionResult> GetDictionaries([FromQuery] DictionariesParameters parameters)
        {
            try
            {
                //验证排序的字段是否存在
                if (!propertyMappingContainer.ValidateMappingExistsFor <DictionariesViewModel, Dictionaries>(parameters.OrderBy))
                {
                    return(BadRequest("order by Fidled not exist"));
                }

                //验证过滤的字段是否存在
                if (!typeHelperService.TypeHasProperties <DictionariesViewModel>(parameters.Fields))
                {
                    return(BadRequest("fidled not exist"));
                }

                var users = await repository.GetAllDicAsync(parameters);

                var userViewModel = mapper.Map <IEnumerable <Dictionaries>, IEnumerable <DictionariesViewModel> >(users);
                return(Ok(new BaseResponse()
                {
                    success = true, dynamicObj = userViewModel, TotalRecord = users.TotalItemsCount
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new BaseResponse()
                {
                    success = false, message = ex.Message
                }));
            }
        }
Exemple #2
0
        public async Task <DictionariesResponse> GetDictionariesAsync(DictionariesParameters parameters)
        {
            BaseServiceRequest <DictionariesResponse> baseService = new BaseServiceRequest <DictionariesResponse>();
            var r = await baseService.GetRequest(new DictionariesRequest()
            {
                parameters = parameters
            });

            return(r);
        }
        public async Task <PaginatedList <Dictionaries> > GetAllDicAsync(DictionariesParameters parameters)
        {
            var query = context.Dictionaries.AsQueryable();

            //搜索,按登录名、用户名
            if (!string.IsNullOrEmpty(parameters.Search))
            {
                var search = parameters.Search.ToLowerInvariant();
                query = query.Where(t => t.DataCode.ToLowerInvariant().Contains(search) ||
                                    t.EnglishName.ToLowerInvariant().Contains(search) ||
                                    t.NativeName.ToLowerInvariant().Contains(search)
                                    );
            }

            //自定义排序
            query = query.ApplySort(parameters.OrderBy, propertyMappingContainer.Resolve <DictionariesViewModel, Dictionaries>());
            var count = await query.CountAsync();

            var data = await query.Skip(parameters.PageIndex - 1 *parameters.PageSize).Take(parameters.PageSize).ToListAsync();

            return(new PaginatedList <Dictionaries>(parameters.PageIndex - 1, parameters.PageSize, count, data));
        }