Beispiel #1
0
        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;
            }
        }