public ActionResult CambiarClave(CambioClaveViewModel cambioClaveViewModel) { try { string userNitLogged = HttpContext.User.Identity.Name; using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities()) { tblUsuariosProveedor userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNitLogged).FirstOrDefault(); string keyUser = userProvider.Password; if (keyUser.Equals(cambioClaveViewModel.PasswordActual)) { if (cambioClaveViewModel.PasswordActual.Equals(cambioClaveViewModel.NuevaPassword)) { GenerateAlert("error", "Clave nueva igual a la clave actual", "La clave nueva no puede ser igual a la clave actual", string.Empty); return(View("Index", cambioClaveViewModel)); } else { if (cambioClaveViewModel.NuevaPassword.Equals(cambioClaveViewModel.ConfirmarNuevaPassword)) { updatePassword(userProvider, cambioClaveViewModel, entities); GenerateAlert("success", "Cambio de clave éxitosa", "La clave ha sido cambiada correctamente", "/Menu/MenuProveedor"); } else { GenerateAlert("error", "Claves nuevas no coinciden", "Las nuevas claves no coinciden", string.Empty); } } } else { GenerateAlert("error", "Clave actual inválida", "La clave actual no coincide con la registrada en el sistema", string.Empty); } } } catch (DbEntityValidationException) { GenerateAlert("error", "error", "validación de modelo", string.Empty); } catch (Exception exception) { GenerateAlert("error", "error", exception.Message, string.Empty); } return(View("Index", cambioClaveViewModel)); }
private void updatePassword(tblUsuariosProveedor userProvider, CambioClaveViewModel cambioClaveViewModel, bdFacturacionElectronicaEntities entities) { userProvider.Password = cambioClaveViewModel.NuevaPassword; entities.SaveChanges(); }