Ejemplo n.º 1
0
        public void Registrar(dto.Perfil perfil)
        {
            var dapper = dapperHelper
                         .ResetParameter()
                         .AddParameter("_empresaId", perfil.EmpresaId)
                         .AddParameter("_usuarioId", perfil.UsuarioId)
                         .AddParameter("_perfilId", perfil.PerfilId)
                         .AddParameter("_nome", perfil.Nome)
                         .AddParameter("_redeSocialId", (int)perfil.RedeSocial)
                         .AddParameter("_ativo", perfil.Ativo)
                         .AddParameter("_dataCadastro", perfil.DataCadastro)
                         .AddParameter("_token", perfil.Token)
                         .AddParameter("_imagemUrl", perfil.ImagemUrl)
                         .AddParameter("_login", perfil.Login);


            if (perfil.ExpiracaoToken.HasValue)
            {
                dapper.AddParameter("_expiracaoToken", perfil.ExpiracaoToken.Value.ToMySQL());
            }
            else
            {
                dapper.AddParameterNullValue("_expiracaoToken");
            }

            dapper.Insert("perfil_registrar");
        }
Ejemplo n.º 2
0
        private void ProcessarToken(dto.Perfil perfil)
        {
            if (!string.IsNullOrEmpty(perfil.Token) && perfil.ProcessarToken)
            {
                var factoryProcessarToken = new access_token.Factory(perfil.RedeSocial, perfil.EmpresaId, empresaClient);
                var servicoProcessarToken = factoryProcessarToken.Obter();
                var perfilAccessToken     = servicoProcessarToken.TrocarToken(perfil.Token);

                perfil.ExpiracaoToken = perfilAccessToken.Expiracao;

                perfil.Token = perfilAccessToken.Json;
            }
        }
Ejemplo n.º 3
0
        private void ValidarRegistrar(dto.Perfil perfil)
        {
            var redesSociais = enums.EnumHelper.GetValues <enums.RedeSocialEnum>();

            if (perfil.EmpresaId.Equals(Guid.Empty) ||
                perfil.UsuarioId.Equals(Guid.Empty) ||
                string.IsNullOrEmpty(perfil.PerfilId) ||
                string.IsNullOrEmpty(perfil.Nome) ||
                !redesSociais.Contains(perfil.RedeSocial))
            {
                throw new ArgumentException();
            }
        }
Ejemplo n.º 4
0
        private Dictionary <string, object> GerarClaims(coredto.Perfil perfil, coredto.empresas.TwitchInfo twitchInfo)
        {
            var claims = new Dictionary <string, object>();

            claims["ex"]           = corehelper.DateTimeHelper.Timestamp(new TimeSpan(6, 0, 0));
            claims["user_id"]      = perfil.PerfilId;
            claims["role"]         = "external";
            claims["channel_id"]   = twitchInfo.ChannelId;
            claims["pubsub_perms"] = new
            {
                listen = new string[] { $"whisper-U{perfil.PerfilId}" },
                send   = new string[] { "whisper-*" }
            };

            return(claims);
        }
Ejemplo n.º 5
0
        private object GerarMessage(coredto.classificacao.Pontuacao pontuacao, coredto.Perfil perfil)
        {
            var o = new
            {
                activity = "score",
                score    = new
                {
                    pointing = new
                    {
                        value = pontuacao.Valor
                    }
                }
            };

            var message = new
            {
                message      = corehelper.SerializadorHelper.Serializar(o),
                content_type = "application/json",
                targets      = new string[] { $"whisper-U{perfil.PerfilId}" }
            };

            return(message);
        }
        public RequestEnvelope <dto.Perfil> Request(PerfilMessage perfilMessage)
        {
            var dto = new dto.Perfil
            {
                UsuarioId    = Guid.Parse(perfilMessage.UsuarioId),
                EmpresaId    = Guid.Parse(perfilMessage.EmpresaId),
                Nome         = perfilMessage.Nome,
                PerfilId     = perfilMessage.PerfilId,
                RedeSocial   = (RedeSocialEnum)perfilMessage.RedeSocial,
                Ativo        = perfilMessage.Ativo,
                DataCadastro = new DateTime(perfilMessage.DataCadastro),
                Token        = perfilMessage.Token,
                ImagemUrl    = perfilMessage.ImagemUrl,
                Login        = perfilMessage.Login
            };

            if (!perfilMessage.ExpiracaoToken.Equals(0))
            {
                dto.ExpiracaoToken = new DateTime(perfilMessage.ExpiracaoToken);
            }

            return(new RequestEnvelope <dto.Perfil>(dto));
        }
Ejemplo n.º 7
0
        public async Task <comum_dto.Perfil> ObterPerfil(comum_dto.oauth.OAuthResponse accessToken, Guid empresaId, string contaRedeSocial)
        {
            var twitchInfoResponse = empresaClient.ObterInfoTwitch(empresaId, contaRedeSocial);

            twitchInfoResponse.ThrownIfError();

            var twitchInfo = twitchInfoResponse.Item;

            var perfil = new comum_dto.Perfil();

            perfil.RedeSocial = enums.RedeSocialEnum.twitch;

            var usersResponse = await customHttpClient.User(twitchParams.UrlApi, twitchInfo.ClientId, accessToken);

            var user = usersResponse.data.First();

            perfil.PerfilId  = user.id;
            perfil.Nome      = user.display_name;
            perfil.ImagemUrl = user.profile_image_url;
            perfil.Token     = corehelper.SerializadorHelper.Serializar(accessToken);
            perfil.Login     = user.login;

            return(perfil);
        }
Ejemplo n.º 8
0
        public async Task <comum_dto.Perfil> ProcessarTokens(string token, string verifier, Guid empresaId, string contaRedeSocial)
        {
            var twitterInfoResponse = empresaClient.ObterInfoTwitter(empresaId, contaRedeSocial);

            twitterInfoResponse.ThrownIfError();

            var twitterInfo = twitterInfoResponse.Item;

            var tokenUser = await customHttpClient.Token(
                twitterInfo.UrlApi,
                twitterInfo.ApiKey,
                token,
                verifier);

            var accessToken = await customHttpClient.AccessToken(
                twitterInfo.UrlApi,
                twitterInfo.ApiKey,
                twitterInfo.ConsumerSecret);

            var user = await customHttpClient.User(
                twitterInfo.UrlApi,
                tokenUser.user_id,
                accessToken);

            var perfil = new comum_dto.Perfil
            {
                PerfilId   = tokenUser.user_id,
                Nome       = user.name,
                Login      = user.screen_name,
                RedeSocial = coreenums.RedeSocialEnum.twitter,
                ImagemUrl  = user.profile_image_url_https,
                Token      = corehelper.SerializadorHelper.Serializar(tokenUser)
            };

            return(perfil);
        }
Ejemplo n.º 9
0
        public void Desconectar(dto.Perfil perfil)
        {
            repositorio.Desconectar(perfil.UsuarioId, (int)perfil.RedeSocial, perfil.PerfilId, perfil.Ativo);

            rtdbAtividadeClient.RegistrarPerfil(perfil.UsuarioId);
        }