Пример #1
0
        public Models.Tweet PublishTweet(Models.Tweet tweet)
        {
            var tweetPosted = tweet.ImageFile == null?Tweet.PublishTweet(tweet.Text) :
                                  Tweet.PublishTweetWithMedia(tweet.Text, tweet.ImageFile);

            return(AutoMapper.Mapper.Map <Models.Tweet> (tweetPosted));
        }
Пример #2
0
 public List <Models.Tweet> get()
 {
     try
     {
         CrowdHeynaEntities  db     = new CrowdHeynaEntities();
         List <Models.Tweet> tweets = new List <Models.Tweet>();
         var skip = new Random().Next(tweets.Count);
         // var tList = db.Tweets.OrderBy(x => x.Id).Skip(skip).Take(15).ToList();
         var tList = db.Tweets.OrderBy(x => x.Id).Take(15).ToList();
         foreach (Tweet t in tList)
         {
             Models.Tweet tw = new Models.Tweet()
             {
                 Id   = t.Id,
                 Text = t.Text
             };
             tweets.Add(tw);
         }
         return(tweets);
     }
     catch (Exception ex)
     {
         var message = ex.Message;
     }
     return(null);
 }
Пример #3
0
        private void CountTweetWords(string tweetText)
        {
            List <String> tweetWords = tweetParser.ParseTweet(tweetText);

            foreach (String word in tweetWords)
            {
                var lowerWord = word.ToLower();
                if (lowerWord == this.query.ToLower())
                {
                    continue;
                }

                var dbTweet = collection.Find(t => t.Keyword == lowerWord).ToList();
                if (dbTweet.Count < 1)
                {
                    Models.Tweet newTweet = new Models.Tweet();
                    newTweet.Keyword = lowerWord;
                    newTweet.Count   = 1;
                    collection.InsertOne(newTweet);
                    ctr++;
                }
                else
                {
                    var filter = Builders <Models.Tweet> .Filter.Eq(t => t.Keyword, lowerWord);

                    var update = Builders <Models.Tweet> .Update.Inc(t => t.Count, 1);

                    collection.FindOneAndUpdate(filter, update);
                }
            }
        }
Пример #4
0
        private void redraw()
        {
            int cursorY = 4;

            //Console.BackgroundColor = ConsoleColor.Black;
            //TextUtils.blankRegion(0, 4, Console.BufferWidth, Console.BufferHeight - 3 - cursorY);
            Console.BackgroundColor = ConsoleColor.Gray;
            //TextUtils.blankRegion(0, 3, Console.BufferWidth, Console.BufferHeight - 1 - cursorY);
            TextUtils.fillAreaWithColor(ConsoleColor.Gray, 0, 3, Console.BufferWidth, Console.BufferHeight - 1 - cursorY);
            int x = 0;

            while (x < Program.tweets.Count)
            {
                Models.Tweet t = Program.tweets[x];
                if (TextUtils.countWrappedLines(t.text, Console.BufferWidth) + cursorY > Console.BufferHeight - 1 - cursorY)
                {
                    Program.tweets.RemoveRange(x, Program.tweets.Count - x);
                    break;
                }
                ViewHelpers.TweetHelper th = new ViewHelpers.TweetHelper(t);
                if (x == cursor)
                {
                    th.focused   = true;
                    focusedTweet = th;
                }
                th.y = cursorY;
                th.draw();
                cursorY += 2 + TextUtils.countWrappedLines(t.text, Console.BufferWidth - 2);
                x++; //Shh, don't tell Steve Kautz.
            }
        }
        private void MaintainTweets(object obj)
        {
            // Get the last tweet from DB
            Models.Tweet newTweet = _tweetRepo.GetLastTweet();
            if (newTweet == null)
            {
                return;
            }
            if (displayedTweets.Exists(t => t.Id == newTweet.Id))
            {
                return;
            }

            if (this.displayedTweets.Count < this.tweetsLimit)
            {
                displayedTweets.Add(newTweet);
                BroadcastTweet(newTweet, Common.TweetAction.ADD);
            }
            else
            {
                // Find first non sticky tweet and replace it
                for (int i = 0; i < this.displayedTweets.Count; i++)
                {
                    if (!this.displayedTweets[i].Sticky)
                    {
                        Models.Tweet oldTweet = displayedTweets[i];
                        this.displayedTweets.RemoveAt(i);
                        this.displayedTweets.Add(newTweet);
                        BroadcastTweet(newTweet, Common.TweetAction.ADD);
                        BroadcastTweet(oldTweet, Common.TweetAction.REMOVE);
                        break;
                    }
                }
            }
        }
