Example #1
0
        //
        // GET: /Manage/Index
        public async Task <ActionResult> Index(ManageMessageId?message)
        {
            if (User.IsInRole("Customer"))
            {
                SinExWebApp20256461Context db = new SinExWebApp20256461Context();
                string userName = System.Web.HttpContext.Current.User.Identity.Name;
                if (userName == null)
                {
                    return(RedirectToAction("ManageLogins", new { Message = message }));
                }
                ShippingAccount currUser = db.ShippingAccounts.SingleOrDefault(s => s.UserName == userName);
                if (currUser is PersonalShippingAccount)
                {
                    ViewBag.customerType = "Personal";
                }
                else if (currUser is BusinessShippingAccount)
                {
                    ViewBag.customerType = "Business";
                }
            }
            ViewBag.StatusMessage =
                message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed."
                : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set."
                : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set."
                : message == ManageMessageId.Error ? "An error has occurred."
                : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added."
                : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed."
                : "";

            var    userId        = User.Identity.GetUserId();
            string accountNumber = "";

            if (User.IsInRole("Customer"))
            {
                accountNumber = db.ShippingAccounts.SingleOrDefault(c => c.UserName == User.Identity.Name).ShippingAccountNumber;
            }

            var model = new IndexViewModel
            {
                ShippingAccountNumber = accountNumber,
                HasPassword           = HasPassword(),
                PhoneNumber           = await UserManager.GetPhoneNumberAsync(userId),
                TwoFactor             = await UserManager.GetTwoFactorEnabledAsync(userId),
                Logins            = await UserManager.GetLoginsAsync(userId),
                BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId)
            };

            return(View(model));
        }