public PartialViewResult LeaveHouseModal() { var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); var houseId = user.HouseholdId; int?HouseId = houseId; //var data = new LeaveHouseViewModel(); var myHouse = houseHelper.UsersInHouse(HouseId); //data.LeavehouseCount = myHouse.Count(); var housename = ""; if (user.Household == null) { housename = "NoHouse"; } if (user.Household != null) { housename = user.Household.Name; } var house = housename; var HouseInfo = new LeaveHouseViewModel { HouseholdId = houseId, Household = house, LeavehouseCount = myHouse.Count() }; //Use roleHelper in conjunction with a foreach loop to grab only the users that //occupy the role of Member var members = new List <ApplicationUser>(); var occupants = db.Users.Where(u => u.HouseholdId == houseId).ToList(); foreach (var person in occupants) { if (roleHelper.IsUserInRole(person.Id, "Member")) { members.Add(person); } } ViewBag.Members = new SelectList(members, "Id", "Email"); return(PartialView("~/Views/Shared/_LeaveHouseModal.cshtml", HouseInfo)); }
public ActionResult LeaveHouseHeadofHousehold([Bind(Include = "Id,Name,HouseholdId")] Household household, int MemberCount, string Members) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); var UsersinHouse = houseHelper.UsersInHouse(household.Id).ToList(); roleHelper.RemoveUserFromRole(userId, "HeadofHousehold"); roleHelper.RemoveUserFromRole(Members, "Member"); roleHelper.AddUserToRole(Members, "HeadofHousehold"); roleHelper.AddUserToRole(userId, "Guest"); user.HouseholdId = null; db.SaveChanges(); return(RedirectToAction("Index", "Home")); } return(View(household)); }