public void GenerarContraseña(string nombre, string mail) { try { Entity.Usuario usuario = this.Consultar(nombre); if (usuario == null) { throw new Exception("No se encontro al usuario."); } if (!usuario.Mail.Equals(mail)) { throw new Exception("El mail ingresado NO con corresponde con el usuario."); } string password = this.GenerarContraseña(); usuario.Contraseña = Util.Encrypt.Encriptar(password, (int)TipoEncriptacion.Irreversible); usuario.DVH = dv.CalcularDVH(this.ConcatenarRegistro(usuario)); using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted })) { int result = repository.GenerarContraseña(usuario); //Control de Cambios this.RegistrarControlCambios(usuario, usuario.Id); dv.ActualizarDVV("Usuario"); scope.Complete(); } this.EnviarMailContraseña(password, mail); } catch (Exception ex) { throw ex; } }