示例#1
0
        private async Task SaveReleaseWatchTimestamp(long releaseId)
        {
            var collection = m_DataContext.GetCollection <ReleaseEntity> ();
            var release    = collection.FirstOrDefault(a => a.Id == releaseId);

            if (release == null)
            {
                return;
            }

            release.LastWatchTimestamp = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
            collection.Update(release);

            var lastThreeWatchReleases = collection
                                         .Find(a => a.LastWatchTimestamp > 0)
                                         .OrderByDescending(a => a.LastWatchTimestamp)
                                         .Take(3)
                                         .ToList();

            if (!lastThreeWatchReleases.Any())
            {
                return;
            }

            var jumpService = new JumpListService();
            var dictionary  = new Dictionary <long, string> ();

            foreach (var watchRelease in lastThreeWatchReleases)
            {
                dictionary.Add(watchRelease.Id, watchRelease.Title);
            }
            await jumpService.ChangeWatchHistoryItems(dictionary);
        }
示例#2
0
        public MainViewModel(IParkenDdClient client,
                             VoiceCommandService voiceCommandService,
                             JumpListService jumpList,
                             ParkingLotListFilterService filterService,
                             SettingsService settings,
                             StorageService storage,
                             GeolocationService geo,
                             TrackingService tracking,
                             ExceptionService exceptionService)
        {
            _client           = client;
            _voiceCommands    = voiceCommandService;
            _jumpList         = jumpList;
            _filterService    = filterService;
            _settings         = settings;
            _storage          = storage;
            _geo              = geo;
            _tracking         = tracking;
            _exceptionService = exceptionService;

            Messenger.Default.Register(this, (SettingChangedMessage msg) =>
            {
                if (msg.IsSetting(nameof(_settings.ShowExperimentalCities)))
                {
                    var temp      = SelectedCity;
                    _selectedCity = null;
                    RaisePropertyChanged(() => SelectedCity);
                    RaisePropertyChanged(() => MetaDataCities);
                    _selectedCity = temp;
                    RaisePropertyChanged(() => SelectedCity);
                }
            });

            PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(MetaDataCities))
                {
                    UpdateServiceData();
                }
            };

            NetworkInformation.NetworkStatusChanged += sender =>
            {
                UpdateInternetAvailability();
            };
            UpdateInternetAvailability();
        }