Пример #6
0
        // POST: /Graph/search
        public JsonResult Search(string search)
        {
            try
            {
                IEnumerable <Tweetinvi.Models.ITweet> tweets = null;
                if (search != null)
                {
                    tweets = SearchTweets.Search(search, 1000);
                    foreach (var twit in tweets)
                    {
                        Models.Tweet T = new Models.Tweet();
                        T.tweet = twit;

                        T.sentiment = Sentiment.Analyse(twit.FullText);
                        list_of_tweets.Add(T);
                    }
                    Tweets instance = Tweets.getInstance();
                    instance.tweets     = list_of_tweets;
                    instance.searchTerm = search;
                    var temp = Json(Analysis.GetPackages(instance));
                    return(temp);
                }
                else
                {
                    return(Json("search is null"));
                };
            }
            catch (Exception e)
            {
                return(Json(e));
            }
        }
Пример #7
0
        public List <Models.Tweet> get()
        {
            try
            {
                CrowdHippoEntities  db     = new CrowdHippoEntities();
                List <Models.Tweet> tweets = new List <Models.Tweet>();
                //var skip = new Random().Next(db.Tweets.Count());
                //if (skip >= db.Tweets.Count() - 15)
                //    skip = 1;
                //var tList = db.Tweets.OrderBy(x=>x.Id).Skip(skip).Take(15).ToList();
                var tList = new List <Tweet>();
                for (int i = 0; i <= 15; i++)
                {
                    tList.Add(PickTweet(tList));
                }

                //tList = db.Tweets.OrderBy(x => x.Id).Take(15).ToList();
                foreach (Tweet t in tList)
                {
                    Models.Tweet tw = new Models.Tweet()
                    {
                        Id   = t.Id,
                        Text = t.Text
                    };
                    tweets.Add(tw);
                }
                return(tweets);
            }
            catch (Exception ex)
            {
                var message = ex.Message;
            }
            return(null);
        }
Пример #8
0
        public override Tweets GetTweets()
        {
            var    userTimeLine = Timeline.GetUserTimeline(_id);
            Tweets tweets       = new Tweets();

            if (userTimeLine != null)
            {
                Models.Tweet tweet;
                foreach (var item in userTimeLine)
                {
                    tweet   = new Models.Tweet(item);
                    tweets += tweet;
                }
            }

            return(tweets);
        }
Пример #9
0
 public Models.Tweet get(int id)
 {
     try
     {
         CrowdHeynaEntities db = new CrowdHeynaEntities();
         var tweet             = db.Tweets.Where(t => t.Id == id).FirstOrDefault();
         var tw = new Models.Tweet()
         {
             Id   = tweet.Id,
             Text = tweet.Text
         };
         return(tw);
     }
     catch (Exception ex)
     {
         var message = ex.Message;
     }
     return(null);
 }
Пример #10
0
        private async Task ProcessIncomingTweet(ITweet tweet)
        {
            if (tweet.Media.Count != 0 && tweet.Media[0].MediaType == "photo" && tweet.IsRetweet == false && tweet.InReplyToUserId == null)
            {
                var imgUrl  = tweet.Entities.Medias[0].MediaURL;
                var emotion = await _emotionService.DetectEmotionFromUrl(imgUrl);

                var result = new Models.Tweet
                {
                    ImageUrl = imgUrl,
                    Emotion  = emotion,
                    Text     = tweet.Text,
                    Handle   = tweet.CreatedBy.ScreenName,
                    Name     = tweet.CreatedBy.Name
                };

                _tweetQueue.Enqueue(result);
            }
        }
        public void ConfigureStream()
        {
            stream.ClearFollows();
            stream.ClearTracks();
            foreach (Subscription s in _subRepo.Find(s => s.Event.Id == streamEvent.Id))
            {
                if (s.Type == Common.SubType.TRACK.ToString())
                {
                    stream.AddTrack(s.Value);
                }
                else if (s.Type == Common.SubType.PERSON.ToString())
                {
                    stream.AddFollow(s.TwitterId);
                }
            }

            stream.MatchingTweetReceived += (sender, args) =>
            {
                Models.User isBannedUser = _userRepo.Find(b => (b.UserId == args.Tweet.CreatedBy.Id) && b.Type == Common.BanType).SingleOrDefault();
                if (isBannedUser != null)
                {
                    return;
                }

                Models.Tweet             newTweet = new Models.Tweet(args.Tweet.Id, args.Tweet.FullText, args.Tweet.CreatedBy.ScreenName, args.Tweet.CreatedAt.ToUniversalTime(), args.Tweet.CreatedBy.Name, args.Tweet.CreatedBy.ProfileImageUrlFullSize, streamEvent, args.Tweet.CreatedBy.Id);
                TwitterWall.Models.Tweet result   = _tweetRepo.Find(obj => obj.TweetId == newTweet.TweetId && obj.Event.Id == streamEvent.Id).SingleOrDefault();

                if (result != null)
                {
                    return;
                }

                _tweetRepo.Add(newTweet);
                _mediaRepo.AddFromTweet(args.Tweet, streamEvent);
            };

            stream.StreamStopped += (sender, args) =>
            {
                var exceptionThatCausedTheStreamToStop = args.Exception;
                var twitterDisconnectMessage           = args.DisconnectMessage;
                StreamManager.ConnectionManager.GetHubContext <TwitterHub>().Clients.All.streamStatusChanged("Stopped: " + args.Exception + ". " + args.DisconnectMessage);
            };
        }
