Mark ne voryi moi kod

This commit is contained in:
-SSS- 2025-02-12 16:14:26 +03:00
parent a24d02ba9b
commit 0421119ccc
16 changed files with 112 additions and 42 deletions

View File

@ -5,18 +5,16 @@
mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="1000" mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="1000"
x:Class="demo_hard.HistoryWindow" x:Class="demo_hard.HistoryWindow"
x:CompileBindings="False" x:CompileBindings="False"
Title="HistoryWindow"> Title="История входов">
<DockPanel> <DockPanel>
<StackPanel DockPanel.Dock="Top" HorizontalAlignment="Center" Orientation="Horizontal" Margin="5"> <StackPanel DockPanel.Dock="Top" HorizontalAlignment="Center" Orientation="Horizontal" Margin="5">
<TextBlock HorizontalAlignment="Center" Text="Окно истории входа" Margin="5"/> <TextBlock HorizontalAlignment="Center" Text="Окно истории входа" Margin="5"/>
<ComboBox Width="200"> <ComboBox x:Name="LoginComboBox" Width="200" SelectionChanged="LoginCombobox_OnSelectedChanged"/>
<ComboBox x:Name="SortComboBox" Width="200" SelectionChanged="SortComboBox_OnSelectedChanged"/>
</ComboBox> <Button Content="Сортировать" Click="SortButton_OnClick" Width="150" Margin="5"/>
<ComboBox Width="200">
</ComboBox>
</StackPanel> </StackPanel>
<StackPanel> <StackPanel>
<ListBox x:Name="LastEnterBox"> <ListBox x:Name="LastEnterBox">
<ListBox.ItemsPanel> <ListBox.ItemsPanel>
@ -26,7 +24,7 @@
</ListBox.ItemsPanel> </ListBox.ItemsPanel>
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<Border> <Border BorderThickness="1" Padding="5" Margin="5">
<StackPanel HorizontalAlignment="Center" Spacing="5"> <StackPanel HorizontalAlignment="Center" Spacing="5">
<TextBlock Text="{Binding Login}"/> <TextBlock Text="{Binding Login}"/>
<TextBlock Text="{Binding EnterDatetime}"/> <TextBlock Text="{Binding EnterDatetime}"/>
@ -39,5 +37,4 @@
</StackPanel> </StackPanel>
</DockPanel> </DockPanel>
</Window> </Window>

View File

@ -1,4 +1,6 @@
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Interactivity; using Avalonia.Interactivity;
@ -9,15 +11,86 @@ namespace demo_hard;
public partial class HistoryWindow : Window public partial class HistoryWindow : Window
{ {
private ObservableCollection<LastEnter> lastEnter = new();
public List<LastEnter> Enter = new();
public bool sort = true;
public HistoryWindow() public HistoryWindow()
{ {
using var context = new User2Context();
InitializeComponent(); InitializeComponent();
LoadInfo();
Enter = context.LastEnters.Select(it => new LastEnter
{
EmployeId = it.EmployeId,
Login = it.Login,
EnterDatetime = it.EnterDatetime,
EnterType = it.EnterType,
}).ToList();
foreach (var e in Enter)
{
lastEnter.Add(e);
} }
private void LoadInfo() LastEnterBox.ItemsSource = lastEnter;
LoginComboBox.ItemsSource = Enter.Select(it=>it.Login);
SortComboBox.ItemsSource = new List<string> { "По возростанию", "по убыванию"};
SortLogin();
}
private void SortLogin()
{ {
using var context = new User2Context(); var temp = Enter;
LastEnterBox.ItemsSource = context.LastEnters.ToList(); if (LoginComboBox.SelectedItem is string login)
{
temp = temp.Where(it => it.Login == login).ToList();
}
temp = sort? temp.OrderBy(it => it.Login).ToList(): temp.OrderByDescending(it=>it. Login).ToList();
lastEnter.Clear();
foreach (var items in temp)
{
lastEnter.Add(items);
} }
} }
private void LoginCombobox_OnSelectedChanged(object? sender, SelectionChangedEventArgs e)
{
sort = false;
SortLogin();
}
private void SortButton_OnClick(object? sender, RoutedEventArgs e)
{
sort = !sort;
SortLogin();
}
private void SortDateTime()
{
var temp = Enter;
if (SortComboBox.SelectedItem is string sortOption)
{
temp = sortOption == "По возрастанию" ? temp.OrderBy(it=>it.EnterDatetime).ToList() : temp.OrderByDescending(it=>it.EnterDatetime).ToList();
}
lastEnter.Clear();
foreach (var datetime in temp)
{
lastEnter.Add(datetime);
}
}
private void SortComboBox_OnSelectedChanged(object? sender, SelectionChangedEventArgs e)
{
SortDateTime();
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("demo_hard")] [assembly: System.Reflection.AssemblyCompanyAttribute("demo_hard")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+76087f367db98dd96eb5d00b84f1cbdda7da181d")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a24d02ba9bcc9b996f261baa314bdc3640928f7c")]
[assembly: System.Reflection.AssemblyProductAttribute("demo_hard")] [assembly: System.Reflection.AssemblyProductAttribute("demo_hard")]
[assembly: System.Reflection.AssemblyTitleAttribute("demo_hard")] [assembly: System.Reflection.AssemblyTitleAttribute("demo_hard")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
5b2767f893e7da3e6840a62cc19d1789e0f7f6add39e0be46f0182d0771bb4f5 0aafcd50ff5ad3c25fb9904f65315a156568cf4318344922268bdb3057ae2dd9

Binary file not shown.

Binary file not shown.

Binary file not shown.