From 12487724f2b649365cd4821468af46ba205e9ff6 Mon Sep 17 00:00:00 2001 From: Mateusz Skoczek Date: Sat, 2 Mar 2024 19:44:23 +0100 Subject: [PATCH] other filters added --- .../Home/HomePlaylistViewModel.cs | 152 +++++++++++++++--- .../Home/HomePlaylistView.xaml | 34 +++- 2 files changed, 160 insertions(+), 26 deletions(-) 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