public void GantiPassword(IGantiPasswordModel model) { _moelDAC.ValidateModel(model); if (!model.password_baru.ToLower().Equals(model.konf_password_baru.ToLower())) { throw new ArgumentException("Password Baru dan Konfirmasi Password tidak sama !!!"); } _repo.GantiPassword(model); }
public void GantiPassword(IGantiPasswordModel model) { var dataAccessStatus = new DataAccessStatus(); using (var context = new DbContext()) { try { var queryStr = "SELECT * FROM user WHERE login_id = @login_id"; var userModel = context.Conn.Query <UserModel>(queryStr, new { model.login_id }).FirstOrDefault(); if (userModel != null) { if (!PasswordHash.ValidatePassword(model.password_sekarang, userModel.password)) { dataAccessStatus.Status = "Password Wrong"; dataAccessStatus.CustomMessage = "Password Sekarang salah !!!"; throw new DataAccessException(dataAccessStatus); } userModel.password = PasswordHash.CreateHash(model.password_baru); context.Conn.Update(userModel); } else { dataAccessStatus.Status = "User Not Found"; dataAccessStatus.CustomMessage = "User tidak ditemukan."; throw new DataAccessException(dataAccessStatus); } } catch (MySqlException ex) { dataAccessStatus = SetDataAccessValues(ex, ErrorMessageType.Update); throw new DataAccessException(message: ex.Message, innerException: ex.InnerException, dataAccessStatus: dataAccessStatus); } } }