Exemple #1
0
        public ActionResult IndexAdA()
        {
            var r = new AccountManageViewModel
            {
                Customer = db.Users.Where(c => c.Role == "Customer").ToList(),
                Admin    = db.Users.Where(a => a.Role == "Admin").ToList()
            };

            return(View(r /*db.Users.ToList()*/));
        }
        public async Task <IActionResult> LocalAccount([FromServices] ILocalAccountService accountService)
        {
            var accounts = await accountService.GetAllAsync();

            var vm = new AccountManageViewModel {
                Accounts = accounts
            };

            return(View(vm));
        }
        public async Task <ActionResult> ChangePassword(AccountManageViewModel model)
        {
            bool hasPassword = HasPassword();

            ViewBag.HasLocalPassword = hasPassword;
            ViewBag.ReturnUrl        = Url.Action("Manage");
            if (hasPassword)
            {
                if (ModelState.IsValid)
                {
                    IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.ManageUserPasswordModel.OldPassword, model.ManageUserPasswordModel.NewPassword);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess }));
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                return(View("Manage", model));
            }
            else
            {
                // User does not have a password so remove any validation errors caused by a missing OldPassword field
                ModelState state = ModelState["OldPassword"];
                if (state != null)
                {
                    state.Errors.Clear();
                }

                if (ModelState.IsValid)
                {
                    IdentityResult result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.ManageUserPasswordModel.NewPassword);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Manage", new { Message = ManageMessageId.SetPasswordSuccess }));
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                else
                {
                    return(View("Manage", model));
                }
            }

            // If we got this far, something failed, redisplay form
            return(RedirectToAction("Manage", new { Message = ManageMessageId.Error }));
        }
        public ActionResult IndexAd()
        {
            var dbC = db.Users.Where(c => c.Role == "Customer").ToList();
            var dbA = db.Users.Where(a => a.Role == "Admin").ToList();
            var r   = new AccountManageViewModel
            {
                c = dbC,
                a = dbA
            };

            return(View(r /*db.Users.ToList()*/));
        }
        public async Task <IActionResult> Manage()
        {
            AccountManageViewModel model = new AccountManageViewModel();

            var user = await UserManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{ UserManager.GetUserId(User) }'."));
            }

            var userName = await UserManager.GetUserNameAsync(user);

            var phoneNumber = await UserManager.GetPhoneNumberAsync(user);

            model.UserName    = userName;
            model.PhoneNumber = phoneNumber;

            return(View(model));
        }
        public async Task <ActionResult> EditAccount(AccountManageViewModel model)
        {
            if (ModelState.IsValid)
            {
                var currentUser    = UserManager.FindById(User.Identity.GetUserId());
                var backupUserInfo = new EventorUser();
                backupUserInfo.Name     = currentUser.Name;
                backupUserInfo.Surname  = currentUser.Surname;
                backupUserInfo.UserName = currentUser.UserName;
                backupUserInfo.Email    = currentUser.Email;

                currentUser.Name     = model.ManageUserInfoModel.Name;
                currentUser.Surname  = model.ManageUserInfoModel.Surname;
                currentUser.UserName = model.ManageUserInfoModel.UserName;
                currentUser.Email    = model.ManageUserInfoModel.UserName;

                IdentityResult updateResult = await UserManager.UpdateAsync(currentUser);

                if (updateResult.Succeeded)
                {
                    return(RedirectToAction("Manage", new { Message = ManageMessageId.EditUserInfoSuccess }));
                }
                else
                {
                    currentUser.Name     = backupUserInfo.Name;
                    currentUser.Surname  = backupUserInfo.Surname;
                    currentUser.UserName = backupUserInfo.UserName;
                    currentUser.Email    = backupUserInfo.UserName;
                    await UserManager.UpdateAsync(currentUser);

                    return(RedirectToAction("Manage", new { Message = ManageMessageId.Error }));
                }
            }
            ViewBag.HasLocalPassword = HasPassword();
            ViewBag.ReturnUrl        = Url.Action("Manage");
            return(View("Manage", model));
        }