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);
        }