public virtual async Task <List <AreaDefineResponse> > Search(string userId, AreaDefineSearchCondition condition, CancellationToken cancellationToken = default(CancellationToken))
        {
            var q = Store.AreaDefines.Where(a => !a.IsDeleted);

            if (condition == null)
            {
                throw new ArgumentNullException(nameof(condition));
            }
            if (condition?.Codes?.Count > 0)
            {
                q = q.Where(a => condition.Codes.Contains(a.Code));
            }
            if (condition?.Levels?.Count > 0)
            {
                q = q.Where(a => condition.Levels.Contains(a.Level));
            }
            var areaDefines = _mapper.Map <List <AreaDefineResponse> >(await q.ToListAsync(cancellationToken));

            return(areaDefines);
        }
Ejemplo n.º 2
0
        public async Task <ResponseMessage <List <AreaDefineResponse> > > GetAreaDefineList(UserInfo user, [FromBody] AreaDefineSearchCondition condition)
        {
            ResponseMessage <List <AreaDefineResponse> > response = new ResponseMessage <List <AreaDefineResponse> >();

            if (!ModelState.IsValid)
            {
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = ModelState.GetAllErrors();
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})获取地区列表(GetAreaDefineList)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (condition != null ? JsonHelper.ToJson(condition) : ""));
                return(response);
            }
            try
            {
                response.Extension = await _areaDefineManager.Search(user.Id, condition, HttpContext.RequestAborted);
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})获取地区列表(GetAreaDefineList)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (condition != null ? JsonHelper.ToJson(condition) : ""));
            }
            return(response);
        }