diff --git a/demo_2023/MainWindow.axaml b/demo_2023/MainWindow.axaml index ae73504..56f6a6b 100644 --- a/demo_2023/MainWindow.axaml +++ b/demo_2023/MainWindow.axaml @@ -19,7 +19,7 @@ - + diff --git a/demo_2023/MainWindow.axaml.cs b/demo_2023/MainWindow.axaml.cs index fece6da..5761043 100644 --- a/demo_2023/MainWindow.axaml.cs +++ b/demo_2023/MainWindow.axaml.cs @@ -12,16 +12,18 @@ namespace demo_2023 { public partial class MainWindow : Window { - private ObservableCollection events = new ObservableCollection(); + private ObservableCollection events = new ObservableCollection(); + private List dataSourceEvent; + private bool isAscending = true; // Флаг для сортировки public MainWindow() { InitializeComponent(); - using var context = new User15Context(); - var dataSourceEvent = context.Events.Select(it => new EventPresenter + + dataSourceEvent = context.Events.Select(it => new EventPresenter { Sobitie = it.Sobitie, Date = it.Date, @@ -31,16 +33,32 @@ namespace demo_2023 }).ToList(); - foreach (var eventItem in dataSourceEvent) + EventListBox.ItemsSource = events; + + ApplySortingAndFiltering(); + } + + private void ApplySortingAndFiltering() + { + var temp = dataSourceEvent; + + + if (DateComboBox.SelectedItem is DateTime selectedDateTime) { - events.Add(eventItem); + temp = temp.Where(it => it.Date.Date == selectedDateTime.Date).ToList(); } - EventListBox.ItemsSource = events; + temp = isAscending ? temp.OrderBy(it => it.Date).ToList() : temp.OrderByDescending(it => it.Date).ToList(); + + + events.Clear(); + foreach (var item in temp) + { + events.Add(item); + } } - public class EventPresenter : Event { public Bitmap? Image @@ -49,25 +67,25 @@ namespace demo_2023 { try { - string absolutePath = Path.Combine(AppContext.BaseDirectory, Photo); - - if (File.Exists(absolutePath)) - { - return new Bitmap(absolutePath); - } - - return null; + return File.Exists(absolutePath) ? new Bitmap(absolutePath) : null; } catch { - return null; + return null; } } } } + private void DateComboBox_SelectionChanged(object? sender, SelectionChangedEventArgs e) + { + + isAscending = !isAscending; + ApplySortingAndFiltering(); + } + private void Jury_reg(object? sender, RoutedEventArgs e) { new Additem().ShowDialog(this); diff --git a/demo_2023/bin/Debug/net8.0/demo_2023.dll b/demo_2023/bin/Debug/net8.0/demo_2023.dll index 1d124e9..828175f 100644 Binary files a/demo_2023/bin/Debug/net8.0/demo_2023.dll and b/demo_2023/bin/Debug/net8.0/demo_2023.dll differ diff --git a/demo_2023/bin/Debug/net8.0/demo_2023.exe b/demo_2023/bin/Debug/net8.0/demo_2023.exe index 4f58f67..531e7f0 100644 Binary files a/demo_2023/bin/Debug/net8.0/demo_2023.exe and b/demo_2023/bin/Debug/net8.0/demo_2023.exe differ diff --git a/demo_2023/bin/Debug/net8.0/demo_2023.pdb b/demo_2023/bin/Debug/net8.0/demo_2023.pdb index 079e488..6c11af0 100644 Binary files a/demo_2023/bin/Debug/net8.0/demo_2023.pdb and b/demo_2023/bin/Debug/net8.0/demo_2023.pdb differ diff --git a/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.dll b/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.dll index 1d124e9..828175f 100644 Binary files a/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.dll and b/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.dll differ diff --git a/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.pdb b/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.pdb index 079e488..6c11af0 100644 Binary files a/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.pdb and b/demo_2023/obj/Debug/net8.0/Avalonia/demo_2023.pdb differ diff --git a/demo_2023/obj/Debug/net8.0/Avalonia/resources b/demo_2023/obj/Debug/net8.0/Avalonia/resources index f11c71b..02730a7 100644 Binary files a/demo_2023/obj/Debug/net8.0/Avalonia/resources and b/demo_2023/obj/Debug/net8.0/Avalonia/resources differ diff --git a/demo_2023/obj/Debug/net8.0/apphost.exe b/demo_2023/obj/Debug/net8.0/apphost.exe index 4f58f67..531e7f0 100644 Binary files a/demo_2023/obj/Debug/net8.0/apphost.exe and b/demo_2023/obj/Debug/net8.0/apphost.exe differ diff --git a/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfo.cs b/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfo.cs index f4d116d..c3bd48d 100644 --- a/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfo.cs +++ b/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("demo_2023")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d38f832f0f4284353be6ed8b83b5daeff3682e53")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9e30e876e51b1e136cbd4b751c48573cc2771d37")] [assembly: System.Reflection.AssemblyProductAttribute("demo_2023")] [assembly: System.Reflection.AssemblyTitleAttribute("demo_2023")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfoInputs.cache b/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfoInputs.cache index daf4f40..a0d6ab5 100644 --- a/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfoInputs.cache +++ b/demo_2023/obj/Debug/net8.0/demo_2023.AssemblyInfoInputs.cache @@ -1 +1 @@ -2ae409290fa8af1bf43909ade41f704793ba565a70d5881dd04bc0df6eec2e92 +e3c78da2cdc6980fa77b2a133556306f70f364175f9f08b29318cf6e73502801 diff --git a/demo_2023/obj/Debug/net8.0/demo_2023.dll b/demo_2023/obj/Debug/net8.0/demo_2023.dll index b92d4ad..fb680e9 100644 Binary files a/demo_2023/obj/Debug/net8.0/demo_2023.dll and b/demo_2023/obj/Debug/net8.0/demo_2023.dll differ diff --git a/demo_2023/obj/Debug/net8.0/demo_2023.pdb b/demo_2023/obj/Debug/net8.0/demo_2023.pdb index 92a588a..6945c61 100644 Binary files a/demo_2023/obj/Debug/net8.0/demo_2023.pdb and b/demo_2023/obj/Debug/net8.0/demo_2023.pdb differ diff --git a/demo_2023/obj/Debug/net8.0/ref/demo_2023.dll b/demo_2023/obj/Debug/net8.0/ref/demo_2023.dll index 0bfdfa0..c4b6296 100644 Binary files a/demo_2023/obj/Debug/net8.0/ref/demo_2023.dll and b/demo_2023/obj/Debug/net8.0/ref/demo_2023.dll differ diff --git a/demo_2023/obj/Debug/net8.0/refint/Avalonia/demo_2023.dll b/demo_2023/obj/Debug/net8.0/refint/Avalonia/demo_2023.dll index 0bfdfa0..c4b6296 100644 Binary files a/demo_2023/obj/Debug/net8.0/refint/Avalonia/demo_2023.dll and b/demo_2023/obj/Debug/net8.0/refint/Avalonia/demo_2023.dll differ diff --git a/demo_2023/obj/Debug/net8.0/refint/demo_2023.dll b/demo_2023/obj/Debug/net8.0/refint/demo_2023.dll index 94b435c..8f79a3c 100644 Binary files a/demo_2023/obj/Debug/net8.0/refint/demo_2023.dll and b/demo_2023/obj/Debug/net8.0/refint/demo_2023.dll differ