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); }
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(); }