Beispiel #1
0
        //
        // GET: /Manage/Index
        public async Task <ActionResult> Index(ManageMessageId?message)
        {
            if (User.IsInRole("Customer"))
            {
                SinExDatabaseContext DB = new SinExDatabaseContext();

                string user_name = System.Web.HttpContext.Current.User.Identity.Name;

                if (user_name == null)
                {
                    return(RedirectToAction("ManageLogins", new { Message = message }));
                }

                ShippingAccount current_user = DB.ShippingAccounts.SingleOrDefault(c => c.UserName == user_name);

                if (current_user is BusinessShippingAccount)
                {
                    ViewBag.customerType = "Business";
                }
                else if (current_user is PersonalShippingAccount)
                {
                    ViewBag.customerType = "Personal";
                }
            }

            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 account_number = "";

            if (User.IsInRole("Customer"))
            {
                account_number = DataBase.ShippingAccounts.SingleOrDefault(n => n.UserName == User.Identity.Name).AccountNumber;
            }
            else
            {
                account_number = "";
            }
            var model = new IndexViewModel
            {
                AccountNum        = account_number,
                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));
        }