Пример #12
0
        private void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            List <Tweetinvi.Models.ITweet> listToDb = new List <Tweetinvi.Models.ITweet>(tweetsList);

            tweetsList.Clear();
            foreach (Tweetinvi.Models.ITweet t in listToDb)
            {
                tweetsRetrieved++;
                Models.Tweet tweet = new Models.Tweet();
                String       textToParse;
                if (t.IsRetweet)
                {
                    textToParse = t.RetweetedTweet.FullText;
                }
                else
                {
                    textToParse = t.FullText;
                }
                CountTweetWords(textToParse);
            }

            UpdateCount();
        }
Пример #13
0
 public Task <Models.Tweet> PublishTweetAsync(Models.Tweet tweet)
 {
     return(Task.Run(() => {
         return this.PublishTweet(tweet);
     }));
 }
 private void BroadcastTweet(Models.Tweet tweet, Common.TweetAction action)
 {
     // Invoke receiveTweet method on client side
     StreamManager.ConnectionManager.GetHubContext <TwitterHub>().Clients.Group(streamEvent.Name).receiveTweet(tweet, action.ToString());
 }
Пример #15
0
 public TweetHelper(Models.Tweet tweet)
 {
     this.tweet = tweet;
 }
        public List <Models.Tweet> Get(string uniqueID)
        {
            List <Models.Tweet> retTweets = new List <Models.Tweet>();

            GMPRestApi.Models.Data.GMPMissingPersonEntities entities = new GMPRestApi.Models.Data.GMPMissingPersonEntities();
            var person = entities.misper_.Where(x => x.Unique_ID == uniqueID).FirstOrDefault();

            if (person != null)
            {
                var extended = person.Misper_Extended.Where(x => !string.IsNullOrEmpty(x.TwitterName)).FirstOrDefault();
                if (extended != null)
                {
                    String consumerKey    = "I9VmfLMWVDuYQYhfxfuYUG0YU"; // The application's consumer key
                    String consumerSecret = "wJynbdgQ5PqqEXCcwIsHDy1bH7eHP4OJzsfqTvmt6g8mDxLrKq";
                    // The application's consumer secret
                    String accessToken = "611965091-N6OJDeeIQ9lYbyLkjLZML23HlrzuzoMWyYSpwRXQ";
                    // The access token granted after OAuth authorization
                    String accessTokenSecret = "GO8wnqElRIdvSUntnHQTgaldyrRLQCisPqKH4FGwGCtLT";
                    // The access token secret granted after OAuth authorization

                    // Create a new set of credentials for the application.
                    Auth.ApplicationCredentials = new TwitterCredentials(consumerKey, consumerSecret, accessToken,
                                                                         accessTokenSecret);
                    string since_id = "";
                    if (person.Tweets.Count > 0)
                    {
                        since_id =
                            person.Tweets.OrderByDescending(x => x.TweetDate)
                            .Take(1)
                            .FirstOrDefault()
                            .TweetID.ToString();
                    }
                    string query = HttpUtility.UrlEncode("from:" + extended.TwitterName);
                    if (!string.IsNullOrEmpty(since_id))
                    {
                        query += "&since_id" + since_id;
                    }
                    var tweets = Search.SearchTweets(query);
                    foreach (var tweet in tweets)
                    {
                        Models.Data.Tweet dataTweet = new Models.Data.Tweet();
                        dataTweet.TweetDate = tweet.CreatedAt;
                        dataTweet.TweetID   = tweet.Id;
                        dataTweet.Unique_id = uniqueID;
                        person.Tweets.Add(dataTweet);
                        entities.Tweets.Add(dataTweet);
                        entities.Tweets.AddOrUpdate();
                    }
                    entities.SaveChanges();
                    foreach (var tweet in person.Tweets.OrderByDescending(x => x.TweetDate))
                    {
                        Models.Tweet displayTweet = new Models.Tweet();
                        displayTweet.DateTime      = tweet.TweetDate;
                        displayTweet.TweetId       = tweet.TweetID;
                        displayTweet.UserID        = tweet.Unique_id;
                        displayTweet.TwitterHandle = extended.TwitterName;
                        retTweets.Add(displayTweet);
                    }
                }
            }
            return(retTweets);
        }