예제 #1
0
        public Task <string> Tweet(string tweet)
        {
            string TwitterConsumerKey    = Storage.GetString(TwitterNewsSharerSettingsPage.TwitterConsumerKeyKey);
            string TwitterConsumerSecret = Storage.GetString(TwitterNewsSharerSettingsPage.TwitterConsumerSecretKey);

            string TwitterAccessToken       = Storage.GetString(TwitterNewsSharerSettingsPage.TwitterAccessTokenKey);
            string TwitterAccessTokenSecret = Storage.GetString(TwitterNewsSharerSettingsPage.TwitterAccessTokenSecretKey);

            InnerTweeter.UpdateCredentials(TwitterConsumerKey, TwitterConsumerSecret, TwitterAccessToken, TwitterAccessTokenSecret);

            return(InnerTweeter.Tweet(tweet));
        }
예제 #2
0
 public virtual void Restore()
 {
     // restore from SettingsMappings
     foreach (SettingsMapping mapping in SettingsMappings)
     {
         string savedVal = KeyValueStorage.GetString(mapping.StorageKey, mapping.DefaultValue);
         mapping.Deserialize(savedVal);
         Console.WriteLine($"{mapping.StorageKey} = {savedVal} (default {mapping.DefaultValue})");
     }
 }
예제 #3
0
        public IEnumerable <IShareJob> GetUnfinishedJobs(KeyValueStorage kvs)
        {
            string   storedXml = kvs.GetString(UnfinishedJobsKey);
            List <T> rawJobs   = DeserializeShareJobs(storedXml, kvs).ToList();

            UnfinishedJobs = new List <T>();
            AddJobs(rawJobs, kvs, false);

            return(rawJobs.Cast <IShareJob>());
        }
예제 #4
0
        public INewsSearcher CreateNewsSearcher(KeyValueStorage kvs)
        {
            string access_key = kvs.GetString(BingNewsSearcherSettingsPage.BingNewsAccessKeyStorageKey);

            if (access_key == null)
            {
                throw new InvalidOperationException(
                          "The Bing News access key is not properly set");
            }

            return(new BingNewsSearcher(access_key));
        }
예제 #5
0
        public DomainRater(KeyValueStorage kvs, IDomainRatingsSerializer serializer)
        {
            _kvs        = kvs;
            _serializer = serializer;

            string serializedDomainRatings = kvs.GetString(
                DomainRatingNewsFilterSettingsPage.DomainRatingsKey);

            if (serializedDomainRatings == null)
            {
                _domainRatings = new List <DomainRating>();
            }
            else
            {
                _domainRatings = _serializer.DeserializeTyped(
                    serializedDomainRatings).Where(dr => dr.Domain != null).ToList();
            }
        }
        public RedditNewsSharerWindow(NewsArticle newsArticle, KeyValueStorage kvs, IRedditPoster reddit)
        {
            InitializeComponent();

            PostTitleTextBox.Text  = newsArticle.Title;
            ArticleUrlTextBox.Text = newsArticle.Url;
            this.RedditApi         = reddit;

            TreeViewSettingsMapping map = new TreeViewSettingsMapping(
                RedditNewsSharerSettingsPage.RedditDefaultSubredditsKey, null, DefaultSubredditsTreeView);

            map.Deserialize(kvs.GetString(RedditNewsSharerSettingsPage.RedditDefaultSubredditsKey));
            DefaultSubredditsTreeView.ExpandAll();
            //DefaultSubredditsTreeView.RestoreFromTreeModel()

            SelectedSubreddits = new ObservableCollection <string>();
            SelectedSubredditsListView.ItemsSource = SelectedSubreddits;
            SelectedSubredditsListView.KeyUp      += SelectedSubredditsListView_KeyUp;
        }
예제 #7
0
 public void Load(KeyValueStorage kvs)
 {
     Deserialize(kvs.GetString(StorageKey, DefaultValue));
 }