public ActionResult <PagedCollectionResponse <UserDto> > GetUsers([FromQuery] UsersFilterModel filter) { //Get the data for the current page var result = new PagedCollectionResponse <UserDto> { Items = _userService.GetFilteredUsers(filter) }; if (!result.Items.Any()) { return(NoContent()); } //Get next page URL string UsersFilterModel nextFilter = filter.Clone() as UsersFilterModel; nextFilter.Page += 1; string nextUrl = !_userService.GetFilteredUsers(nextFilter).Any() ? null : Url.Action("GetUsers", null, nextFilter, Request.Scheme); //Get previous page URL string UsersFilterModel previousFilter = filter.Clone() as UsersFilterModel; previousFilter.Page -= 1; string previousUrl = previousFilter.Page <= 0 ? null : Url.Action("GetUsers", null, previousFilter, Request.Scheme); result.NextPage = !IsNullOrWhiteSpace(nextUrl) ? new Uri(nextUrl) : null; result.PreviousPage = !IsNullOrWhiteSpace(previousUrl) ? new Uri(previousUrl) : null; return(Ok(result)); }
public PartialViewResult UsersData(UsersFilterModel model) { PagerData pager = new PagerData() { ItemsPerPage = MvcApplication.ItemsPerPage, CurrentPage = model.Page ?? 1 }; IEnumerable <UserViewModel> users; if (model.UserName != null) { string userName = model.UserName.ToLower(); users = _accountManager.GetUsers(HttpContext.GetOwinContext(), u => u.UserName.ToLower().Contains(userName), pager); } else { users = _accountManager.GetUsers(HttpContext.GetOwinContext(), pager); } UsersListViewModel usersModel = new UsersListViewModel() { Pager = pager, Users = users }; Session["UsersPage"] = pager.CurrentPage; return(PartialView(usersModel)); }
public async Task <IEnumerable <ApplicationUser> > GetUsersAsync(UsersFilterModel usersFilter) { var users = _applicationContext.Users.AsQueryable(); //get only isn't removed if (!string.IsNullOrWhiteSpace(usersFilter.SearchString)) //to lowercase { users = users.Where(u => u.UserName.ToLower().Equals(usersFilter.SearchString.ToLower())); } if (usersFilter.UserStatus == UserStatus.Active) { users = users.Where(u => u.LockoutEnabled); } if (usersFilter.UserStatus == UserStatus.Blocked) { users = users.Where(u => !u.LockoutEnabled); } if (usersFilter.SortBy == SortBy.UserName) { users = users.OrderBy(u => u.UserName); } if (usersFilter.SortBy == SortBy.Email) { users = users.OrderBy(u => u.Email); } users = users.Skip((usersFilter.PageCount - 1) * usersFilter.PageSize).Take(usersFilter.PageSize); return(await users.ToListAsync()); }
public ActionResult Users(int?page = null, string userName = null) { UsersFilterModel model = new UsersFilterModel() { Page = page, UserName = userName }; return(View(model)); }
public async Task <IActionResult> GetAllAsync(UsersFilterModel model) { var token = HttpContext.Request.Headers .Where(x => x.Key == JwtConstants.RefreshToken) .Select(x => x.Value).FirstOrDefault(); var adminId = _jwtHelper.GetIdFromToken(token); var users = await _userService.GetAllAsync(model, adminId); return(Ok(users)); }
public IEnumerable <UserDto> GetFilteredUsers(UsersFilterModel filterModel) { //Filtering logic var users = _db.Users .Where(u => u.Name.StartsWith(filterModel.Name ?? Empty, InvariantCultureIgnoreCase)) .Skip((filterModel.Page - 1) * filterModel.Limit) .Take(filterModel.Limit); return(_mapper.Map <IEnumerable <User>, IEnumerable <UserDto> >(users)); }
public ActionResult Index(UsersFilterModel usersFilterModel) { if (usersFilterModel == null) { usersFilterModel = new UsersFilterModel(); } //var value = OperationUnits[0]; UserViewModel userViewModel = SetViewModel(usersFilterModel); return(View(userViewModel)); }
public async Task <UserModel> GetUsersAsync(UsersFilterModel usersFilter) { var users = await _userRepository.GetUsersAsync(usersFilter); var resultModel = new UserModel(); foreach (var user in users) { resultModel.Items.Add(user.Mapping()); } return(resultModel); }
public async Task <UserModel> GetAllAsync(UsersFilterModel model, long adminId) { var response = new UserModel(); if (model == null) { response.Errors.Add(ErrorConstants.ModelIsNull); return(response); } var filterModel = FilterMapper.MapUserFilteringModel(model); var applicationUsers = await _userRepository.GetFilteredAsync(filterModel, adminId); var users = new UserModel(); foreach (var user in applicationUsers.Data) { var userModelItem = await UpdateStatus(user); users.Items.Add(userModelItem); } users.TotalCount = applicationUsers.TotalItemsCount; return(users); }
private UserViewModel SetViewModel(UsersFilterModel usersFilterModel) { int minimumPriceRate = 0, maximumPriceRate = 0; if (usersFilterModel.PriceRate != null) { List <string> rangeValues = usersFilterModel.PriceRate.Split('-').ToList(); if (rangeValues != null && rangeValues.Count > 0) { minimumPriceRate = Convert.ToInt32(rangeValues[0]); maximumPriceRate = Convert.ToInt32(rangeValues[1]); } } int minimumAvgRate = 0, maximumAvgRate = 0; if (usersFilterModel.AverageRating != null) { List <string> rangeValues = usersFilterModel.AverageRating.Split('-').ToList(); if (rangeValues != null && rangeValues.Count > 0) { minimumAvgRate = Convert.ToInt32(rangeValues[0]); maximumAvgRate = Convert.ToInt32(rangeValues[1]); } } int minimumAge = 1, maximumAge = 100; int setMaxAgeValue; if (!string.IsNullOrEmpty(usersFilterModel.MaxAge) && int.TryParse(usersFilterModel.MaxAge, out setMaxAgeValue)) { maximumAge = setMaxAgeValue; } int setMinAgeValue; if (!string.IsNullOrEmpty(usersFilterModel.MinAge) && int.TryParse(usersFilterModel.MinAge, out setMinAgeValue)) { minimumAge = setMinAgeValue; } //if (usersFilterModel.AgeRange != null) //{ // List<string> rangeValues = usersFilterModel.AgeRange.Split('-').ToList(); // if (rangeValues != null && rangeValues.Count > 0) // { // minimumAge = Convert.ToInt32(rangeValues[0]); // maximumAge = Convert.ToInt32(rangeValues[1]); // } //} var userViewModel = new UserViewModel() { Name = "Custom Page", UserId = 9, UserName = "******", FilterFormDetails = new FilterFormDetails() { CanSubmit = true, FormAction = "/Custom/Index", FormId = "UserSubmitForm", FormMethod = "Post", FormName = "UserSubmitForm" }, }; var userList = GetUsers(); var filteredUsers = new List <UserDetailModel>(); filteredUsers.AddRange(userList); filteredUsers = SetSelectedValues(usersFilterModel, minimumAge, maximumAge, filteredUsers); userViewModel.Users = filteredUsers;//GetUsers(); var customFilters = new List <CustomFilter>() { new CustomFilter() { IconClass = "-icon-search", ControlType = ApplicationConstants.TextBox, FilterFieldName = "SearchText", FilterId = 10, IsEnable = true, IsVisible = true, FilterTitle = "Search", FilterSequenceNumber = 1, DefaultTextValue = usersFilterModel.SearchText, PlaceHolder = "search users", }, new CustomFilter() { IconClass = "-icon-badge", ControlType = ApplicationConstants.Checkbox, IsShowOptionPanel = true, FilterFieldName = "OperationUnits", FilterId = 100, FilterTitle = "Operation Units", IsEnable = true, IsVisible = true, IsShowMore = true, IsShowCount = true, FilterSequenceNumber = 2, Options = GetOperationUnits(userList), SelectedOptions = (usersFilterModel.OperationUnits != null? usersFilterModel.OperationUnits.Cast <object>().ToList() :new List <object>()) }, new CustomFilter() { IconClass = "-icon-branch", ControlType = ApplicationConstants.Checkbox, IsShowOptionPanel = true, FilterFieldName = "Brands", FilterId = 200, FilterTitle = "Brands", IsEnable = true, IsVisible = true, IsShowMore = true, IsShowCount = true, FilterSequenceNumber = 3, Options = GetBrands(userList), SelectedOptions = (usersFilterModel.Brands != null? usersFilterModel.Brands.Cast <object>().ToList() :new List <object>()) }, new CustomFilter() { IconClass = "-icon-people", ControlType = ApplicationConstants.Checkbox, IsShowOptionPanel = true, FilterFieldName = "Gender", FilterId = 202, FilterTitle = "Gender", IsEnable = true, IsVisible = true, IsShowMore = false, IsShowCount = true, FilterSequenceNumber = 5, Options = new List <OptionObject>() { new OptionObject() { ObjectId = "Male", ObjectName = "Male", RecordCounts = userList.Count(x => x.Gender == "Male") }, new OptionObject() { ObjectId = "Female", ObjectName = "Female", RecordCounts = userList.Count(x => x.Gender == "Female") } }, SelectedOptions = (usersFilterModel.Genders != null? usersFilterModel.Genders.Cast <object>().ToList() :new List <object>()) }, new CustomFilter() { IconClass = "-icon-alpha", ControlType = ApplicationConstants.RangeSlider, IsShowOptionPanel = true, FilterFieldName = "AgeRange", FilterTitle = "Age", FilterId = 111, IsEnable = true, IsVisible = true, IsShowMore = false, FilterSequenceNumber = 6, FilterRangeDefaultMinValue = minimumAge, FilterRangeDefaultMaxValue = maximumAge, FilterRangeMinValue = 1, FilterRangeMaxValue = 100, Options = new List <OptionObject>(), SelectedOptions = new List <object>() }, // new CustomFilter() //{ // ControlType=ApplicationConstants.DropdownList, // FilterFieldName="SortCriteria", // FilterId=201, // FilterTitle="Sort By", // IsEnable=true, // IsVisible=true, // IsShowMore = false, // FilterSequenceNumber=7, // Options = GetSortingFields(), // SelectedOptions = (usersFilterModel.SortCriteria != null? new List<object>() {usersFilterModel.SortCriteria } :new List<object>()) //}, new CustomFilter() { IconClass = "-icon-sort", ControlType = ApplicationConstants.DropdownList, IsShowOptionPanel = true, FilterFieldName = "SortOrder", FilterId = 202, FilterTitle = "Sort Order", IsEnable = true, IsVisible = true, IsShowMore = false, FilterSequenceNumber = 8, Options = new List <OptionObject>() { new OptionObject() { ObjectId = Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfa1"), ObjectName = "ASC" }, new OptionObject() { ObjectId = Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfa2"), ObjectName = "DESC" } }, SelectedOptions = (usersFilterModel.SortOrder != null? new List <object>() { usersFilterModel.SortOrder } :new List <object>()) }, new CustomFilter() { IconClass = "-icon-cog", ControlType = ApplicationConstants.DropdownList, FilterFieldName = "OtherType", FilterId = 201, FilterTitle = "Order By", IsEnable = true, IsVisible = true, IsShowMore = false, FilterSequenceNumber = 7, Options = GetOtherTypeOptions(), SelectedOptions = new List <object>() { usersFilterModel.OtherType } }, //new CustomFilter() //{ // ControlType = ApplicationConstants.RangeSlider, // FilterFieldName = "PriceRate", // FilterTitle="Price Rate", // FilterId = 203, // IsEnable=true, // IsVisible=true, // IsShowMore =false, // FilterSequenceNumber=8, // FilterRangeDefaultMinValue =(minimumPriceRate>0?minimumPriceRate: 70), // FilterRangeDefaultMaxValue = (maximumPriceRate>0?maximumPriceRate: 100), // FilterRangeMinValue = 10, // FilterRangeMaxValue= 300, // Options = new List<OptionObject>(), // SelectedOptions = new List<Guid>() //}, // new CustomFilter() //{ // ControlType = ApplicationConstants.RangeSlider, // FilterFieldName = "AverageRating", // FilterTitle="Average Rating", // FilterId = 204, // IsEnable=true, // IsVisible=true, // IsShowMore =false, // FilterSequenceNumber=9, // FilterRangeDefaultMinValue =(minimumAvgRate>0?minimumAvgRate: 2), // FilterRangeDefaultMaxValue = (maximumAvgRate>0?maximumAvgRate: 8), // FilterRangeMinValue = 1, // FilterRangeMaxValue= 10, // Options = new List<OptionObject>(), // SelectedOptions = new List<Guid>() //} }; userViewModel.CustomFilters = customFilters.OrderBy(x => x.FilterSequenceNumber).ToList(); return(userViewModel); }
private static List <UserDetailModel> SetSelectedValues(UsersFilterModel usersFilterModel, int minimumAge, int maximumAge, List <UserDetailModel> filteredUsers) { if (usersFilterModel != null) { if (usersFilterModel.Genders != null && usersFilterModel.Genders.Count > 0) { //if (usersFilterModel.Gender == 0) // filteredUsers = filteredUsers.Where(x => x.Gender == "Male").ToList(); //else if (usersFilterModel.Gender == 1) filteredUsers = filteredUsers.Where(x => usersFilterModel.Genders.Contains(x.Gender)).ToList(); } if (usersFilterModel.OperationUnits != null && usersFilterModel.OperationUnits.Count > 0) { filteredUsers = filteredUsers.Where(x => usersFilterModel.OperationUnits.Contains(x.OperationUnitId)).ToList(); } if (usersFilterModel.Brands != null && usersFilterModel.Brands.Count > 0) { filteredUsers = filteredUsers.Where(x => usersFilterModel.Brands.Contains(x.BrandId)).ToList(); } if (minimumAge > 0) { filteredUsers = filteredUsers.Where(x => x.Age >= minimumAge).ToList(); } if (maximumAge > 0) { filteredUsers = filteredUsers.Where(x => x.Age <= maximumAge).ToList(); } if (!string.IsNullOrEmpty(usersFilterModel.SearchText)) { filteredUsers = filteredUsers.Where(x => x.UserName.ToLower().StartsWith(usersFilterModel.SearchText.ToLower()) || x.UserName.ToLower().Contains(usersFilterModel.SearchText.ToLower()) || x.UserName.ToLower().EndsWith(usersFilterModel.SearchText.ToLower())).ToList(); } if (usersFilterModel.SortOrder == Guid.Empty || usersFilterModel.SortOrder != Guid.Empty && usersFilterModel.SortOrder == Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfa1")) { if (usersFilterModel.SortCriteria == Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfb3")) { filteredUsers = filteredUsers.OrderBy(x => x.UserName).ToList(); } else if (usersFilterModel.SortCriteria == Guid.Parse("92120e72-5ab3-4add-a255-c5514e9115d4")) { filteredUsers = filteredUsers.OrderBy(x => x.Age).ToList(); } else if (usersFilterModel.SortCriteria == Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfb5")) { filteredUsers = filteredUsers.OrderBy(x => x.Gender).ToList(); } else if (usersFilterModel.SortCriteria == Guid.Parse("5e0d0990-f3c6-40ae-b2af-3e7be2b3c7b6")) { filteredUsers = filteredUsers.OrderBy(x => x.UserId).ToList(); } } else if (usersFilterModel.SortOrder != Guid.Empty && usersFilterModel.SortOrder == Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfa2")) { if (usersFilterModel.SortCriteria == Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfb3")) { filteredUsers = filteredUsers.OrderByDescending(x => x.UserName).ToList(); } else if (usersFilterModel.SortCriteria == Guid.Parse("92120e72-5ab3-4add-a255-c5514e9115d4")) { filteredUsers = filteredUsers.OrderByDescending(x => x.Age).ToList(); } else if (usersFilterModel.SortCriteria == Guid.Parse("afd76173-86cd-4b17-a1a1-8c73f386dfb5")) { filteredUsers = filteredUsers.OrderByDescending(x => x.Gender).ToList(); } else if (usersFilterModel.SortCriteria == Guid.Parse("5e0d0990-f3c6-40ae-b2af-3e7be2b3c7b6")) { filteredUsers = filteredUsers.OrderByDescending(x => x.UserId).ToList(); } } } return(filteredUsers); }
public async Task <ResponseModel <List <UserResponseModel> > > GetFilteredAsync(UsersFilterModel model, long adminId) { var substring = model.SearchString.Split(" "); var users = _dbContext.Users.Where(x => !x.IsRemoved) .Where(x => x.Id != adminId).AsQueryable(); if (model.SearchString != null) { users = users.Where(x => x.FirstName.Contains(substring[0]) || x.Email.Contains(model.SearchString) || x.LastName.Contains(substring[0])); } if (model.BlockState == FilterUserBlock.Active) { users = users.Where(x => x.LockoutEnd == null); } if (model.BlockState == FilterUserBlock.Blocked) { users = users.Where(x => x.LockoutEnd != null); } var sortedUsers = users.AsEnumerable().SortByProperty(model.FilteredColumnType.ToString(), model.SortType); var count = sortedUsers.Count(); var responseUsers = sortedUsers .Skip((model.PageCount - 1) * model.PageSize).Take(model.PageSize) .GroupBy(x => x.Id) .Select(group => new UserResponseModel { User = group.Select(x => x).FirstOrDefault() }).ToList(); var result = new ResponseModel <List <UserResponseModel> >(responseUsers, count); return(result); }
public async Task <IActionResult> Test(UsersFilterModel usersFilter) { var users = await _userService.GetUsersAsync(usersFilter); return(Ok(users)); }
public ActionResult Users(UsersFilterModel model) { return(View(model)); }
public async Task <IHttpActionResult> Users([FromUri] UsersFilterModel model) { return(Ok(await _authRepository.List(model.FirstName, model.LastName, model.Email, model.UserName, model.Skip, model.Take))); }