public CommentViewModelCollection(IBaconProvider baconProvider, string permaLink, string subreddit, string subredditId, string targetName)
        {
            _timerHandles  = new List <WeakReference>();
            _state         = new Dictionary <object, object>();
            _permaLink     = permaLink;
            _subreddit     = subreddit;
            _targetName    = targetName;
            _baconProvider = baconProvider;
            var settingsService = baconProvider.GetService <ISettingsService>();

            if (settingsService.IsOnline())
            {
                _listingProvider = new BaconographyPortable.Model.Reddit.ListingHelpers.PostComments(baconProvider, subreddit, permaLink, targetName);
            }
            else
            {
                _listingProvider = new BaconographyPortable.Model.KitaroDB.ListingHelpers.PostComments(baconProvider, subredditId, permaLink, targetName);
            }


            //dont add to the observable collection all at once, make the view models on the background thread then start a ui timer to add them 10 at a time
            //to the actual observable collection leaving a bit of time in between so we dont block anything

            _systemServices = baconProvider.GetService <ISystemServices>();
            _systemServices.RunAsync(RunInitialLoad);
        }
예제 #2
0
 public ThingViewModelCollection(IBaconProvider baconProvider, IListingProvider onlineListingProvider, IListingProvider offlineListingProvider)
 {
     _baconProvider          = baconProvider;
     _redditService          = _baconProvider.GetService <IRedditService>();
     _navigationService      = _baconProvider.GetService <INavigationService>();
     _userService            = _baconProvider.GetService <IUserService>();
     _settingsService        = _baconProvider.GetService <ISettingsService>();
     _onlineListingProvider  = onlineListingProvider;
     _offlineListingProvider = offlineListingProvider;
 }
예제 #3
0
        public ImageSearchViewModelCollection(IBaconProvider baconProvider, string query)
        {
            _baconProvider   = baconProvider;
            _redditService   = baconProvider.GetService <IRedditService>();
            _imagesService   = baconProvider.GetService <IImagesService>();
            _settingsService = baconProvider.GetService <ISettingsService>();

            //we only want image results and this seems to be the best way to get that
            var searchQuery = query + " AND (site:'imgur' OR site:'flickr' OR site:'memecrunch' OR site:'quickmeme' OR site:qkme OR site:'min' OR site:'picsarus')";

            _onlineListingProvider  = new BaconographyPortable.Model.Reddit.ListingHelpers.SearchResults(_baconProvider, searchQuery);
            _offlineListingProvider = new BaconographyPortable.Model.KitaroDB.ListingHelpers.SearchResults(_baconProvider, searchQuery);
        }
예제 #4
0
 public async Task StoreOrderedThings(IListingProvider listingProvider)
 {
     await Initialize();
 }
예제 #5
0
 public async Task StoreOrderedThings(IListingProvider listingProvider)
 {
     await Initialize();
     
 }