Пример #1
0
        public IActionResult Create(HomeVM home)
        {
            HouseholdRepo householdRepo = new HouseholdRepo(_context);

            if (householdRepo.CreateHousehold(home))
            {
                var _home = householdRepo.GetHouseholdByName(home.homeName);

                //Role Assignment
                UserRoleRepo userRoleRepo = new UserRoleRepo(_serviceProvider);
                userRoleRepo.AddUserRole(User.Identity.Name, "HomeAdmin");

                return(RedirectToAction("Join", _home));
            }

            return(RedirectToAction(nameof(JoinCreateHousehold), new { errorMessage = "Failed to create the household. Try a new name, please." }));
        }
Пример #2
0
        public IActionResult Join(HomeVM home)
        {
            HouseholdRepo householdRepo = new HouseholdRepo(_context);
            var           _home         = householdRepo.GetHouseholdByName(home.homeName);

            if (_home != null)
            {
                if (_home.HomeId == home.homeId)
                {
                    UserRepo userRepo         = new UserRepo(_context);
                    var      currentUserEmail = User.Identity.Name;
                    var      userId           = userRepo.FindUserId(currentUserEmail);
                    householdRepo.AddRoommateToHome(userId, _home.HomeId);

                    //Role Assignment
                    UserRoleRepo userRoleRepo = new UserRoleRepo(_serviceProvider);
                    userRoleRepo.AddUserRole(currentUserEmail, "Roommate");

                    return(RedirectToAction(nameof(HomeController.Index), "Home"));
                }
            }

            return(RedirectToAction(nameof(JoinCreateHousehold), new { errorMessage = "Failed to join the household. Make sure the Home Name and Household Password are correct, please." }));
        }