public static ITweet GenerateTweet(ITweetDTO tweetDTO) { var tweet = A.Fake <ITweet>(); A.CallTo(() => tweet.TweetDTO).Returns(tweetDTO); return(tweet); }
private ITweetDTO PublishTweetDTO(ITweetDTO tweetToPublish) { _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish); var publishedTweetDTO = _tweetQueryExecutor.PublishTweet(tweetToPublish); return publishedTweetDTO; }
private ITweetDTO PublishTweetDTOInReplyTo(ITweetDTO tweetToPublish, ITweetDTO tweetToReplyTo) { _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish); var tweetDTO = _tweetQueryExecutor.PublishTweetInReplyTo(tweetToPublish, tweetToReplyTo); return tweetDTO; }
// Helper private string AddAdditionalParameters(ITweetDTO tweet, string baseQuery) { StringBuilder query = new StringBuilder(baseQuery); string placeIdParameter = _geoQueryGenerator.GeneratePlaceIdParameter(tweet.PlaceId); if (!String.IsNullOrEmpty(placeIdParameter)) { query.Append(String.Format("&{0}", placeIdParameter)); } string coordinatesParameter = _geoQueryGenerator.GenerateGeoParameter(tweet.Coordinates); if (!String.IsNullOrEmpty(coordinatesParameter)) { query.Append(String.Format("&{0}", coordinatesParameter)); } var mediaIdsParameter = GetMediaIdsParameter(tweet); if (!string.IsNullOrEmpty(mediaIdsParameter)) { query.Append(string.Format("&{0}", mediaIdsParameter)); } return(query.ToString()); }
public static ITweet GenerateTweet(ITweetDTO tweetDTO) { var tweet = A.Fake <ITweet>(); tweet.CallsTo(x => x.TweetDTO).Returns(tweetDTO); return(tweet); }
public async Task OnReceived(ITweetDTO tweet) { try { double?sentimentValue = await sentiment.Measure(tweet.Text).ConfigureAwait(false); ITweet tweetItem = Tweet.GenerateTweetFromDTO(tweet); var saveTask = Task.Run(() => persistency?.Save(tweetItem, sentimentValue)); var rating = new RatingRecord(tweet.Id.ToString(), DateTime.UtcNow, sentimentValue); foreach (IKeywordTracker tracker in Trackers) { tracker.AddRating(tweet.Text, rating); } if (users.Contains(tweet.CreatedBy.Name)) { manager.Resolve(tweet.CreatedBy.Name, "User").AddRating(rating); } await saveTask.ConfigureAwait(false); } catch (Exception ex) { logger.LogError(ex, "Failed processing"); } }
public void UploadTweetMediasBeforePublish(ITweetDTO tweetToPublish) { if (_tweetQueryValidator.CanTweetDTOBePublished(tweetToPublish)) { UploadMedias(tweetToPublish.MediasToPublish, false); } }
public Mention( ITweetDTO tweetDTO, TweetMode?tweetMode, ITwitterClient client) : base(tweetDTO, tweetMode, client) { // Default constructor inheriting from the default Tweet constructor }
public string PublishTweet(ITweetDTO tweetToPublish) { _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish); string query = _tweetQueryGenerator.GetPublishTweetQuery(tweetToPublish); return(_twitterAccessor.ExecuteJsonPOSTQuery(query)); }
private ITweetDTO PublishTweetDTOInReplyTo(ITweetDTO tweetToPublish, ITweetDTO tweetToReplyTo) { _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish); var tweetDTO = _tweetQueryExecutor.PublishTweetInReplyTo(tweetToPublish, tweetToReplyTo); return(tweetDTO); }
private ITweetDTO PublishTweetDTO(ITweetDTO tweetToPublish) { _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish); var publishedTweetDTO = _tweetQueryExecutor.PublishTweet(tweetToPublish); return(publishedTweetDTO); }
// Update Tweet public void UpdateTweetIfTweetSuccessfullyBeenPublished(ITweet sourceTweet, ITweetDTO publishedTweetDTO) { if (sourceTweet != null && publishedTweetDTO != null && publishedTweetDTO.IsTweetPublished) { sourceTweet.TweetDTO = publishedTweetDTO; } }
// Destroy Tweet public string GetDestroyTweetQuery(ITweetDTO tweetDTO) { if (!_tweetQueryValidator.CanTweetDTOBeDestroyed(tweetDTO)) { return(null); } return(GetDestroyTweetQuery(tweetDTO.Id)); }
// OEmbed Tweet public string GetGenerateOEmbedTweetQuery(ITweetDTO tweetDTO) { if (!_tweetQueryValidator.IsTweetPublished(tweetDTO)) { return(null); } return(GetGenerateOEmbedTweetQuery(tweetDTO.Id)); }
public ITweet CreateTweet(ITweetDTO tweetDTO) { if (tweetDTO == null) { return(null); } return(new Tweet(tweetDTO, _client.ClientSettings.TweetMode, _client)); }
// Unfavourite Tweet public string GetUnFavouriteTweetQuery(ITweetDTO tweetDTO) { if (!_tweetQueryValidator.IsTweetPublished(tweetDTO)) { return(null); } return(GetUnFavouriteTweetQuery(tweetDTO.Id)); }
// Publish Tweet in reply to public string GetPublishTweetInReplyToQuery(ITweetDTO tweetToPublish, ITweetDTO tweetToReplyTo) { if (!_tweetQueryValidator.CanTweetDTOBePublished(tweetToPublish) || !_tweetQueryValidator.IsTweetPublished(tweetToReplyTo)) { return(null); } return(GetPublishTweetInReplyToQuery(tweetToPublish, tweetToReplyTo.Id)); }
public bool CanTweetDTOBePublished(ITweetDTO tweet) { if (tweet == null) { return false; } var tooManyMedia = tweet.MediasToPublish != null && tweet.MediasToPublish.Count > 4; return !tweet.IsTweetPublished && !tweet.IsTweetDestroyed && !tooManyMedia; }
public bool DestroyTweet(ITweetDTO tweetDTO) { if (tweetDTO == null) { return false; } tweetDTO.IsTweetDestroyed = _tweetQueryExecutor.DestroyTweet(tweetDTO); return tweetDTO.IsTweetDestroyed; }
public ITweet PublishTweetWithGeo(ITweetDTO tweetToPublishDTO, ICoordinates coordinates) { if (tweetToPublishDTO == null) { throw new ArgumentException("TweetDTO cannot be null!"); } tweetToPublishDTO.Coordinates = coordinates; return(PublishTweet(tweetToPublishDTO)); }
private ITweet GenerateTweet(ITweetDTO tweetDTO = null) { var tweet = A.Fake <ITweet>(); tweet.TweetDTO = tweetDTO; tweet.CallsTo(x => x.IsTweetPublished).ReturnsLazily(() => tweet.TweetDTO != null && tweet.TweetDTO.IsTweetPublished); _fakeTweetFactory.CallsTo(x => x.GenerateTweetFromDTO(tweetDTO)).Returns(tweet); return(tweet); }
public ITweet PublishTweetWithGeoInReplyTo(ITweetDTO tweetToPublishDTO, ICoordinates coordinates, long tweetIdToReplyTo) { if (tweetToPublishDTO == null) { throw new ArgumentException("TweetDTO cannot be null!"); } tweetToPublishDTO.Coordinates = coordinates; return(PublishTweetInReplyTo(tweetToPublishDTO, tweetIdToReplyTo)); }
public bool DestroyTweet(ITweetDTO tweetDTO) { if (tweetDTO == null) { return(false); } tweetDTO.IsTweetDestroyed = _tweetQueryExecutor.DestroyTweet(tweetDTO); return(tweetDTO.IsTweetDestroyed); }
private long[] GetTweetMediaIdsToPublish(ITweetDTO tweetToPublish) { if (tweetToPublish.MediasToPublish == null) { return(new long[] { }); } var tweetMedias = tweetToPublish.MediasToPublish.Where(x => x.UploadedMediaInfo != null); return(tweetMedias.Select(x => x.UploadedMediaInfo.MediaId).ToArray()); }
public bool CanTweetDTOBePublished(ITweetDTO tweet) { if (tweet == null) { return(false); } var tooManyMedia = tweet.MediasToPublish != null && tweet.MediasToPublish.Count > 4; return(!tweet.IsTweetPublished && !tweet.IsTweetDestroyed && !tooManyMedia); }
public bool FavoriteTweet(ITweetDTO tweetDTO) { if (tweetDTO == null) { return(false); } // if the favourite operation failed the tweet should still be favourited if it previously was tweetDTO.Favourited |= _tweetQueryExecutor.FavouriteTweet(tweetDTO); return(tweetDTO.Favourited); }
// Publish Tweet public string GetPublishTweetQuery(ITweetDTO tweetDTO) { if (!_tweetQueryValidator.CanTweetDTOBePublished(tweetDTO)) { return(null); } string baseQuery = String.Format(Resources.Tweet_Publish, CleanupString(tweetDTO.Text)); return(AddAdditionalParameters(tweetDTO, baseQuery)); }
public string GetPublishTweetInReplyToQuery(ITweetDTO tweetToPublish, long tweetIdToRespondTo) { if (!_tweetQueryValidator.CanTweetDTOBePublished(tweetToPublish)) { return(null); } string baseQuery = String.Format(Resources.Tweet_PublishInReplyTo, CleanupString(tweetToPublish.Text), tweetIdToRespondTo); return(AddAdditionalParameters(tweetToPublish, baseQuery)); }
// Generate Mention from DTO public IMention GenerateMentionFromDTO(ITweetDTO tweetDTO) { if (tweetDTO == null) { return(null); } var parameterOverride = _mentionUnityFactory.GenerateParameterOverrideWrapper("tweetDTO", tweetDTO); var mention = _mentionUnityFactory.Create(parameterOverride); return(mention); }
public async Task <IActionResult> GetFirstAndLastAsync(string screenName) { var userIdentifier = new UserIdentifier(screenName); var tweets = await GetTweets(screenName); var orderedTweets = tweets.OrderBy(x => x.CreatedAt); ITweetDTO[] response = new ITweetDTO[] { orderedTweets.FirstOrDefault(), orderedTweets.LastOrDefault() }; return(Ok(response)); }
// Generate Tweet From DTO public ITweet GenerateTweetFromDTO(ITweetDTO tweetDTO) { if (tweetDTO == null) { return null; } var parameterOverride = _tweetUnityFactory.GenerateParameterOverrideWrapper("tweetDTO", tweetDTO); var tweet = _tweetUnityFactory.Create(parameterOverride); return tweet; }
// Generate Tweet From DTO public ITweet GenerateTweetFromDTO(ITweetDTO tweetDTO) { if (tweetDTO == null) { return(null); } var parameterOverride = _tweetUnityFactory.GenerateParameterOverrideWrapper("tweetDTO", tweetDTO); var tweet = _tweetUnityFactory.Create(parameterOverride); return(tweet); }
public Tweet( ITweetDTO tweetDTO, ITweetController tweetController, ITweetFactory tweetFactory, IUserFactory userFactory) { _tweetController = tweetController; _tweetFactory = tweetFactory; _userFactory = userFactory; TweetDTO = tweetDTO; }
public Mention( ITweetDTO tweetDTO, ITweetController tweetController, ITweetFactory tweetFactory, IUserFactory userFactory) : base(tweetDTO, tweetController, tweetFactory, userFactory) { // Default constructor inheriting from the default Tweet constructor }
public void Save(ITweetDTO dto) { var textItem = cleanup.Cleanup(dto.Text); var text = $"{dto.CreatedAt}\t{dto.Id}\t{dto.CreatedBy.Id}\t{dto.Retweeted}\t{textItem}\r\n"; lock (syncRoot) { var stream = streamSource.GetStream(); var data = Encoding.UTF8.GetBytes(text); stream.Write(data, 0, data.Length); stream.Flush(); } }
public Mention( ITweetDTO tweetDTO, ITweetController tweetController, ITweetFactory tweetFactory, IUserFactory userFactory, ITaskFactory taskFactory) : base(tweetDTO, tweetController, tweetFactory, userFactory, taskFactory) { // Default constructor inheriting from the default Tweet constructor }
public void ThrowIfTweetCannotBeUsed(ITweetDTO tweet) { if (tweet == null) { throw new ArgumentNullException("Tweet cannot be null."); } if (!tweet.IsTweetPublished) { throw new ArgumentException("Tweet must have been already published to be destroyed."); } if (tweet.IsTweetDestroyed) { throw new ArgumentException("Tweet has been destroyed."); } }
public IOEmbedTweet GenerateOEmbedTweet(ITweetDTO tweetDTO) { var oembedTweetDTO = _tweetQueryExecutor.GenerateOEmbedTweet(tweetDTO); return _tweetFactory.GenerateOEmbedTweetFromDTO(oembedTweetDTO); }
public bool UnFavoriteTweet(ITweetDTO tweetDTO) { return _tweetQueryExecutor.UnFavouriteTweet(tweetDTO); }
// Publish Retweet public string GetPublishRetweetQuery(ITweetDTO tweetDTO) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetDTO); return GetPublishRetweetQuery(tweetDTO.Id); }
// Generate Mention from DTO public IMention GenerateMentionFromDTO(ITweetDTO tweetDTO) { if (tweetDTO == null) { return null; } var parameterOverride = _mentionUnityFactory.GenerateParameterOverrideWrapper("tweetDTO", tweetDTO); var mention = _mentionUnityFactory.Create(parameterOverride); return mention; }
public string PublishTweet(ITweetDTO tweetToPublish) { _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish); string query = _tweetQueryGenerator.GetPublishTweetQuery(tweetToPublish); return _twitterAccessor.ExecuteJsonPOSTQuery(query); }
public string UnFavouriteTweet(ITweetDTO tweetDTO) { string query = _tweetQueryGenerator.GetUnFavouriteTweetQuery(tweetDTO); return _twitterAccessor.ExecuteJsonPOSTQuery(query); }
public static string UnFavouriteTweet(ITweetDTO tweetDTO) { return TweetJsonController.UnFavouriteTweet(tweetDTO); }
public ITweet PublishRetweet(ITweetDTO tweet) { var tweetDTO = _tweetQueryExecutor.PublishRetweet(tweet); return _tweetFactory.GenerateTweetFromDTO(tweetDTO); }
// Destroy Tweet public string GetDestroyTweetQuery(ITweetDTO tweetDTO) { _tweetQueryValidator.ThrowIfTweetCannotBeDestroyed(tweetDTO); return GetDestroyTweetQuery(tweetDTO.Id); }
public static string DestroyTweet(ITweetDTO tweetDTO) { return TweetJsonController.DestroyTweet(tweetDTO); }
public static ITweet GenerateTweetFromDTO(ITweetDTO tweetDTO) { return TweetFactory.GenerateTweetFromDTO(tweetDTO); }
public IEnumerable<ITweetDTO> SearchRepliesTo(ITweetDTO tweetDTO, bool recursiveReplies) { if (tweetDTO == null) { throw new ArgumentException("TweetDTO cannot be null"); } var searchTweets = SearchTweets(string.Format(tweetDTO.CreatedBy.ScreenName)).ToList(); if (recursiveReplies) { return GetRecursiveReplies(searchTweets, tweetDTO.Id); } var repliesDTO = searchTweets.Where(x => x.InReplyToStatusId == tweetDTO.Id); return repliesDTO; }
// OEmbed Tweet public string GetGenerateOEmbedTweetQuery(ITweetDTO tweetDTO) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetDTO); return GetGenerateOEmbedTweetQuery(tweetDTO.Id); }
public bool FavoriteTweet(ITweetDTO tweetDTO) { if (tweetDTO == null) { return false; } // if the favourite operation failed the tweet should still be favourited if it previously was tweetDTO.Favourited |= _tweetQueryExecutor.FavouriteTweet(tweetDTO); return tweetDTO.Favourited; }
public static string GenerateOEmbedTweet(ITweetDTO tweetDTO) { return TweetJsonController.GenerateOEmbedTweet(tweetDTO); }
public IEnumerable<ITweet> GetRetweets(ITweetDTO tweet) { var retweetsDTO = _tweetQueryExecutor.GetRetweets(tweet); return _tweetFactory.GenerateTweetsFromDTO(retweetsDTO); }
public static string PublishTweetInReplyTo(ITweetDTO tweetToPublish, long tweetIdToReplyTo) { return TweetJsonController.PublishTweetInReplyTo(tweetToPublish, tweetIdToReplyTo); }
public Tweet( ITweetDTO tweetDTO, ITweetController tweetController, ITweetFactory tweetFactory, IUserFactory userFactory, ITaskFactory taskFactory, IFactory<IMedia> mediaFactory) { _tweetController = tweetController; _tweetFactory = tweetFactory; _userFactory = userFactory; _taskFactory = taskFactory; _mediaFactory = mediaFactory; TweetDTO = tweetDTO; }
public static string PublishRetweet(ITweetDTO tweetDTO) { return TweetJsonController.PublishRetweet(tweetDTO); }
public string GenerateOEmbedTweet(ITweetDTO tweet) { string query = _tweetQueryGenerator.GetGenerateOEmbedTweetQuery(tweet); return _twitterAccessor.ExecuteJsonGETQuery(query); }
public static string GetRetweets(ITweetDTO tweetDTO) { return TweetJsonController.GetRetweets(tweetDTO); }