Esempio n. 1
0
        public IActionResult UserSearchResults(string email)
        {
            var user  = new ApplicationUser();
            var model = new UserSearchResultsViewModel();

            model.AppUser             = _myShelfDataService.GetUser(email);
            model.PeopleIFollow       = _myShelfDataService.GetUsersIFollow(User.Identity.Name);
            model.PeoplePendingFollow = _myShelfDataService.ListFollowsRequestedByUser(User.Identity.Name);

            var tempList = new List <string>(); //list of Ids of people I follow

            foreach (var person in model.PeopleIFollow)
            {
                tempList.Add(person.Id);
            }

            var tempList2 = new List <string>(); //list of Ids of people I requested to follow

            foreach (var person in model.PeoplePendingFollow)
            {
                tempList2.Add(person.Id);
            }

            if (tempList.Contains(model.AppUser.Id))
            {
                model.IsFollowing = true;
            }
            else if (tempList2.Contains(model.AppUser.Id))
            {
                model.PendingFollowing = true;
            }
            return(View("UserSearchResults", model));
        }
Esempio n. 2
0
        //Need to create users and followers junction table, temp junction table for pending requests
        public IActionResult RequestToFollow(UserSearchResultsViewModel model)
        {
            var follower = User.Identity.Name;
            var followee = new ApplicationUser();

            if (ModelState.IsValid)
            {
                followee.UserName = model.AppUser.UserName;
                _myShelfDataService.CreatePendingFollowRequest(follower, followee.UserName);
                model.PendingFollowing = true;
            }

            //need to figure out how to redirect to
            return(RedirectToAction("UserSearchResults", new { email = model.AppUser.Email }));
        }
Esempio n. 3
0
        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);
        }