Exemplo n.º 1
0
        public List <Tweets> GetTweetsForUser(TwitterUsers twitterUser)
        {
            Auth.SetUserCredentials(Configuration["IntegrationSettings:Twitter:ConsumerKey"],
                                    Configuration["IntegrationSettings:Twitter:ConsumerSecret"],
                                    Configuration["IntegrationSettings:Twitter:AccessToken"],
                                    Configuration["IntegrationSettings:Twitter:AccessTokenSecret"]);

            var realTwitterUser = User.GetUserFromScreenName(twitterUser.TwitterUsername);

            var recentUserTweets = Timeline.GetUserTimeline(realTwitterUser.Id, 10);

            List <Tweets> foundTweets = new List <Tweets>();

            using (var db = new DB_A41BC9_aml630Context())
            {
                var lookupUser = db.TwitterUsers.Where(x => x.TwitterUserId == twitterUser.TwitterUserId).FirstOrDefault();

                lookupUser.Image = realTwitterUser.ProfileImageUrl;

                foreach (var tweet in recentUserTweets.Where(x => !x.IsRetweet))
                {
                    var newTweet = new Tweets()
                    {
                        EmbedHtml     = "",
                        TweetText     = tweet.FullText,
                        DateCreated   = DateTime.UtcNow,
                        DateTweeted   = tweet.TweetLocalCreationDate,
                        TwitterUserId = twitterUser.TwitterUserId
                    };

                    var isDupe = db.Tweets.Where(x => x.TweetText == tweet.FullText).FirstOrDefault();

                    if (isDupe != null)
                    {
                        newTweet.TweetText = "DupeTweet--" + isDupe.TweetText;
                    }
                    else
                    {
                        if (tweet != null && tweet.Id != null)
                        {
                            var getEmbed = Tweet.GetOEmbedTweet(tweet.Id);

                            if (getEmbed != null)
                            {
                                newTweet.EmbedHtml = getEmbed.HTML;

                                db.Tweets.Add(newTweet);

                                db.SaveChanges();
                            }
                        }
                    }

                    foundTweets.Add(newTweet);
                }
            }

            return(foundTweets);
        }
Exemplo n.º 2
0
        public Tweetinvi.Models.IUser GetTwitterUserInfo(TwitterUsers twitterUser)
        {
            Auth.SetUserCredentials(Configuration["IntegrationSettings:Twitter:ConsumerKey"],
                                    Configuration["IntegrationSettings:Twitter:ConsumerSecret"],
                                    Configuration["IntegrationSettings:Twitter:AccessToken"],
                                    Configuration["IntegrationSettings:Twitter:AccessTokenSecret"]);

            return(User.GetUserFromScreenName(twitterUser.TwitterUsername));
        }
Exemplo n.º 3
0
        public void OnClose()
        {
            //現在の状態を保存
            var twitterRepository = ServiceLocator.Instance.GetInstance <TwitterRepository>();

            twitterRepository.Save(TwitterUsers.ToList());

            //差分からアカウントを削除
            var diff = new List <TwitterUser>(oldTwitterUsersList);

            foreach (var twitterUser in TwitterUsers)
            {
                diff.Remove(twitterUser);
            }
            twitterRepository.Delete(diff);
        }
Exemplo n.º 4
0
        public TwitterUsers CreateTwitterUser([FromRoute] string twitterUser)
        {
            TwitterUsers newTwitterUser;

            using (var db = new DB_A41BC9_aml630Context())
            {
                newTwitterUser = new TwitterUsers()
                {
                    TwitterUsername = twitterUser,
                    DateCreated     = DateTime.UtcNow
                };

                db.TwitterUsers.Add(newTwitterUser);
                db.SaveChanges();
            }

            return(newTwitterUser);
        }
Exemplo n.º 5
0
        public async Task <IActionResult> PostTwitterUsers([FromBody] TwitterUsers twitterUsers)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            twitterUsers.DateCreated = DateTime.UtcNow;

            var twitterLogic = new TwitterLogic(Configuration);

            var userInfo = twitterLogic.GetTwitterUserInfo(twitterUsers);

            twitterUsers.Image = userInfo.ProfileImageUrlFullSize;

            _context.TwitterUsers.Add(twitterUsers);

            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTwitterUsers", new { id = twitterUsers.TwitterUserId }, twitterUsers));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> PutTwitterUsers([FromRoute] int id, [FromBody] TwitterUsers twitterUsers)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            if (id != twitterUsers.TwitterUserId)
            {
                return(BadRequest());
            }

            var twitterLogic = new TwitterLogic(Configuration);

            var userInfo = twitterLogic.GetTwitterUserInfo(twitterUsers);

            twitterUsers.Image = userInfo.ProfileImageUrlFullSize;

            _context.Entry(twitterUsers).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TwitterUsersExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 7
0
        public List <Tweets> GetAllResourcesFromTwitterUser(TwitterUsers twitterUser)
        {
            var tweetList = GetTweetsForUser(twitterUser);

            return(tweetList);
        }