Exemple #1
0
        public async Task <ApiResult <PageViewModel <UserViewModel> > > GetListUser(GetUserPaggingRequest request)
        {
            var query = from u in _userManager.Users
                        join r in _roleManager.Roles on u.RoleID equals r.Id
                        select new { r, u };

            if (!string.IsNullOrEmpty(request.Keyword))
            {
                query = query.Where(x => x.u.UserName.Contains(request.Keyword));
            }
            int totalRow = await query.CountAsync();

            if (request.PageIndex != 0 || request.PageSize != 0)
            {
                var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                           .Take(request.PageSize)
                           .Select(x => new UserViewModel()
                {
                    Email     = x.u.Email,
                    FullName  = x.u.FullName,
                    Phone     = x.u.PhoneNumber,
                    Address   = x.u.Address,
                    UserName  = x.u.UserName,
                    Dob       = x.u.Dob,
                    Id        = x.u.Id,
                    ImagePath = x.u.ImagePath,
                    Role      = x.r.Name
                }).ToListAsync();

                var pageResult = new PageViewModel <UserViewModel>()
                {
                    TotalRecords = totalRow,
                    Items        = data,
                };
                return(new ApiResultSuccess <PageViewModel <UserViewModel> >(pageResult));
            }
            else
            {
                var data = await query
                           .Select(x => new UserViewModel()
                {
                    Email     = x.u.Email,
                    FullName  = x.u.FullName,
                    Phone     = x.u.PhoneNumber,
                    Address   = x.u.Address,
                    UserName  = x.u.UserName,
                    Dob       = x.u.Dob,
                    Id        = x.u.Id,
                    ImagePath = x.u.ImagePath,
                    Role      = x.r.Name
                }).ToListAsync();

                var pageResult = new PageViewModel <UserViewModel>()
                {
                    TotalRecords = totalRow,
                    Items        = data,
                };
                return(new ApiResultSuccess <PageViewModel <UserViewModel> >(pageResult));
            }
        }
        public async Task <ApiResult <PageViewModel <UserViewModel> > > getListUser(GetUserPaggingRequest request)
        {
            //https://locahost:port/products/?PageIndex=1&pageSize=1&categoryId=1
            var sections = _httpContextAccessor.HttpContext.Session.GetString("Token");

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sections);
            var response = await _client.GetAsync($"/api/users/getListUser?pageIndex={request.PageIndex}&pageSize={request.PageSize}&keyWord={request.Keyword}");

            using (HttpContent content = response.Content)
            {
                //convert data content to string using await
                var data = await content.ReadAsStringAsync();

                //If the data is not null, parse(deserialize) the data to a C# object
                if (data != null)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        return(JsonConvert.DeserializeObject <ApiResultSuccess <PageViewModel <UserViewModel> > >(data));
                    }
                    return(JsonConvert.DeserializeObject <ApiResultErrors <PageViewModel <UserViewModel> > >(data));
                }
                else
                {
                    return(null);
                }
            }
        }
        public async Task <IActionResult> GetListUser([FromQuery] GetUserPaggingRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _userService.GetListUser(request);

            return(Ok(result));
        }
Exemple #4
0
        public async Task <IActionResult> IndexAsync(string keyword = null, int pageIndex = 0, int pageSize = 0)
        {
            var section = HttpContext.Session.GetString("Token");
            var request = new GetUserPaggingRequest
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                Keyword   = keyword
            };
            var roles = await _userAPIClient.getListRole();

            var users = await _userAPIClient.getListUser(request);

            ViewData["categories"] = await GetListCategoryAsync(languageDefauleId);

            ViewData["roles"] = roles.ResultObject.Items;
            ViewData["users"] = users.ResultObject.Items;
            ViewData["Token"] = section;
            return(View());
        }