public async Task<ActionResult> Index(IndexViewModel model) { if (ModelState.IsValid) { ApplicationUser user = await ReturnCurrentUserAsync(); ApplicationUser userRecord = db.Users.Where(u => u.Id == user.Id).Single(); userRecord.AppModuleID = model.AppModuleID; await db.SaveChangesAsync(); Success("Changes saved successfully"); return RedirectToAction("Index"); } Danger("Error saving settings"); return RedirectToAction("Index"); }
// // GET: /Account/Index public async Task<ActionResult> Index(ManageMessageId? message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." : message == ManageMessageId.SetTwoFactorSuccess ? "Your two factor provider has been set." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.AddPhoneSuccess ? "The phone number was added." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : ""; // populate Default App Module SelectList ApplicationUser user = await ReturnCurrentUserAsync(); var userRoles = await UserManager.GetRolesAsync(user.Id); var appModuleIds = new List<int>(); foreach (string role in userRoles) { ApplicationRole r = await RoleManager.FindByNameAsync(role); appModuleIds.Add(r.AppModuleID); } List<int> uniqueAppModuleIds = appModuleIds.Distinct().ToList(); // add default UserAccount module uniqueAppModuleIds.Add(1); var modulesList = from x in db.AppModules where uniqueAppModuleIds.Contains(x.ID) select x; var model = new IndexViewModel { HasPassword = HasPassword(), PhoneNumber = await UserManager.GetPhoneNumberAsync(User.Identity.GetUserId()), TwoFactor = await UserManager.GetTwoFactorEnabledAsync(User.Identity.GetUserId()), Logins = await UserManager.GetLoginsAsync(User.Identity.GetUserId()), BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(User.Identity.GetUserId()), AppModuleID = user.AppModuleID, UserDefaultAppModuleList = new SelectList(modulesList, "ID", "Title") }; return View(model); }