示例#1
0
        private static void Main(string[] args)
        {
            events    events    = new events();
            twitter   twitter   = new twitter();
            templates templates = new templates();
            terminals terminals = new terminals();

            Console.WriteLine("######### BEGIN FNSIGN UPDATER v.1.0 #########");
            Console.WriteLine("");
            Console.WriteLine("######### GETTING EVENTS THAT NEED TO BE UPDATED #########");
            Console.WriteLine("");
            List <Event> eventList = events.need_updating()
                                     .Where <Event>((Func <Event, bool>)(x => !string.IsNullOrEmpty(x.api_key) && !string.IsNullOrEmpty(x.url)))
                                     .ToList <Event>();

            Console.WriteLine(eventList.Count.ToString() + " need updating....");
            Console.WriteLine("");
            sessions sessions = new sessions();

            foreach (Event ev in eventList)
            {
                Console.WriteLine("Finding Sessions for " + ev.title);
                Console.WriteLine("");
                List <Session> sessionList = sessions.getSessionsFromAPI(ev.url, ev.api_key, ev.api_type);
                Console.WriteLine(sessionList.Count.ToString() + " Sessions Found...");
                Console.WriteLine("");
                foreach (Session s in sessionList)
                {
                    sessions.add(s, ev.id);
                }

                //Remove those sessions which stopped coming from api
                IList <string> incomingSessionIds       = sessionList.Select(x => x.event_key).ToList();
                List <Session> notComingAnymoreSessions = sessions.by_event(ev.id).Where(x => !incomingSessionIds.Contains(x.event_key)).ToList <Session>();
                foreach (var item in notComingAnymoreSessions)
                {
                    sessions.delete(int.Parse(item.id));
                }

                Console.WriteLine("");
                Console.WriteLine("Finding Tweets for Global Event Tag...");
                Console.WriteLine("");
                if (!string.IsNullOrEmpty(ev.t_username))
                {
                    Console.WriteLine("Finding Tweets for @" + ev.t_username);
                    Console.WriteLine("");
                    twitter.fetch(ev.t_username, 50, true, ev.id, 0);
                }
                if (ev.hashtags != null)
                {
                    foreach (string hashtag in ev.hashtags)
                    {
                        Console.WriteLine("Finding Tweets for #" + hashtag);
                        Console.WriteLine("");
                        twitter.fetch(hashtag, 50, ev.id, 0);
                    }
                }
                Console.WriteLine("Now let's check for the templates associated with " + ev.title);
                Console.WriteLine("");
                foreach (Template template in templates.all_by_event(ev.id))
                {
                    if (!string.IsNullOrEmpty(template.t_username))
                    {
                        Console.WriteLine("Fetching Twitter records for @" + template.t_username);
                        Console.WriteLine("");
                        twitter.fetch(template.t_username, 50, true, ev.id, template.id);
                    }
                    if (template.hashtags != null)
                    {
                        Console.WriteLine("Fetching Records for Hashtags...");
                        Console.WriteLine("");
                        foreach (string hashtag in template.hashtags)
                        {
                            Console.WriteLine("Fetching tweets for #" + hashtag);
                            Console.WriteLine("");
                            twitter.fetch(hashtag, 50, ev.id, template.id);
                        }
                    }
                }
                Console.WriteLine("");
                Console.WriteLine("Updating Event Last Updated Time...");
                events.update(ev);
                Console.WriteLine("Complete...");
                Console.WriteLine("Moving to next event...");
                Console.WriteLine("");
            }
            Console.WriteLine("Check for Offline Terminals...");
            Console.WriteLine("");
            List <Terminal> source = terminals.offline_terminals();

            if (source.Count <Terminal>() > 0)
            {
                Console.WriteLine(source.Count <Terminal>().ToString() + " Offline, updating their status...");
                Console.WriteLine("");
                foreach (Terminal terminal in source)
                {
                    Console.WriteLine("Taking " + terminal.title + " Offline");
                    Console.WriteLine("");
                    terminals.offline(terminal.id);
                }
            }
            else
            {
                Console.WriteLine("All Terminals are Online...");
                Console.WriteLine("");
            }
            Console.WriteLine("######### FNSIGN v.1.0 UPDATER COMPLETE #########");
        }
