private List <User> Filter(List <User> collection, UsersFilterViewModel filterModel) { if (filterModel != null) { if (filterModel.Username != null) { collection = collection.Where(x => x.Username.Contains(filterModel.Username)).ToList(); } if (filterModel.FirstName != null) { collection = collection.Where(x => x.FirstName.Contains(filterModel.FirstName)).ToList(); } if (filterModel.MiddleName != null) { collection = collection.Where(x => x.MiddleName.Contains(filterModel.MiddleName)).ToList(); } if (filterModel.LastName != null) { collection = collection.Where(x => x.LastName.Contains(filterModel.LastName)).ToList(); } if (filterModel.Email != null) { collection = collection.Where(x => x.Email.Contains(filterModel.Email)).ToList(); } } return(collection); }
public IEnumerable <UserDTO> Get(UsersFilterViewModel model, out int count, Guid id) { var users = Db.UserRepository.Get("Photo,Role"); users = !string.IsNullOrEmpty(model.KeyWord) ? users.Where(x => x.Email.Contains(model.KeyWord) || x.Name.Contains(model.KeyWord)) : users; users = !string.IsNullOrEmpty(model.Role) ? users.Where(x => x.Role.Name.Contains(model.Role)) : users; users = (model.Blocked) ? users.Where(x => x.IsBlocked == model.Blocked) : users; users = (model.UnBlocked) ? users.Where(x => x.IsBlocked == !(model.UnBlocked)) : users; users = (model.IsConfirmed != null) ? users.Where(x => x.EmailConfirmed == (model.IsConfirmed)) : users; count = users.Count(); users = users.Skip((model.Page - 1) * model.PageSize).Take(model.PageSize); var result = _mapper .Map <IEnumerable <UserDTO> >(users) .ToList(); foreach (var u in result) { u.Rating = GetRating(u.Id); var rel = Db.RelationshipRepository.Get().FirstOrDefault(x => (x.UserFromId == id && x.UserToId == u.Id)); u.Attitude = (rel != null) ? (byte)rel.Attitude : (byte)2; } return(result); }
} // bool used to track if any changes where made to the list #endregion #region Constructor public UserInfoViewModel() { settingsInstance = AppSettings.Instance; IsBusy = false; ChangesToList = false; ListFilter = new UsersFilterViewModel(); sortDirection = ListSortDirection.Ascending; _taskCancellationToken = new CancellationTokenSource(); _usersProgress = new Progress <UsersProgressReportModel>(); _usersProgress.ProgressChanged += UesrsProgress_ProgressChanged; _lock = new object(); _taskInProgress = TaskbarItemProgressState.None; _progressValue = 0; }
public IActionResult SearchUsers([FromQuery] UsersFilterViewModel filter) { filter.PageSize = 6; filter.IsConfirmed = true; try { var user = GetCurrentUser(HttpContext.User); var viewModel = new IndexViewModel <UserManageDto> { Items = _mapper.Map <IEnumerable <UserManageDto> >(_userService.Get(filter, out int count, user.Id)), PageViewModel = new PageViewModel(count, filter.Page, filter.PageSize) }; return(Ok(viewModel)); } catch (ArgumentOutOfRangeException) { return(BadRequest()); } }