public ActionResult Create([Bind(Include = "Name")] Household household) { if (ModelState.IsValid) { household.Created = DateTimeOffset.Now; db.Households.Add(household); db.SaveChanges(); var user = db.Users.Find(User.Identity.GetUserId()); usershelper.AddToRole(user.Id, "HOH"); user.Protected = true; user.EditBudget = true; user.EditHousehold = true; user.EditTransactions = true; user.AddBankAccounts = true; user.HouseholdId = household.Id; household.Members.Add(user); db.Entry(user).State = EntityState.Modified; db.Entry(household).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { id = household.Id })); } return(View(household)); }
public ActionResult ChangeRole(string userId, string userRoles, bool EditBudget, bool AddBankAccounts, bool EditHousehold, bool EditTransactions) { var user = db.Users.Find(userId); if (userRoles == "HOH") { user.AddBankAccounts = true; user.EditBudget = true; user.EditHousehold = true; user.EditTransactions = true; } else { user.AddBankAccounts = AddBankAccounts; user.EditBudget = EditBudget; user.EditHousehold = EditHousehold; user.EditTransactions = EditTransactions; } //var role = db.Roles.FirstOrDefault(r => r.Id == userRoles).Name; usersHelper.AddToRole(user.Id, userRoles); db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("ListMembers", "Households", new { hId = user.HouseholdId })); }
public ActionResult InviteConfirmation([Bind(Include = "Email,Code,InviteId")] InviteConfirmationViewModel model) { var invite = db.Invitations.FirstOrDefault(i => i.Id == model.InviteId); var user = db.Users.FirstOrDefault(u => u.UserName == model.Email); var household = new Household(); if (invite == null) { ViewBag.Household = "There was a problem with the invitation. Please ask for a new one."; return(View()); } household = db.Households.FirstOrDefault(h => h.Id == invite.HouseholdId); if (invite != null && invite.Code == model.Code && DateTimeOffset.Now <= invite.Expires) { if (user != null && user.HouseholdId == null) { user.HouseholdId = household.Id; household.Members.Add(user); foreach (var role in usersHelper.ListUserRoles(user.Id)) { usersHelper.RemoveFromRole(user.Id, role); } usersHelper.AddToRole(user.Id, "Member"); //db.Entry(household).State = EntityState.Modified; //db.Entry(user).State = EntityState.Modified; db.SaveChanges(); ViewBag.Household = "You've been added to household: " + db.Households.FirstOrDefault(h => h.Id == invite.HouseholdId).Name; return(View()); } if (user != null && user.HouseholdId != null) { ViewBag.Household = "You already belong to household. \nYou must leave one before joining another."; return(View()); } if (user == null) { return(RedirectToAction("AddUserToHousehold", "Account", new { email = model.Email, hId = invite.HouseholdId, backto = "" })); //return View(); } } else { ViewBag.Household = "There was a problem with the invitation. Please ask for a new one."; } return(View()); }