示例#2
0
        // REV 1 - COMPLETE 10.19.15 @ 12:26AM

        static void Main(string[] args)
        {
            events    _events    = new events();
            twitter   _twitter   = new twitter();
            templates _templates = new templates();
            terminals _terminals = new terminals();

            Console.WriteLine("######### BEGIN FNSIGN UPDATER v.1.0 #########");

            Console.WriteLine("");

            Console.WriteLine("######### GETTING EVENTS THAT NEED TO BE UPDATED #########");

            Console.WriteLine("");

            List <Event> evs = _events.need_updating();

            Console.WriteLine(evs.Count.ToString() + " need updating....");

            Console.WriteLine("");

            sessions _sessions = new sessions();

            foreach (Event e in evs)
            {
                Console.WriteLine("Finding Sessions for " + e.title);
                Console.WriteLine("");

                if (!string.IsNullOrEmpty(e.url))
                {
                    List <Session> sess = _sessions.all(e.url, e.api_key);

                    Console.WriteLine(sess.Count.ToString() + " Sessions Found...");

                    Console.WriteLine("");

                    // look for deletions
                    List <Session> dbsess = _sessions.by_event(e.id);

                    foreach (Session d in dbsess)
                    {
                        List <Session> found = sess.Where(x => x.event_key == d.event_key).ToList();

                        if (found.Count == 0)
                        {
                            // remove the session
                            Console.WriteLine("Session ID: " + d.id + " NOT FOUND");

                            Console.WriteLine("Removing Session: " + d.name + "...");


                            _sessions.delete(d.internal_id);
                        }
                        else
                        {
                            Console.WriteLine("Session ID: " + d.id + " FOUND");
                        }
                    }

                    foreach (Session s in sess)
                    {
                        // now we loop through the sessions and insert or update them
                        if (s.event_type != "Japanese Language")
                        {
                            _sessions.add(s, e.id);
                        }
                    }

                    _sessions.clean_summit();
                }

                Console.WriteLine("");

                Console.WriteLine("Finding Tweets for Global Event Tag...");

                Console.WriteLine("");

                if (!string.IsNullOrEmpty(e.t_username))
                {
                    Console.WriteLine("Finding Tweets for @" + e.t_username);
                    Console.WriteLine("");

                    _twitter.fetch(e.t_username, 50, true, e.id, 0);
                }

                if (e.hashtags != null)
                {
                    foreach (string h in e.hashtags)
                    {
                        Console.WriteLine("Finding Tweets for #" + h);
                        Console.WriteLine("");

                        _twitter.fetch(h, 50, e.id, 0);
                    }
                }

                Console.WriteLine("Now let's check for the templates associated with " + e.title);
                Console.WriteLine("");

                foreach (Template t in _templates.all_by_event(e.id))
                {
                    if (!string.IsNullOrEmpty(t.t_username))
                    {
                        Console.WriteLine("Fetching Twitter records for @" + t.t_username);
                        Console.WriteLine("");

                        _twitter.fetch(t.t_username, 50, true, e.id, t.id);
                    }

                    if (t.hashtags != null)
                    {
                        Console.WriteLine("Fetching Records for Hashtags...");
                        Console.WriteLine("");

                        foreach (string h in t.hashtags)
                        {
                            Console.WriteLine("Fetching tweets for #" + h);
                            Console.WriteLine("");

                            _twitter.fetch(h, 50, e.id, t.id);
                        }
                    }
                }

                Console.WriteLine("");

                Console.WriteLine("Updating Event Last Updated Time...");

                _events.update(e);

                Console.WriteLine("Complete...");

                Console.WriteLine("Moving to next event...");
                Console.WriteLine("");

                // here we need to update the last update time
            }

            Console.WriteLine("Check for Offline Terminals...");
            Console.WriteLine("");

            List <Terminal> terms = _terminals.offline_terminals();

            if (terms.Count() > 0)
            {
                Console.WriteLine(terms.Count() + " Offline, updating their status...");
                Console.WriteLine("");

                foreach (Terminal t in terms)
                {
                    Console.WriteLine("Taking " + t.title + " Offline");
                    Console.WriteLine("");

                    _terminals.offline(t.id);
                }
            }
            else
            {
                Console.WriteLine("All Terminals are Online...");
                Console.WriteLine("");
            }

            Console.WriteLine("######### FNSIGN v.1.0 UPDATER COMPLETE #########");
        }
