Exemplo n.º 1
0
        public async Task <ActionResult> ChangeName(ChangeNameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user   = UserManager.FindById(User.Identity.GetUserId());
            var result = await UserManager.CheckPasswordAsync(user, model.Password);

            if (result && user != null)
            {
                using (ApplicationDbContext ctx = new ApplicationDbContext())
                {
                    ctx.Users.Find(user.Id).UserName = model.NewName;
                    await ctx.SaveChangesAsync();
                }

                using (BGS_DBContext ctx_db = new BGS_DBContext())
                {
                    ctx_db.Users.First(u => u.Id == user.Id).Name = model.NewName;
                    await ctx_db.SaveChangesAsync();
                }
                return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeNameSuccess }));
            }
            AddErrors(new IdentityResult("Ошибка индификации"));
            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await UserManager.FindByNameAsync(model.Email);

            if (user == null)
            {
                // Не показывать, что пользователь не существует
                return(RedirectToAction("ResetPasswordConfirmation", "Account"));
            }
            var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password);

            if (result.Succeeded)
            {
                using (BGS_DBContext ctx_db = new BGS_DBContext())
                {
                    ctx_db.Users.First(u => u.Id == user.Id).Password = model.Password;
                    await ctx_db.SaveChangesAsync();
                }
                return(RedirectToAction("ResetPasswordConfirmation", "Account"));
            }
            AddErrors(result);
            return(View());
        }