コード例 #1
0
ファイル: UserLogic.cs プロジェクト: dbthanhbinh/appcore
        public async Task <PagingResponse> GetUsersWithPagingAsync(GetUsersReq getUsersReq)
        {
            try
            {
                int currentPage = getUsersReq.CurrentPage;
                int pageSize    = getUsersReq.PageSize;

                List <UserDetailVM> result = null;
                result = _uow.GetRepository <User>().GetAll()
                         .Select(u => new UserDetailVM {
                    FullName = u.FullName,
                    Email    = u.Email,
                    Phone    = u.Phone
                }).ToList();



                var resultPg = PagingHelper <UserDetailVM> .GetPagingList(result, currentPage, pageSize);

                await Task.FromResult(resultPg);

                return(resultPg);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.InnerException.Message.ToString());
                throw ex;
            }
        }
コード例 #2
0
        /// <summary>
        /// 获取用户列表
        /// </summary>
        /// <param name="request"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public override async Task <UserList> GetUsers(GetUsersReq request, ServerCallContext context)
        {
            if (request is null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (context is null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            IQueryable <ApplicationUser> query = applicationDbContext.Users;

            if (!string.IsNullOrEmpty(request.Query))
            {
                query = query.Where(e => e.Name.Contains(request.Query, StringComparison.OrdinalIgnoreCase) ||
                                    e.UserName.Contains(request.Query, StringComparison.OrdinalIgnoreCase) ||
                                    e.Email.Contains(request.Query, StringComparison.OrdinalIgnoreCase) ||
                                    e.PhoneNumber.Contains(request.Query, StringComparison.OrdinalIgnoreCase));
            }
            var total = await query.CountAsync().ConfigureAwait(false);

            var users = (await query
                         .Skip((int)request.Skip)
                         .Take((int)request.Task)
                         .AsNoTracking()
                         .ToListAsync().ConfigureAwait(false));

            UserList userList = new UserList();

            userList.Total = (uint)total;
            userList.Users.AddRange(mapper.Map <RepeatedField <UserReply> >(users));
            return(userList);
        }
コード例 #3
0
 public ActionResult GetUsersWithPagingAsync(Int32 pageSize, Int32 currentPage)
 {
     try
     {
         GetUsersReq getUsersReq = new GetUsersReq
         {
             PageSize    = pageSize,
             CurrentPage = currentPage
         };
         var result = _userLogic.GetUsersWithPagingAsync(getUsersReq);
         return(Ok(new BaseResponse(result.Result.Data, result.Result.Paging)));
     }
     catch (Exception ex)
     {
         return(Ok(this.BaseResponseApiErrorResult(ex)));
     }
 }