diff --git a/VDownload.Core/VDownload.Core.ViewModels/Home/HomePlaylistViewModel.cs b/VDownload.Core/VDownload.Core.ViewModels/Home/HomePlaylistViewModel.cs index aac264a..921901e 100644 --- a/VDownload.Core/VDownload.Core.ViewModels/Home/HomePlaylistViewModel.cs +++ b/VDownload.Core/VDownload.Core.ViewModels/Home/HomePlaylistViewModel.cs @@ -81,6 +81,91 @@ namespace VDownload.Core.ViewModels.Home } protected string _authorFilter; + public long MinViewsFilter + { + get => _minViewsFilter; + set + { + SetProperty(ref _minViewsFilter, value, nameof(MinViewsFilter)); + UpdateFilter(); + } + } + protected long _minViewsFilter; + + public long MaxViewsFilter + { + get => _maxViewsFilter; + set + { + SetProperty(ref _maxViewsFilter, value, nameof(MaxViewsFilter)); + UpdateFilter(); + } + } + protected long _maxViewsFilter; + + [ObservableProperty] + protected long _minViews; + + [ObservableProperty] + protected long _maxViews; + + public DateTimeOffset MinDateFilter + { + get => _minDateFilter; + set + { + SetProperty(ref _minDateFilter, value, nameof(MinDateFilter)); + UpdateFilter(); + } + } + protected DateTimeOffset _minDateFilter; + + public DateTimeOffset MaxDateFilter + { + get => _maxDateFilter; + set + { + SetProperty(ref _maxDateFilter, value, nameof(MaxDateFilter)); + UpdateFilter(); + } + } + protected DateTimeOffset _maxDateFilter; + + [ObservableProperty] + protected DateTimeOffset _minDate; + + [ObservableProperty] + protected DateTimeOffset _maxDate; + + + public TimeSpan MinDurationFilter + { + get => _minDurationFilter; + set + { + SetProperty(ref _minDurationFilter, value, nameof(MinDurationFilter)); + UpdateFilter(); + } + } + protected TimeSpan _minDurationFilter; + + public TimeSpan MaxDurationFilter + { + get => _maxDurationFilter; + set + { + SetProperty(ref _maxDurationFilter, value, nameof(MaxDurationFilter)); + UpdateFilter(); + } + } + protected TimeSpan _maxDurationFilter; + + [ObservableProperty] + protected TimeSpan _minDuration; + + [ObservableProperty] + protected TimeSpan _maxDuration; + #endregion @@ -107,11 +192,31 @@ namespace VDownload.Core.ViewModels.Home public void LoadPlaylist(Playlist playlist) { _playlist = playlist; + ParallelQuery