private LocalWallpaper SetWallpaperAndGetOld(LocalWallpaper nextWallpaper) { if (_nextMonitor >= MonitorsManager.MonitorCount) { _nextMonitor = 0; } if (MonitorsManager.MonitorCount != _monitors.Count) { while (MonitorsManager.MonitorCount < _monitors.Count) { _monitors.RemoveAt(_monitors.Count - 1); } while (MonitorsManager.MonitorCount > _monitors.Count) { _monitors.Add(new MonitorWallpaperInformation()); } } var curMonitor = _nextMonitor++; MonitorsManager.SetImageToMonitor(nextWallpaper.Image, curMonitor); CountView(_monitors[curMonitor]); var oldWallpaper = _monitors[curMonitor].CurrentWallpaper; _monitors[curMonitor].CurrentWallpaper = nextWallpaper; _monitors[curMonitor].LastChanged = DateTime.Now; return(oldWallpaper); }
public WallpaperViewModel(LocalWallpaper wallpaper) { _wallpaper = wallpaper ?? throw new ArgumentNullException(nameof(wallpaper)); DownVoteCommand = new AsyncRelayCommand(OnDownVoteCommand, x => false); UpVoteCommand = new AsyncRelayCommand(OnUpVoteCommand, x => false); InfoCommand = new RelayCommand(x => OnInfo()); }
private void RefreshWallpaper(LocalWallpaper wallpaper) { if (wallpaper.Thumbnail == null) { wallpaper.Thumbnail = new FileInfo(Path.Combine(_cacheDirectory.FullName, wallpaper.Id.ToString() + "_thumb")); } if (wallpaper.Image == null) { wallpaper.Image = new FileInfo(Path.Combine(_cacheDirectory.FullName, wallpaper.Id.ToString())); } if (!_downloaderQueue.IsAddingCompleted) { _downloaderQueue.Add(wallpaper); } }
public void CountView(LocalWallpaper currentWallpaper) => _wallpaperApiClient.PostCommand(new CountWallpaperView { WallpaperId = currentWallpaper.Id });