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)); }
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()); }