예제 #1
0
        public Usuario login(string usuario, string contraseña)
        {
            if (!verificadorService.verificarIntegridad() && !canRecalculate(usuario))
            {
                throw new ProEasyException(11, "Error al verificar integridad");
            }
            if (usuarioMapper.estaBloqueado(encriptarAES(usuario)))
            {
                throw new ProEasyException(12, "El usuario se encuentra bloqueado");
            }

            Usuario user = usuarioMapper.login(encriptarAES(usuario), encriptarMD5(contraseña));

            user.Idioma   = idiomaMapper.leer(user.Idioma.Id);
            user.Intentos = 0;
            usuarioMapper.actualizar(user);

            List <Patente> patentes = patenteMapper.obtenerTodasLasPatentes(user);

            foreach (Patente p in patentes)
            {
                p.Nombre = desencriptarAES(p.Nombre);
            }
            user.Patentes = patentes;
            BitacoraService.getInstance().crear(
                Bitacora.builder()
                .Criticidad("ALTA")
                .Criticidad("ALTA")
                .Descripcion("Login usuario")
                .Funcionalidad("LOGIN")
                .Fecha(DateTime.Now)
                .Usuario(user)
                .Data(user)
                .build()
                );
            return(user);
        }