public RespuestaBD CambioClave(UsuarioCambioClave usuarioCambioClave) { using (InoBD db = new InoBD()) { usuarioCambioClave.ClaveAntigua = Security.HashSHA1(usuarioCambioClave.ClaveAntigua); Empleado empleado = db.Empleados.Where(x => x.Usuario == usuarioCambioClave.Usuario && x.Contrasena == usuarioCambioClave.ClaveAntigua).FirstOrDefault(); int UsuarioAdmin = Convert.ToInt32(ConfigurationManager.AppSettings["UsuarioAdmin"]); if (empleado != null && usuarioCambioClave.IdUsuarioModificacion == UsuarioAdmin) { empleado = db.Empleados.Where(x => x.Usuario == usuarioCambioClave.Usuario).FirstOrDefault(); } if (empleado != null) { if (usuarioCambioClave.ClaveNueva == usuarioCambioClave.ClaveNuevaRepetida) { empleado.Contrasena = Security.HashSHA1(usuarioCambioClave.ClaveNueva); empleado.IdUsuarioModificacion = usuarioCambioClave.IdUsuarioModificacion; empleado.FechaModificacion = DateTime.Now; db.SaveChanges(); //Mensaje de respuesta respuesta.Id = empleado.IdEmpleado; respuesta.Mensaje = "La contraseña se cambió correctamente."; // Auditoria AuditoriaGeneral auditoria = new AuditoriaGeneral { Accion = "CambioDeClave", NombreTabla = "Empleado", ValoresAntiguos = null, ValoresNuevos = JsonConvert.SerializeObject(usuarioCambioClave), IdUsuario = usuarioCambioClave.IdUsuarioModificacion }; this._gestorDeAuditoria.AgregarAuditoria(auditoria); } else { //Mensaje de respuesta respuesta.Id = 0; respuesta.Mensaje = "Las contraseñas nuevas son diferentes, intente nuevamente."; } } else { //Mensaje de respuesta respuesta.Id = 0; respuesta.Mensaje = "La contraseña ingresada no es correcta, intente nuevamente."; } return(respuesta); } }
public RespuestaBD CambioClave(UsuarioCambioClave usuarioCambioClave) { return(_gestorDeUsuarios.CambioClave(usuarioCambioClave)); }