public TrainingModuleModel(Module module, bool ignoreIncludeInSyllabus = false) { Module = new ModuleModel(module, ignoreIncludeInSyllabus); UserCriteria = module.ModuleSections.SelectMany(x => x.Criteria.SelectMany(y => y.UserCriterias)) .Select(x => new UserCriterionModel(x)).ToArray(); Users = UserCriteria.Select(x => x.User).Distinct(new UserModelComparer()).ToArray(); }
public UserDetail Get(UserCriteria criteria) { var qUser = View <User>().All(); if (criteria.IDToInt > 0) { qUser = qUser.Where(w => w.ID == criteria.IDToInt); } if (!string.IsNullOrWhiteSpace(criteria.Username)) { qUser = qUser.Where(w => w.Username == criteria.Username); } var user = qUser.SingleOrDefault(); if (user == null) { return(null); } var detail = new UserDetail(); MapProperty(user, detail); return(detail); }
/// <summary> /// /// </summary> /// <returns></returns> public List<User> Find(out int totalRecords, UserCriteria userCriteria = null, int currentRecordIndex = 0, int maxRecord = 0) { totalRecords = 0; List<User> resultList = null; IQueryable<ApplicationUser> rowList = _dbContext.Users; CriteriaTransformer.CompleteQuery(ref rowList, userCriteria); if(userCriteria.FieldSortList == null || userCriteria.FieldSortList.Count == 0) rowList = rowList.OrderBy(u => u.UserName); if (maxRecord > 0) { totalRecords = rowList.Count(); rowList = rowList.Skip(currentRecordIndex).Take(maxRecord); } if (rowList != null && rowList.Count() > 0) { resultList = new List<User>(); foreach (var applicationUserRow in rowList) { resultList.Add(UserTransformer.ToBean(applicationUserRow)); } } return resultList; }
public AuthSession GetAuthSession(UserCriteria criteria) { using (var uow = UnitOfWorkFactory.Create <NovelContext>()) { var service = new UserService(uow); var detail = service.Get(criteria); if (detail == null) { var form = new UserForm { Username = criteria.Username, //Location = criteria.Username, }; var id = service.SaveChanges(form); return(GetAuthSession(criteria)); } var session = new AuthSession(); session.UserID = detail.ID; session.Username = detail.Username; session.FirstName = detail.FirstName; session.LastName = detail.LastName; session.Email = detail.Email; criteria.ByUserID = detail.ID; session.HiddenSeriesIDs = GetHiddenSeriesIDs(criteria); return(session); } }
public static AuthSession GetSession(this IPrincipal user) { var criteria = new UserCriteria(); criteria.Username = user.Identity.IsAuthenticated ? user.Identity.GetUserName() : WebHelper.GetClientIpAddress(); return(new UserFacade().GetAuthSession(criteria)); }
/// <summary> /// /// </summary> /// <returns></returns> public List <User> Find(out int totalRecords, UserCriteria userCriteria = null, int currentRecordIndex = 0, int maxRecord = 0) { totalRecords = 0; List <User> resultList = null; IQueryable <ApplicationUser> rowList = _dbContext.Users; CriteriaTransformer.CompleteQuery(ref rowList, userCriteria); if (userCriteria == null || userCriteria.FieldSortList == null || userCriteria.FieldSortList.Count == 0) { rowList = rowList.OrderBy(u => u.UserName); } if (maxRecord > 0) { totalRecords = rowList.Count(); rowList = rowList.Skip(currentRecordIndex).Take(maxRecord); } if (rowList != null) { foreach (var applicationUserRow in rowList) { if (resultList == null) { resultList = new List <User>(); } resultList.Add(UserTransformer.ToBean(applicationUserRow)); } } return(resultList); }
public Response CreateUnQualifiedUser([FromBody] UserCriteria UCB) { Logger.Debug("Method called."); var user = UserSession.GetCurrent(); { // User Securities Logger.Info(string.Format("Called by ({0},{1})", user.Username, user.IpsUserKey)); // Called the SQL Query var taskResult = KioskCheckInService.Create_UserIsNotQualifiedUser(UCB); if (taskResult.Result.HasFailed) { Logger.Error(string.Format("({0},{1}) [{2}] {3} Stack: {4}", user.Username, user.IpsUserKey, taskResult.Result.Code, taskResult.Result.Message, taskResult.Result.Stack)); Logger.Info("200 Success response sent with failure message."); return(Response.Failure(taskResult.Result.Message)); } Logger.Info("200 Success response sent."); return(Response.Success(taskResult.Data)); } Logger.Info("401 Unauthorized response sent."); throw new HttpResponseException(HttpStatusCode.Unauthorized); }
public async Task <PageResultData <User> > SearchAsync(UserCriteria criteria) { var query = DbSet .Include(x => x.UserRoles) .ThenInclude(x => x.Role) .Where(x => ( string.IsNullOrEmpty(criteria.FirstName) || x.FirstName.ToLower().Contains(criteria.FirstName.ToLower()) ) && ( string.IsNullOrEmpty(criteria.LastName) || x.LastName.ToLower().Contains(criteria.LastName.ToLower()) ) && ( string.IsNullOrEmpty(criteria.UserName) || x.UserName.ToLower().Contains(criteria.UserName.ToLower()) ) && ( string.IsNullOrEmpty(criteria.Email) || x.Email.ToLower().Contains(criteria.Email.ToLower()) ) && ( string.IsNullOrEmpty(criteria.Role) || ( x.UserRoles.Any(ur => ur.Role.Name.ToLower().Equals(criteria.Role.ToLower())) ) ) ) .AsNoTracking(); int totalRecord = await query.CountAsync(); criteria.SortColumn = string.IsNullOrEmpty(criteria.SortColumn) ? string.Empty : criteria.SortColumn; bool isAsc = criteria.SortDirection.ToLower().Equals("asc"); switch (criteria.SortColumn) { case "FirstName": query = isAsc ? query.OrderBy(t => t.FirstName) : query.OrderByDescending(t => t.FirstName); break; case "LastName": query = isAsc ? query.OrderBy(t => t.LastName) : query.OrderByDescending(t => t.LastName); break; case "UserName": query = isAsc ? query.OrderBy(t => t.UserName) : query.OrderByDescending(t => t.UserName); break; default: query = isAsc ? query.OrderBy(t => t.Email) : query.OrderByDescending(t => t.Email); break; } var returnData = await query.Skip(criteria.CurrentPage *criteria.ItemPerPage).Take(criteria.ItemPerPage).ToListAsync(); return(new PageResultData <Entities.User>(totalRecord, returnData)); }
public bool EliminateUser(UserCriteria pCriteriaKey, String pCriteriaValue) { bool mBoolSuccess = false; String mStrSQL = ""; String[] ArrCriteria = GetDBFieldByCriteria(pCriteriaKey, pCriteriaValue); mStrSQL = "DELETE FROM USERS " + "WHERE " + ArrCriteria[cCRITERIAKEY] + " = " + ArrCriteria[cCRITERIAVALUE]; try { oConnection.OpenConnection(); oConnection.UpdateSQL(mStrSQL,null); mBoolSuccess = true; //oConnection.CloseConnection(); } catch (Exception ex) { throw ex; } finally { oConnection.CloseConnection(); } return mBoolSuccess; }
private string getFilterUser(UserCriteria userCriteria) { if (userCriteria == null) { return(string.Empty); } var qs = string.Empty; if (!string.IsNullOrEmpty(userCriteria.Fname)) { qs += "FirstName:" + userCriteria.Fname + ";"; } if (!string.IsNullOrEmpty(userCriteria.Lname)) { qs += "LastName:" + userCriteria.Lname + ";"; } if (!string.IsNullOrEmpty(userCriteria.PartyName)) { qs += "PartyName:" + userCriteria.PartyName + ";"; } if (string.IsNullOrEmpty(qs)) { return(string.Empty); } return("&Filter=" + qs); }
// GET: UserPreference public ActionResult Index(UserCriteria criteria) { criteria.ID = UserSession.UserID; var detail = Facade <UserFacade>().Get(criteria); return(View(detail)); }
void init() { DisplayName = "تعيين دسترسی های کارتابل کاربر"; Users = new PagedSortableCollectionView <UserDescriptionDTO>(); PermittedWorkListUsers = new ObservableCollection <UserDescriptionDTO>(); UserCriteria = new UserCriteria(); Users.OnRefresh += (s, args) => getUsers(null); }
public int getTotalRecords(UserCriteria conditions) { SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { return(UsersDataLayer.GetInstance().GetTotalRecords(connection, conditions)); } }
public JsonResult Users(UserCriteria criteria) { var searchModel = CreateSearchModel(criteria); searchModel.PagedListConfig.PageSize = 99999; var pagedList = Facade <SearchFacade>().Search(searchModel); return(Json(pagedList.Data, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> GetUsers([FromQuery] UserCriteria criteria) { if (!await _permissionService.HasGlobalPermissionAsync(Permission.Read)) { return(StatusCode(403, "You have no permission to view users.")); } return(Ok(await _service.GetUsersAsync(criteria))); }
public ActionResult SearchUser(UserCriteria criteria) { using (var db = new Model1()) { var query = db.Users.Where(FilterUser(criteria)); var result = query.OrderBy(t => t.Username).Select(userToModel).ToList(); return(Json(result, JsonRequestBehavior.AllowGet)); } }
public async Task <IActionResult> Get([FromQuery] UserCriteria criteria) { var users = await _manager.GetAsync(criteria); this.Response.AddPagination( users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages); return(Ok(users)); }
public List <UserInfo> GetList(UserCriteria conditions) { SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { List <UserInfo> ListUserInfo = UsersDataLayer.GetInstance().Getlist(connection, conditions); return(ListUserInfo); } }
public async Task <PageResultData <UserResponseModel> > SearchAsync(UserCriteria criteria) { const string actionName = nameof(SearchAsync); criteria = criteria ?? throw new ArgumentNullException(nameof(criteria)); Logger.LogDebug(LoggingMessage.ProcessingInService, actionName, seviceName, criteria); var response = await _userRepository.SearchAsync(criteria); Logger.LogInfomation(LoggingMessage.ActionSuccessfullyWithoutModel, actionName, seviceName); return(_Mapper.Map <PageResultData <UserResponseModel> >(response)); }
private void ApplyUserSort(ref UserCriteria userCriteria, string sortOrder) { if (userCriteria == null) userCriteria = new UserCriteria(); userCriteria.FieldSortList = new List<FieldSort>(); var sortFieldDirection = ControllerUtils.GetSortFieldDirection(sortOrder); if (sortFieldDirection != null && sortFieldDirection.Item2 != TFieldSort.None) // need sort value { userCriteria.FieldSortList.Add(new FieldSort() { Name = sortFieldDirection.Item1, Sort = sortFieldDirection.Item2 }); } }
public async Task <ActionResult> LoginLDAP(string returnUrl) { log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); string DN = ""; var name = HttpContext.ApplicationInstance.Server.MachineName; logger.Debug("Machine name : " + name); //name = "ags00003"; string ldapserver = "LDAP://10.104.130.1:389/dc=hermes-epitek,dc=com,dc=sg"; string ldapbasedn = "dc=hermes-epitek,dc=com,dc=sg"; string ldapuser = "******"; string ldappassword = "******"; string ldapfilter = "(&(objectclass=person)(uid={0}))"; try { using (DirectoryEntry entry = new DirectoryEntry(ldapserver, ldapuser, ldappassword, AuthenticationTypes.None)) { DirectorySearcher ds = new DirectorySearcher(entry); ds.Filter = string.Format(ldapfilter, name); SearchResult result = ds.FindOne(); if (result != null) { var cri = new UserCriteria(); cri.LDAP = name; var uService = new UserService(); var users = uService.GetUser(cri); if (users != null && users.Object != null && (users.Object as List <User_Profile>).Count() == 1) { var userlogin = (users.Object as List <User_Profile>).FirstOrDefault(); var u = await UserManager.FindByIdAsync(userlogin.ApplicationUser_Id); if (u != null) { await SignInAsync(u, true); return(RedirectToAction("Material", "Material")); } } } } return(RedirectToAction("ErrorPage", new { Message = "The username " + name + " not found." })); } catch (Exception ex) { var msg = ex.Message; //return RedirectToAction("ErrorPage", new { Message = msg + name }); return(RedirectToAction("Login")); } }
public SearchResult <UserSearchModel> SearchUser(UserCriteria criteria) { var result = new SearchResult <UserSearchModel>(); var query = unitOfWork.UserRepository.GetAll().Include(t => t.Role) .Where(FilterUser(criteria)); result.ItemCount = query.Count(); query = query.Sort(criteria.Sorting, new Sorting("UserName", SortDirection.Ascending)); query = query.Page(criteria.Paging); result.ResultData = query.Select(userToSearchModel).ToList(); return(result); }
private Expression <Func <User, bool> > FilterUser(UserCriteria criteria) { Expression <Func <User, bool> > result = t => true; if (!string.IsNullOrWhiteSpace(criteria.FirstName)) { result = result.And(t => SqlFunctions.PatIndex("%" + criteria.FirstName + "%", t.FirstName) > 0); } if (!string.IsNullOrWhiteSpace(criteria.LastName)) { result = result.And(t => SqlFunctions.PatIndex("%" + criteria.LastName + "%", t.LastName) > 0); } return(result); }
public ActionResult SearchUserMaintenance(DataSourceLoadOptions loadOptions, UserCriteria criteria) { criteria.UserID = criteria.UserID == "" ? null : criteria.UserID; criteria.Name = criteria.Name == "" ? null : criteria.Name; criteria.Status = (criteria.StatusCri == ConstantValues.AllValue ? null : (bool?)(criteria.StatusCri == ConstantValues.STATUS_MISC_STATUS_ACTIVE ? true : false)); List <UserMaintenanceViewModel> userList = new List <UserMaintenanceViewModel>(); //List<UserMaintenanceViewModel> userList = this.SecurityService.GetUserMaintenance(criteria).ToModels(); //foreach (UserMaintenanceViewModel user in userList) //{ // user.Password = CommonUtils.Decrypt(user.Password); //} return(Content(JsonConvert.SerializeObject(DataSourceLoader.Load(userList, loadOptions)), ConstantValues.JSON_CONTENT_TYPE)); }
void init() { UserCriteria = new UserCriteria(); Users = new PagedSortableCollectionView <UserDTOWithActions> { PageSize = 20 }; Users.OnRefresh += (s, args) => refresh(); UserCommands = new List <DataGridCommandViewModel> { CommandHelper.GetControlCommands(this, appController, new List <int> { (int)ActionType.AddUser }).FirstOrDefault() }; }
public List<User> FindUsers(out int totalRecords, UserCriteria userCriteria = null, bool manageRole = true, int currentRecordIndex = 0, int maxRecord = 0) { var userList = _userModule.Find(out totalRecords, userCriteria, currentRecordIndex, maxRecord); if(userList != null && manageRole) { foreach(var user in userList) { if(user != null && manageRole) CompleteUserRole(user); } } return userList; }
public UserCriteria GetCriteria() { UserCriteria criteria = new UserCriteria(); criteria.UserName = ctlUserId.Text; criteria.EmployeeName = ctlName.Text; criteria.IsFavoriteApprover = ctlSearchFavoriteApprover.Checked; criteria.IsFavoriteInitiator = ctlSearchFavoriteInitiator.Checked; criteria.IsApprovalFlag = ctlApprovalFlag.Checked; criteria.RequesterID = RequesterID; criteria.UserIdNOTIN = UserIdNotIn; criteria.EmployeeCode = ctlEmployeeCode.Text; return(criteria); }
public UserCriteria GetCriteria() { UserCriteria criteria = new UserCriteria(); if (!string.IsNullOrEmpty(ctlUserId.Text)) { criteria.UserName = ctlUserId.Text; } criteria.Name = ctlName.Text; criteria.CompanyName = ctlCompany.Text; criteria.DivisionName = ctlDivision.Text; //criteria.Email = email.text; return(criteria); }
public UserDetail Get(UserCriteria criteria) { using (var uow = UnitOfWorkFactory.Create <NovelContext>()) { var service = new UserService(uow); var detail = service.Get(criteria); detail.Preferences = service.View <UserPreference>().Where(w => w.UserID == detail.ID).ToList(); detail.HideSeriesIDs = GetHiddenSeriesIDs(criteria); return(detail); } }
public UserCriteria GetCriteria() { UserCriteria criteria = new UserCriteria(); if (!this.DesignMode) { if (!string.IsNullOrEmpty(ctlUserId.Text)) { criteria.UserId = UIHelper.ParseLong(ctlUserId.Text); } criteria.Name = ctlName.Text.Trim().Length < 0 ? string.Empty : ctlName.Text.Trim(); criteria.CompanyName = ctlCompanyName.Text.Trim().Length < 0 ? string.Empty : ctlCompanyName.Text.Trim(); criteria.Email = ctlEmail.Text.Trim().Length < 0 ? string.Empty : ctlEmail.Text.Trim(); criteria.UserIdNOTIN = UserIdNotIn.Trim().Length < 0 ? string.Empty : UserIdNotIn; } return(criteria); }
public List <User> FindUsers(out int totalRecords, UserCriteria userCriteria = null, bool manageRole = true, int currentRecordIndex = 0, int maxRecord = 0) { var userList = _userModule.Find(out totalRecords, userCriteria, currentRecordIndex, maxRecord); if (userList != null && manageRole) { foreach (var user in userList) { if (user != null && manageRole) { CompleteUserRole(user); } } } return(userList); }
public ListResponeMessage <UserInfo> GetList([FromQuery] UserCriteria criteria) { ListResponeMessage <UserInfo> ret = new ListResponeMessage <UserInfo>(); try { ret.isSuccess = true; ret.data = UserService.GetInstance().GetList(criteria); ret.totalRecords = UserService.GetInstance().getTotalRecords(criteria); } catch (Exception ex) { ret.isSuccess = false; ret.err.msgCode = "005"; ret.err.msgString = ex.ToString(); } return(ret); }
public async Task <List <UserRow> > FindAllAsync(UserCriteria userCriteria) { var repository = await GetRepositoryAsync(); var query = repository.AsQueryable(); if (!string.IsNullOrWhiteSpace(userCriteria.Login)) { query = query.Where(u => u.Login.ToLowerInvariant() == userCriteria.Login.ToLowerInvariant()); } if (!string.IsNullOrWhiteSpace(userCriteria.Email)) { query = query.Where(u => u.Email.ToLowerInvariant() == userCriteria.Email.ToLowerInvariant()); } return(query.ToList()); }
/// <summary> /// Aply sort on user criteria search /// </summary> /// <param name="userCriteria">user search criteria</param> /// <param name="sortOrder">order type</param> private void ApplyUserSort(ref UserCriteria userCriteria, string sortOrder) { if (userCriteria == null) { userCriteria = new UserCriteria(); } userCriteria.FieldSortList = new List <FieldSort>(); var sortFieldDirection = ControllerUtils.GetSortFieldDirection(sortOrder); if (sortFieldDirection != null && sortFieldDirection.Item2 != TFieldSort.None) // need sort value { userCriteria.FieldSortList.Add(new FieldSort() { Name = sortFieldDirection.Item1, Sort = sortFieldDirection.Item2 }); } }
public void removeSSAEktronMember(string UserPIN) { try { UserManager Usermanager = new UserManager(); UserCriteria criteria = new UserCriteria(UserProperty.UserName, EkEnumeration.OrderByDirection.Ascending); criteria.AddFilter(UserProperty.UserName, CriteriaFilterOperator.EqualTo, UserPIN); List<UserData> UserList = Usermanager.GetList(criteria); long EktronUserID = UserList[0].Id; if (Ektron.Cms.Framework.Context.UserContextService.Current.IsLoggedIn) { Usermanager.Delete(EktronUserID); // add user to group MSBA Members //UserGroupManager UserGroupmanager = new UserGroupManager(); //Add a User to a UserGroup // UserGroupmanager.DeleteUser(1, newUserdata.Id); } } catch { } }
public List<User> FindUsers(out int totalRecords, UserCriteria userCriteria = null, bool manageRole = true, int currentRecordIndex = 0, int maxRecord = 0) { return GetUserManager().FindUsers(out totalRecords, userCriteria, manageRole, currentRecordIndex, maxRecord); }
public String[,] ListUsersByCriteria(UserCriteria pCriteriaKey, String pCriteriaValue) { String[,] ArrUsers; String[] ArrCriteria = GetDBFieldByCriteria(pCriteriaKey,pCriteriaValue); String mStrSQL = ""; mStrSQL = "SELECT ID, FIRSTNAME, LASTNAME, ROLEID, R, W, E, S " + "FROM USERS " + "WHERE " + ArrCriteria[cCRITERIAKEY] + " = " + ArrCriteria[cCRITERIAVALUE]; try { oConnection.OpenConnection(); ArrUsers = oConnection.QuerySQLResultFlatArray(mStrSQL); oConnection.CloseConnection(); } catch (Exception ex) { throw ex; } finally { oConnection.CloseConnection(); } return ArrUsers; }
private String[] GetDBFieldByCriteria(UserCriteria pCriteriaKey, String pCriteriaValue) { String[] ArrCriteriaField = new String[2]; switch (pCriteriaKey) { case UserCriteria.cID : ArrCriteriaField[cCRITERIAKEY] = "ID"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; case UserCriteria.cFIRSTNAME : ArrCriteriaField[cCRITERIAKEY] = "FIRSTNAME"; ArrCriteriaField[cCRITERIAVALUE] = "'"+pCriteriaValue+"'"; break; case UserCriteria.cLASTNAME : ArrCriteriaField[cCRITERIAKEY] = "LASTNAME"; ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'"; break; case UserCriteria.cROLEDESCRIPTION: ArrCriteriaField[cCRITERIAKEY] = "ROLEDESCRIPTION"; ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'"; break; case UserCriteria.cREAD: ArrCriteriaField[cCRITERIAKEY] = "R"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; case UserCriteria.cWRITE: ArrCriteriaField[cCRITERIAKEY] = "W"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; case UserCriteria.cEDIT: ArrCriteriaField[cCRITERIAKEY] = "E"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; case UserCriteria.cSEARCH: ArrCriteriaField[cCRITERIAKEY] = "S"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; default: ArrCriteriaField[cCRITERIAKEY] = ""; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; } return ArrCriteriaField; }
public async Task<IActionResult> Index(SearchUserViewModel searchUserViewModel = null, int currentPage = 1, string sortOrder = null) { ViewBag.CurrentSort = sortOrder; ViewBag.SortPossibilities = new Dictionary<string, string>() { {"id", "asc"}, {"username", "asc"}, {"email", "asc"}, {"registrationdate", "asc"}, {"lastlogindate", "asc"} }; ControllerUtils.ManageSortingPossibilities(ViewBag.SortPossibilities, sortOrder); if (searchUserViewModel == null) searchUserViewModel = new SearchUserViewModel(); if (currentPage < 1 || currentPage > 999) { return View(searchUserViewModel); } UserViewModel userViewModel; const int pageSize = 10; int currentRecordIndex = (currentPage - 1) * pageSize; var userViewModels = new List<UserViewModel>(); UserCriteria userCriteria = null; if (!string.IsNullOrWhiteSpace(searchUserViewModel.UserId)) { if(userCriteria == null) userCriteria = new UserCriteria(); userCriteria.Id = new StringCriteria(); userCriteria.Id.StartsWithList = new List<string>() { searchUserViewModel.UserId }; } if (!string.IsNullOrWhiteSpace(searchUserViewModel.UserName)) { if (userCriteria == null) userCriteria = new UserCriteria(); userCriteria.UserName = new StringCriteria(); userCriteria.UserName.StartsWithList = new List<string>() { searchUserViewModel.UserName }; } ApplyUserSort(ref userCriteria, sortOrder); int totalRecords; var users = _usersService.FindUsers(out totalRecords, userCriteria, true, currentRecordIndex, pageSize); if (users != null) { ApplicationUser appUser; bool emailConfirmed; foreach (var user in users) { appUser = await _identityUserManager.FindByIdAsync(user.Id); emailConfirmed = appUser != null && appUser.EmailConfirmed; userViewModel = new UserViewModel() { Id = user.Id, Name = user.Name, Email = user.Email, RegistrationDate = user.RegistrationDate, LastLoginDate = user.LastLoginDate, Suspended = user.Suspended, EmailConfirmed = emailConfirmed }; if (user.Role != null) { userViewModel.RoleId = user.Role.Id; userViewModel.RoleName = user.Role.Name; } userViewModels.Add(userViewModel); } } ViewBag.Users = userViewModels; ViewBag.CurrentPage = currentPage; ViewBag.PageSize = pageSize; ViewBag.TotalRecords = totalRecords; //Security if (currentRecordIndex > totalRecords) { ViewBag.CurrentPage = 1; } return View(searchUserViewModel); }