Exemplo n.º 1
0
        private void ComputeActionsTrigger(ServiceReactionContent src)
        {
            foreach (var ATree in Cache.GetAreaTreeList())
            {
                if (ATree.Email == src.User.Email)
                {
                    foreach (var tree in ATree.AreasList)
                    {
                        if (tree.root.data.eventName == src.Name)
                        {
                            foreach (var action in tree.root.children)
                            {
                                ServiceActionContent sac = new ServiceActionContent(action.data.eventName, src.User, src.ReactionContent);
                                Packet p = new Packet
                                {
                                    Name = "Server",
                                    Key  = 0,
                                    Data = new KeyValuePair <PacketCommand, object>(PacketCommand.ACTION, sac)
                                };

                                Network.Server.Instance.SendMessageBusEventToService(p, action.data.serviceName);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// The function which execute an action or a reaction register.
        /// </summary>
        /// <param name="obj">The parameters of the action / reaction register.</param>
        /// <returns></returns>
        public static int Callback(Packet obj)
        {
            Network.Client.Instance.SendDataToServer(new Network.NetTools.Packet
            {
                Name = obj.Name,
                Key  = obj.Key,
                Data = new KeyValuePair <Network.NetTools.PacketCommand, object>(Network.NetTools.PacketCommand.C_UNLOCK, null)
            });

            Console.WriteLine("Hello from " + _name);

            Console.WriteLine("--> " + obj.Data.Key);

            switch (obj.Data.Key)
            {
            case PacketCommand.S_DISCONNECT:
                Console.Error.WriteLine("Disconnect by the server");
                Environment.Exit(84);
                break;

            case PacketCommand.ERROR:
                Environment.Exit(84);
                break;

            case PacketCommand.ACTION:
            {
                ServiceActionContent data = JsonConvert.DeserializeObject <ServiceActionContent>(obj.Data.Value.ToString());
                _controller.Action(data);
                break;
            }

            case PacketCommand.REACTION_REGISTER:
            {
                Console.WriteLine("Lol");
                ReactionRegisterContent data = JsonConvert.DeserializeObject <ReactionRegisterContent>(obj.Data.Value.ToString());
                User user = data.Owner;
                Console.WriteLine("-------------->" + data.Owner.Email + " - " + data.ReactionName);
                foreach (var it in _tasks)
                {
                    if (it.Key.Email == user.Email)
                    {
                        _tasks[it.Key].Add(data, _controller.Reaction(data));
                        return(0);
                    }
                }
                _tasks.Add(user, new ThreadPool());
                _tasks[user].Add(data, _controller.Reaction(data));
                break;
            }

            default:
                break;
            }
            return(0);
        }
Exemplo n.º 3
0
        public void Authentification(ServiceActionContent obj)
        {
            if (obj.User.AccessToken.Count <= 0 ||
                obj.User.AccessTokenSecret.Count <= 0)
            {
                return;
            }
            var    user = obj.User;
            string accessTokenSecret = user.AccessTokenSecret[_name];
            string accessToken       = user.AccessToken[_name];

            Auth.SetUserCredentials(_consumerKey, _consumerKeySecret, accessToken, accessTokenSecret);
        }
Exemplo n.º 4
0
        public void Post(ServiceActionContent obj)
        {
            var    accessToken = obj.User.AccessToken[_name];
            string message     = obj.Args as string;

            HttpClient httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://graph.facebook.com/v2.10/")
            };

            httpClient.DefaultRequestHeaders
            .Accept
            .Add(new MediaTypeWithQualityHeaderValue("application/json"));

            var payload = GetPayload(new { message });

            httpClient.PostAsync($"me/feed?access_token={accessToken}", payload).Wait();
        }
Exemplo n.º 5
0
 public void NewTweet(ServiceActionContent obj)
 {
     Authentification(obj);
     Tweet.PublishTweet(obj.Args.ToString());
 }
Exemplo n.º 6
0
 public void Action(ServiceActionContent obj)
 {
     _actions[obj.Name](obj);
 }