public async Task <IActionResult> UserSearchResults([FromQuery(Name = "City")] string city) { UserSearchViewModel userSearchViewModel = new UserSearchViewModel(); userSearchViewModel.City = city; KeyValuePair <string, object> userSearchKeyValuePair = new KeyValuePair <string, object>("userSearchResults", userSearchViewModel); UserSearchResultsListViewModel userSearchResultsListViewModel = (UserSearchResultsListViewModel)await _searchRepository.Get(userSearchKeyValuePair); return(View(userSearchResultsListViewModel)); }
public async Task <object> Get(object obj) { KeyValuePair <string, object> requestData = (KeyValuePair <string, object>)obj; switch (requestData.Key) { case "userSearchResults": UserSearchViewModel userSearchViewModel = (UserSearchViewModel)requestData.Value; UserSearchResultsListViewModel searchResults = (UserSearchResultsListViewModel) await SearchForUsers(userSearchViewModel); return(searchResults); default: return(null); } }
public async Task <UserSearchResultsListViewModel> SearchForUsers(UserSearchViewModel userSearchViewModel) { UserSearchResultsListViewModel userSearchResults = new UserSearchResultsListViewModel(); List <UserSearchResultsViewModel> userSearchResultList = new List <UserSearchResultsViewModel>(); userSearchResults.Users = userSearchResultList; if (userSearchViewModel.City != null) { string city = userSearchViewModel.City; List <ApplicationUser> usersByCity = (List <ApplicationUser>) await CommandFactory.CreateCommand(CommandFactory.GET_USERS_BY_CITY, city, _dbContext).Execute(); foreach (ApplicationUser user in usersByCity) { UserSearchResultsViewModel userSearchResultsViewModel = new UserSearchResultsViewModel(); int numberOfRecommendations = 0; userSearchResultsViewModel.UserId = user.Id; userSearchResultsViewModel.Forename = user.Forename; userSearchResultsViewModel.Surname = user.Surname; userSearchResultsViewModel.IdentificationVerified = user.IdentificationVerified; userSearchResultsViewModel.AddressVerified = user.AddressVerified; userSearchResultsViewModel.DBSChecked = user.DBSChecked; userSearchResultsViewModel.BoardingLicenseVerified = user.BoardingLicenseVerified; if (user.ReceivedReviews != null) { foreach (UserReview userReview in user.ReceivedReviews) { if (userReview.Recommended) { numberOfRecommendations = numberOfRecommendations + 1; } } } userSearchResultsViewModel.NumberOfRecommendations = numberOfRecommendations; userSearchResultsViewModel.PhotoFolderSource = user.PhotoFolderSource; userSearchResults.Users.Add(userSearchResultsViewModel); } } return(userSearchResults); }