public async Task <IActionResult> UsersView(int?currentPosition, string sortType = null, string select = null) { FilterBase filters = new FilterBase(countVisablePozitins: 3, currentPosition: currentPosition, selectFromSelectList: select, sortType: sortType); string loadCurrentPosition = _session.GetString("CurrentPositionUser"); if (loadCurrentPosition != null) { filters.CurrentPosition = Convert.ToInt32(loadCurrentPosition); _session.Remove("CurrentPositionUser"); } UsersBaseInfoAndFilters result = await _dataProcessingConveyor.GetUsersAsync(filters); return(View(result)); }
//------------------------ public async Task <IActionResult> UsersViewAjax(int?currentPosition, string sortType = null, string select = null) { FilterBase filters = new FilterBase(countVisablePozitins: 3, currentPosition: currentPosition, selectFromSelectList: select, sortType: sortType); UsersBaseInfoAndFilters result = await _dataProcessingConveyor.GetUsersAsync(filters); return(new JsonResult(result.UserBaseInfos.Select(t => new { jsId = t.Id, jsName = t.Name, jsEmail = t.Email, jsCurrentPosition = currentPosition, jsAllRoles = t.AllRoles } ).ToList())); }
public async Task <UsersBaseInfoAndFilters> GetUsersAsync(FilterBase filters) { UsersBaseInfoAndFilters result = new UsersBaseInfoAndFilters { Filters = filters, SortEnumArray = sortEnumArrayUsers }; string keyName = $"UserList{filters.GetFilterName()}"; var userBaseInfos = _cacheService.Get <List <UserBaseInfo> >(keyName); if (userBaseInfos == null) { userBaseInfos = await _fcdUserAndSignManager.GetUserBaseInfosAsync(); result.UserBaseInfos = userBaseInfos; _dataFiltering.Filtering(result); userBaseInfos = result.UserBaseInfos; _cacheService.Set <List <UserBaseInfo> >(keyName, userBaseInfos); } result.UserBaseInfos = userBaseInfos; _dataFiltering.SetFilters(result); result.UserBaseInfos = _dataFiltering.Paginator <UserBaseInfo>(result.UserBaseInfos, (int)filters.CountVisablePositions, (int)filters.CurrentPosition); return(result); }