public ShareService(ProductivityService productivityService, TwitterShareService twitterShareService, LeaderboardShareService leaderboardShareService, VersioningService versioningService) { _productivityService = productivityService; _twitterShareService = twitterShareService; _leaderboardShareService = leaderboardShareService; _twitterShareService = twitterShareService; _versioningService = versioningService; }
public static void CreateTweetForm(Logger logger) { try { var twitterPersistenceService = new TwitterPersistenceService(logger); if (!ProductivityUiHelper.IsTwitterAccountConfigured(twitterPersistenceService, logger)) { MessageBox.Show( PluginResources .ProductivityShareViewPartAction_Execute_In_order_to_share_the_result_you_need_to_configure_your_twitter_account); return; } var productivityService = new ProductivityService(logger); if (productivityService.TotalNumberOfCharacters < Constants.MinimumNumberOfCharacters) { MessageBox.Show( string.Format( PluginResources .ProductivityShareViewPartAction_Execute_In_order_to_share_your_score_you_need_to_translate_at_least__0__characters, Constants.MinimumNumberOfCharacters.ToString("N0"))); return; } var leaderboardApi = new LeaderboardApi(twitterPersistenceService); var versioningService = new VersioningService(leaderboardApi); var tweetMessageService = new TweetMessageService(versioningService); var leaderBoardShareService = new LeaderboardShareService(leaderboardApi, twitterPersistenceService); var twitterShareService = new TwitterShareService(twitterPersistenceService, tweetMessageService); var shareService = new ShareService(productivityService, twitterShareService, leaderBoardShareService, versioningService); if (!leaderboardApi.IsAlive()) { MessageBox.Show(PluginResources.TweetFactory_CreateTweet_SDL_Leaderboard_could_not_be_reached__Please_check_your_internet_connectivity_and_try_again); return; } if (!twitterShareService.IsAlive()) { MessageBox.Show(PluginResources.TweetFactory_CreateTweet_Twitter_could_not_be_reached__Please_check_your_internet_connectivity_and_try_again_); return; } if (!versioningService.IsPluginVersionCompatibleWithLeaderboardVersion()) { MessageBox.Show( string.Format( "In order to share you score you need to update the plugin to the version {0}. Please download the latest version from Open Exchange.", shareService.LeaderboardVersion)); return; } using (var tf = new TweetForm(shareService,tweetMessageService, productivityService)) { tf.ShowDialog(); } } catch (Exception ex) { logger.Debug(ex, "Unexpected exception when opening the share score"); throw; } }