コード例 #1
0
        public bool SaveTweet(TweetMessage tweetMsg)
        {
            bool IsSuccess = false;

            try
            {
                using (_dbContext = new TwitterCloneEntities())
                {
                    var tweets = _dbContext.People.Where(x => x.User_Id.Trim().ToUpper() == tweetMsg.User_Id.Trim().ToUpper()).FirstOrDefault();
                    var tweet  = _dbContext.Tweets.Where(x => x.Tweet_Id == tweetMsg.Tweet_Id).FirstOrDefault();
                    if (tweet == null && tweetMsg.Tweet_Id == 0)
                    {
                        tweet         = new Tweet();
                        tweet.User_Id = tweetMsg.User_Id;
                        tweet.Message = tweetMsg.Message;
                        tweet.Created = DateTime.Now;

                        _dbContext.Entry(tweet).State = System.Data.Entity.EntityState.Added;
                    }
                    else
                    {
                        tweet.Message = tweetMsg.Message;
                    }
                    IsSuccess = true;

                    _dbContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
            }

            return(IsSuccess);
        }
コード例 #2
0
ファイル: Person.cs プロジェクト: genejing/Algorithm6250
    public void SendTweet(string message)
    {
        TweetMessage tweet = new TweetMessage(message);

        if (tweetEvent != null)
        {
            tweetEvent(this, tweet);
        }
    }
コード例 #3
0
        internal TweetMessage Constructor(
            string id,
            string sender,
            string body
            )
        {
            TweetMessage target = new TweetMessage(id, sender, body);

            return(target);
            // TODO: add assertions to method TweetMessageTest.Constructor(String, String, String)
        }
コード例 #4
0
        private void ProcessMessage() // called from read
        {
            try
            {
                MessageValidation.ValidateHeader(txtMessageHeader.Text); // Validate Header
                Message m = ParseMessage();                              // parsing messege = as this is in a try statement, should it fail, it will returh the exception and the message to this try's catch

                if (m is null)
                {
                    throw new Exception("No Message"); // if parsing message was unsuccessful go no further
                }
                m.ToJson();                            // writing message to jsonfile
                os.Add(m);                             // adding message to main list
                UpdateGlobalMessageList();             // adding message to message list box

                if (m is EmailMessage)
                {
                    EmailMessage em = m as EmailMessage;
                    UpdateURLList(em); // if message is email message, cast as such and add it's qurantined links to URL list
                }

                if (m is SIREmail)
                {
                    UpdateSIRList(); // if Message is an incident report, add the details to a SIR list
                }
                if (m is TweetMessage)
                {
                    TweetMessage tm = m as TweetMessage;
                    MasterHashtags = tm.HashTagCount(MasterHashtags);
                    MasterMentions = tm.MentionsCount(MasterMentions);
                    Refresh(); // if message is tweet = add its hashtags/mentions to master list(if they exist increase count) refresh trending and mentions list
                }

                MessageBox.Show("Message Added");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message Not Added");
                return;
            }
        }
コード例 #5
0
        public TweetMessage EditTweet(int tweetId)
        {
            TweetMessage _editTweet = new TweetMessage();

            try
            {
                using (_dbContext = new TwitterCloneEntities())
                {
                    var tweet = _dbContext.Tweets.Where(x => x.Tweet_Id == tweetId).FirstOrDefault();//_context.TWEETs.Where(x => x.tweet_id == tweetMsg.TweetId).FirstOrDefault();
                    _editTweet.User_Id  = tweet.User_Id;
                    _editTweet.Message  = tweet.Message;
                    _editTweet.Tweet_Id = tweet.Tweet_Id;
                    _editTweet.Created  = DateTime.Now;
                    _dbContext.Entry(_editTweet).State = System.Data.Entity.EntityState.Modified;
                    _dbContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
            }

            return(_editTweet);
        }
コード例 #6
0
        private TweetMessage ProcessTweetMessage(RawMessage message)
        {
            //Parse message before transforming text. Verifies any length etc. requirements
            var parsed = new TweetMessage(message);

            //Expand textspeak
            parsed.MessageText = ExpandTextspeak(parsed.MessageText);

            //Add/Increment hashtags to/in trending list
            var hashtags     = new HashSet <string>(); //Keep track of hashtags to avoid double counting
            var hashtagRegex = new Regex(@"\#\w+");

            foreach (Match m in hashtagRegex.Matches(parsed.MessageText))
            {
                //Only process if first occurence in tweet
                if (!hashtags.Contains(m.Value))
                {
                    _basicDataProvider.TrendingList.AddOrIncrement(m.Value);
                    hashtags.Add(m.Value);
                }
            }

            //Add mention to mention list
            var mentionRegex = new Regex(@"\@\w+");

            foreach (Match m in mentionRegex.Matches(parsed.MessageText))
            {
                //Ignore if mention already exists in list
                if (!_basicDataProvider.MentionList.Any(item => item.Equals(m.Value)))
                {
                    _basicDataProvider.MentionList.Add(m.Value);
                }
            }

            //Return message
            return(parsed);
        }
コード例 #7
0
ファイル: Person.cs プロジェクト: genejing/Algorithm6250
    public void PrintTweet(object sender, TweetMessage msg)
    {
        Person tweeter = (Person)sender;

        Console.WriteLine(this.name + ":" + tweeter.name + " Tweeted " + msg.message + " at " + msg.time.ToString());
    }