示例#3
0
        static void Main(string[] args)
        {
            facebook  _facebook  = new facebook();
            instagram _instagram = new instagram();
            twitter   _twitter   = new twitter();
            tags      _tags      = new tags();
            settings  _settings  = new settings();
            stats     _stats     = new stats();

            Int32 facebook_count  = 0;
            Int32 instagram_count = 0;
            Int32 twitter_count   = 0;
            Int32 total_count     = 0;

            Int32 fetch_count = _settings.refresh_count();

            overrideSocial.events _events = new overrideSocial.events();

            Console.WriteLine("######################## BEGINNING UPDATE SEQUENCE ########################");
            Console.WriteLine("");

            Console.WriteLine("######################## CHECKING FOR EVENTS THAT ARE READY FOR UPDATE ########################");
            Console.WriteLine("");

            // loop through EVENTS that are DUE and UPDATE
            foreach (Event ev in _events.ready_for_pull())
            {
                Console.WriteLine(ev.title + " with last update time of: " + ev.last_update.ToShortDateString() + " @ " + ev.last_update.ToShortTimeString());
                Console.WriteLine("");

                Console.WriteLine("Checking for Active Tags & Usernames to Import...");
                Console.WriteLine("");

                instagram_count = 0;
                twitter_count   = 0;
                facebook_count  = 0;
                total_count     = 0;

                foreach (Tag t in _tags.select(ev.id, true))
                {
                    Console.WriteLine("Beginning Evaluation for Term: " + t.value);
                    Console.WriteLine("");

                    if (t.instagram)
                    {
                        Console.WriteLine("###################### INSTAGRAM PULL #########################");
                        Console.WriteLine("");

                        if (t.is_tag)
                        {
                            Console.WriteLine("Importing Records from Instagram for Hashtag #" + t.value);

                            instagram_count = instagram_count + _instagram.fetch2(t.value, ev.id, t.id);
                        }
                        else
                        {
                            Console.WriteLine("Importing Records from Instagram for Username @" + t.value);

                            instagram_count = instagram_count + _instagram.fetch_by_username(t.value, ev.id, t.id);
                        }
                    }

                    if (t.twitter)
                    {
                        Console.WriteLine("");
                        Console.WriteLine("###################### TWITTER PULL #########################");
                        Console.WriteLine("");

                        if (t.is_tag)
                        {
                            Console.WriteLine("Importing Records from Twitter for Hashtag #" + t.value);

                            twitter_count = twitter_count + _twitter.fetch(t.value, fetch_count, ev.id, t.id);
                        }
                        else
                        {
                            Console.WriteLine("Importing Records from Twitter for Username @" + t.value);

                            twitter_count = twitter_count + _twitter.fetch(t.value, fetch_count, true, ev.id, t.id);
                        }
                    }
                }

                total_count = instagram_count + twitter_count + facebook_count;

                Statistic s = new Statistic();

                s.facebook  = facebook_count;
                s.instagram = instagram_count;
                s.pulldate  = DateTime.Now;
                s.total     = total_count;
                s.twitter   = twitter_count;
                s.event_id  = ev.id;

                _stats.add(s);

                ev.last_update = DateTime.Now;

                _events.update(ev);

                Console.WriteLine("");
                Console.WriteLine("######################## ENDING UPDATE FOR EVENT " + ev.title + " ########################");
            }

            Console.WriteLine("");
            Console.WriteLine("######################## ENDING UPDATE SEQUENCE ########################");
        }