示例#1
0
        public async Task <IActionResult> UpdatePassword(UpdatePasswordVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = _context.Users.FirstOrDefault(u => u.Id == model.Id);

            var checkPasswordResult = await _userManager.CheckPasswordAsync(user, model.CurrentPassword);

            if (checkPasswordResult == false)
            {
                ModelState.AddModelError(string.Empty, "Incorrect current password!");
                return(View(model));
            }

            var newPassword = _userManager.PasswordHasher.HashPassword(user, model.NewPassword);

            user.PasswordHash = newPassword;

            var res = await _userManager.UpdateAsync(user);

            _context.SaveChanges();

            return(RedirectToAction("EditAccount", "Account", new { @id = model.Id }));
            //}
            //else
            //{
            //    ModelState.AddModelError("Error");
            //}
        }
示例#2
0
        public async void UpdatePassword(UpdatePasswordVM update)
        {
            var user = _db.User.Find(update.UserId);

            user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, update.password);
            _db.User.Update(user);
            _db.SaveChanges();
        }
示例#3
0
        public ActionResult UpdatePassword(UpdatePasswordVM form)
        {
            ActionResult response = new ViewResult();

            if (ModelState.IsValid)
            {
                UserPO user = Mapper.Mapper.UserDOtoPO(_UserDAO.ViewByUserName(Session["UserName"].ToString()));

                byte[] oldPassword    = Hashing.GenerateSHA256Hash(form.OldPassword, user.Salt);
                bool   passwordsMatch = Hashing.CompareByteArray(oldPassword, user.Password);

                if (passwordsMatch)
                {
                    if (form.NewPassword == form.PasswordConfirmation)
                    {
                        user.Salt     = Hashing.CreateSalt(10);
                        user.Password = Hashing.GenerateSHA256Hash(form.NewPassword, user.Salt);
                    }

                    try
                    {
                        UserDO userDO = Mapper.Mapper.UserPOtoDO(user);
                        _UserDAO.UpdateUser(userDO);
                        response = RedirectToAction("AccountView", "Account");
                    }
                    catch (SqlException sqlEx)
                    {
                        if (sqlEx.Data.Contains("Logged"))
                        {
                            if ((bool)sqlEx.Data["Logged"] == false)
                            {
                                Logger.LogSqlException(sqlEx);
                            }
                        }
                        response = View(form);
                    }
                    catch (Exception ex)
                    {
                        if (!ex.Data.Contains("Logged") || (bool)ex.Data["Logged"] == false)
                        {
                            Logger.LogException(ex);
                        }
                        response = View(form);
                    }
                }
            }
            else
            {
                ModelState.AddModelError("PasswordConfirmation", "Invalid entry. Please check your entries and try again.");
                return(View(form));
            }
            return(response);
        }
示例#4
0
        public IActionResult UpdatePassword(string id)
        {
            //???
            if (_context.Users.Any(u => u.Id == id) == false)
            {
                return(RedirectToAction("Home", "Index"));
            }

            var account = _context.Users.FirstOrDefault(u => u.Id == id);

            var model = new UpdatePasswordVM
            {
                Id = account.Id
            };

            return(View(model));
        }
示例#5
0
        public async Task <ResultVM> ManagePassword([FromBody] UpdatePasswordVM updatePassword)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(User);

                // This will set the password only if it's NULL
                var result = await _userManager.AddPasswordAsync(user, updatePassword.Password);

                if (result.Succeeded)
                {
                    return(new ResultVM
                    {
                        Status = Status.Success,
                        Message = "Password has been updated successfully"
                    });
                }

                var errors = result.Errors.Select(e => e.Description).Select(e => "<li>" + e + "</li>");

                return(new ResultVM
                {
                    Status = Status.Error,
                    Message = "Invalid data",
                    Data = string.Join("", errors)
                });
            }
            else
            {
                var errors = ModelState.Keys.Select(e => "<li>" + e + "</li>");
                return(new ResultVM
                {
                    Status = Status.Error,
                    Message = "Invalid data",
                    Data = string.Join("", errors)
                });
            }
        }
示例#6
0
 public UpdatePasswordPage()
 {
     InitializeComponent();
     BindingContext = new UpdatePasswordVM();
 }
 public void UpdatePassword(UpdatePasswordVM update)
 {
     _userInterface.UpdatePassword(update);
 }
示例#8
0
 public UpdatePassword()
 {
     InitializeComponent();
     BindingContext = new UpdatePasswordVM(Navigation);
 }
 public UpdatePassword()
 {
     InitializeComponent();
     DataContext = new UpdatePasswordVM();
 }
示例#10
0
        private async void btnSacuvaj_Click(object sender, EventArgs e)
        {
            if (CurrentUser.Role == "Doktor")
            {
                var doc = await _doktor.GetById <DoktorVM>(CurrentUser.User.Id);

                if (txtEmail.Text != null && txtEmail.Text != "")
                {
                    doc.Email = txtEmail.Text;
                }


                if (txtPassword.Text != null && txtPassword.Text != "")
                {
                    var update = new UpdatePasswordVM
                    {
                        password = txtPassword.Text,
                        UserId   = doc.ID
                    };
                    _doktor.UpdatePassword <UpdatePasswordVM>(update);
                }

                await _doktor.Update <DoktorVM>(doc);
            }
            else if (CurrentUser.Role == "Tehnicar")
            {
                var teh = await _tehnicar.GetById <TehnicarVM>(CurrentUser.User.Id);

                if (txtEmail.Text != null && txtEmail.Text != "")
                {
                    teh.Email = txtEmail.Text;
                }


                if (txtPassword.Text != null && txtPassword.Text != "")
                {
                    var update = new UpdatePasswordVM
                    {
                        password = txtPassword.Text,
                        UserId   = teh.ID
                    };
                    _tehnicar.UpdatePassword <UpdatePasswordVM>(update);
                }

                await _tehnicar.Update <TehnicarVM>(teh);
            }
            else
            {
                var admin = await _admin.GetById <Admin>(CurrentUser.User.Id);

                if (txtEmail.Text != null && txtEmail.Text != "")
                {
                    admin.Email = txtEmail.Text;
                }


                if (txtPassword.Text != null && txtPassword.Text != "")
                {
                    var update = new UpdatePasswordVM
                    {
                        password = txtPassword.Text,
                        UserId   = admin.Id
                    };

                    _admin.UpdatePassword <UpdatePasswordVM>(update);
                }

                await _admin.Update <Admin>(admin);
            }

            MessageBox.Show("Operacija uspješna");
        }
示例#11
0
 public SetPassword()
 {
     InitializeComponent();
     BindingContext = vm = new UpdatePasswordVM();
 }
示例#12
0
 public FrmParentRegistration()
 {
     InitializeComponent();
     BindingContext = vm = new UpdatePasswordVM();
 }