Compare commits

..

7 Commits

Author SHA1 Message Date
5ae889e50e trew 2025-05-07 13:07:54 +03:00
4525c223d9 qwe 2025-05-07 13:05:20 +03:00
345818f056 done selecting multiple date for presence 2024-12-26 13:10:54 +03:00
ffb9d2134f done with part of the presence 2024-12-26 11:03:24 +03:00
eadf72b512 now changing screens work 2024-12-23 14:56:27 +03:00
38cf16c345 creating presence, not working transition to presence 2024-12-22 15:37:22 +03:00
0d902b6f48 done with group 2024-12-21 14:14:33 +03:00
164 changed files with 720 additions and 362 deletions

13
.idea/.idea.presence/.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/projectSettingsUpdater.xml
/.idea.presence.iml
/modules.xml
/contentModel.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AvaloniaProject">
<option name="projectPerEditor">
<map>
<entry key="Presence.Desktop/Views/GroupView.axaml" value="Presence.Desktop/Presence.Desktop.csproj" />
<entry key="Presence.Desktop/Views/MainWindow.axaml" value="Presence.Desktop/Presence.Desktop.csproj" />
<entry key="Presence.Desktop/Views/PresenceView.axaml" value="Presence.Desktop/Presence.Desktop.csproj" />
</map>
</option>
</component>
</project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -6,5 +6,6 @@
<Application.Styles> <Application.Styles>
<FluentTheme /> <FluentTheme />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"/>
</Application.Styles> </Application.Styles>
</Application> </Application>

View File

@ -7,6 +7,7 @@ using presence.data.RemoteData.RemoteDataBase;
using presence.data.Repository; using presence.data.Repository;
using presence.domain.UseCase; using presence.domain.UseCase;
using Presence.Desktop.ViewModels; using Presence.Desktop.ViewModels;
using ReactiveUI;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -21,9 +22,17 @@ namespace Presence.Desktop.DI
public static void AddCommonService(this IServiceCollection collection) { public static void AddCommonService(this IServiceCollection collection) {
collection collection
.AddDbContext<RemoteDataBaseContext>() .AddDbContext<RemoteDataBaseContext>()
.AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>() .AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>()
.AddSingleton<IUserRepository, SQLUserRepositoryImpl>()
.AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>()
.AddSingleton<PresenceUseCase>()
.AddSingleton<UserUseCase>()
.AddTransient<GroupUseCase>()
.AddTransient<IGroupUseCase, GroupService>() .AddTransient<IGroupUseCase, GroupService>()
.AddTransient<GroupViewModel>(); .AddTransient<GroupViewModel>()
.AddTransient<PresenceViewModel>();
;
} }
} }
} }

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Presence.Desktop.Models
{
public class PresencePresenter
{
public int Id { get; set; }
public DateOnly Date { get; set; }
public int ClassNumber { get; set; }
public bool IsAttendence { get; set; }
public UserPresenter? User { get; set; }
}
}

View File

@ -11,5 +11,6 @@ namespace Presence.Desktop.Models
public int Id{ get; set; } public int Id{ get; set; }
public string Name { get; set; } public string Name { get; set; }
public GroupPresenter Group { get; set; } public GroupPresenter Group { get; set; }
public PresencePresenter Presence { get; set; }
} }
} }

View File

@ -15,6 +15,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Avalonia" Version="11.2.1" /> <PackageReference Include="Avalonia" Version="11.2.1" />
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.2.1" />
<PackageReference Include="Avalonia.Desktop" Version="11.2.1" /> <PackageReference Include="Avalonia.Desktop" Version="11.2.1" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.1" /> <PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.1" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.1" /> <PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.1" />

View File

@ -10,12 +10,21 @@ using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Input; using System.Windows.Input;
using Tmds.DBus.Protocol; using Avalonia.Controls.Selection;
using presence.data.RemoteData.RemoteDataBase;
using presence.data.Repository;
using presence.domain.UseCase;
using System.Reactive;
using Splat;
namespace Presence.Desktop.ViewModels namespace Presence.Desktop.ViewModels
{ {
public class GroupViewModel : ViewModelBase, IRoutableViewModel public class GroupViewModel : ViewModelBase, IRoutableViewModel
{ {
public string? UrlPathSegment { get; }
public IScreen HostScreen { get; }
private readonly PresenceUseCase _presenceUseCase;
public ICommand OpenFileDialog { get; } public ICommand OpenFileDialog { get; }
public Interaction<string?, string?> SelectFileInteraction => _SelectFileInteraction; public Interaction<string?, string?> SelectFileInteraction => _SelectFileInteraction;
public readonly Interaction<string?, string?> _SelectFileInteraction; public readonly Interaction<string?, string?> _SelectFileInteraction;
@ -34,6 +43,10 @@ namespace Presence.Desktop.ViewModels
get => _selectedGroupItem; get => _selectedGroupItem;
set => this.RaiseAndSetIfChanged(ref _selectedGroupItem, value); } set => this.RaiseAndSetIfChanged(ref _selectedGroupItem, value); }
private bool _MultipleSelected = false;
public bool MultipleSelected { get => _MultipleSelected; set => this.RaiseAndSetIfChanged(ref _MultipleSelected, value); }
public SelectionModel<UserPresenter> Selection { get; }
private GroupPresenter? _selectedGroupItem; private GroupPresenter? _selectedGroupItem;
@ -41,29 +54,21 @@ namespace Presence.Desktop.ViewModels
private IGroupUseCase _groupUseCase; private IGroupUseCase _groupUseCase;
public ObservableCollection<UserPresenter> Users { get => _users;} public ObservableCollection<UserPresenter> Users { get => _users;}
public ObservableCollection<UserPresenter> _users; public ObservableCollection<UserPresenter> _users;
public GroupViewModel(IGroupUseCase groupUseCase) public ICommand RemoveUserCommand { get; }
{ public ICommand RemoveAllSelectedCommand { get; }
foreach (var item in groupUseCase.GetGroupsWithStudents()) public ReactiveCommand<Unit, Unit> NavigateToPresenceCommand { get; }
{
GroupPresenter groupPresenter = new GroupPresenter
{
Id = item.Id,
Name = item.Name,
Users = item.User?.Select(user => new UserPresenter
{
Name = user.FIO,
Id = user.Id,
Group = new GroupPresenter { Id = item.Id, Name = item.Name }
}
).ToList()
};
_groupPresentersDataSource.Add(groupPresenter);
}
_groups = new ObservableCollection<GroupPresenter>(_groupPresentersDataSource);
public GroupViewModel(IGroupUseCase groupUseCase, PresenceUseCase presenceUseCase, IScreen? screen = null)
{
HostScreen = screen ?? Locator.Current.GetService<IScreen>()!;
_groupUseCase = groupUseCase; _groupUseCase = groupUseCase;
_presenceUseCase = presenceUseCase;
_SelectFileInteraction = new Interaction<string?, string?>(); _SelectFileInteraction = new Interaction<string?, string?>();
OpenFileDialog = ReactiveCommand.CreateFromTask(SelectFile); OpenFileDialog = ReactiveCommand.CreateFromTask(SelectFile);
_groups = new ObservableCollection<GroupPresenter>(_groupPresentersDataSource);
_users = new ObservableCollection<UserPresenter>(); _users = new ObservableCollection<UserPresenter>();
RefreshGroups(); RefreshGroups();
@ -73,6 +78,13 @@ namespace Presence.Desktop.ViewModels
RefreshGroups(); RefreshGroups();
SetUsers(); SetUsers();
}); });
Selection = new SelectionModel<UserPresenter>();
Selection.SingleSelect = false;
Selection.SelectionChanged += SelectionChanged;
RemoveUserCommand = ReactiveCommand.Create<UserPresenter>(RemoveUser);
RemoveAllSelectedCommand = ReactiveCommand.Create(RemoveAllSelected);
NavigateToPresenceCommand = ReactiveCommand.Create(NavigateToPresence);
} }
private void SetUsers() private void SetUsers()
@ -88,7 +100,6 @@ namespace Presence.Desktop.ViewModels
} }
} }
private void RefreshGroups() private void RefreshGroups()
{ {
_groupPresentersDataSource.Clear(); _groupPresentersDataSource.Clear();
@ -110,13 +121,50 @@ namespace Presence.Desktop.ViewModels
} }
_groups = new ObservableCollection<GroupPresenter>(_groupPresentersDataSource); _groups = new ObservableCollection<GroupPresenter>(_groupPresentersDataSource);
} }
public string? UrlPathSegment { get; }
public IScreen HostScreen { get; } void SelectionChanged(object sender, SelectionModelSelectionChangedEventArgs e)
{
MultipleSelected = Selection.SelectedItems.Count > 1;
}
private async Task SelectFile() private async Task SelectFile()
{ {
Console.WriteLine("clock"); Console.WriteLine("clock");
SelectedFile = await _SelectFileInteraction.Handle("Chose csv file"); SelectedFile = await _SelectFileInteraction.Handle("Chose csv file");
} }
private void RemoveUser(UserPresenter user)
{
if (user == null || SelectedGroupItem == null) return;
_groupUseCase.RemoveUserFromGroup(user.Id);
RefreshGroups();
SetUsers();
}
private void RemoveAllSelected()
{
if (SelectedGroupItem == null) return;
var selectedUsers = Selection.SelectedItems.ToList();
foreach (var user in selectedUsers)
{
_groupUseCase.RemoveUserFromGroup(user.Id);
}
RefreshGroups();
SetUsers();
}
private void NavigateToPresence()
{
var groupRepository = new SQLGroupRepositoryImpl(new RemoteDataBaseContext());
var groupUseCase = new GroupUseCase(groupRepository);
// Добавляем логику навигации к PresenceViewModel
var presenceViewModel = new PresenceViewModel(groupUseCase, _presenceUseCase);
HostScreen.Router.Navigate.Execute(presenceViewModel);
}
} }
} }

View File

@ -2,7 +2,10 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using domain.UseCase;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using presence.data.RemoteData.RemoteDataBase;
using presence.domain.UseCase;
using ReactiveUI; using ReactiveUI;
namespace Presence.Desktop.ViewModels namespace Presence.Desktop.ViewModels
@ -13,8 +16,10 @@ namespace Presence.Desktop.ViewModels
public MainWindowViewModel(IServiceProvider serviceProvider) public MainWindowViewModel(IServiceProvider serviceProvider)
{ {
var groupViewModel = serviceProvider.GetRequiredService<GroupViewModel>(); var iGroupUseCase = serviceProvider.GetRequiredService<IGroupUseCase>();
Router.Navigate.Execute(groupViewModel); var presenceUseCase = serviceProvider.GetRequiredService<PresenceUseCase>();
Router.Navigate.Execute(new GroupViewModel(iGroupUseCase, presenceUseCase, this));
} }
} }
} }

View File

@ -1,13 +1,139 @@
using ReactiveUI; using Avalonia.Data.Converters;
using presence.data.RemoteData.RemoteDataBase.DAO;
using presence.domain.Models;
using presence.domain.UseCase;
using Presence.Desktop.Models;
using Presence.Desktop.ViewModels;
using ReactiveUI;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Linq;
using System.Reactive;
namespace Presence.Desktop.ViewModels; namespace Presence.Desktop.ViewModels
public class PresenceViewModel: ViewModelBase, IRoutableViewModel
{ {
public string? UrlPathSegment { get; } public class PresenceViewModel : ViewModelBase, IRoutableViewModel
{
public string? UrlPathSegment { get; } = "Presence";
public IScreen HostScreen { get; } public IScreen HostScreen { get; }
private readonly GroupUseCase _groupUseCase;
private readonly PresenceUseCase _presenceUseCase;
public ObservableCollection<PresencePresenter> AttendanceRecords { get; set; } = new();
public ObservableCollection<GroupPresenter> Groups { get; set; } = new();
private ObservableCollection<PresencePresenter> _selectedItems = new();
public ObservableCollection<PresencePresenter> SelectedItems
{
get => _selectedItems;
set => this.RaiseAndSetIfChanged(ref _selectedItems, value);
}
private GroupPresenter? _selectedGroup;
public GroupPresenter? SelectedGroup
{
get => _selectedGroup;
set
{
this.RaiseAndSetIfChanged(ref _selectedGroup, value);
FilterAttendanceRecords();
}
}
private List<DateTime?> _selectedDate = new List<DateTime?>();
public List<DateTime?> SelectedDate
{
get => _selectedDate;
set
{
this.RaiseAndSetIfChanged(ref _selectedDate, value);
FilterAttendanceRecords();
}
}
public ReactiveCommand<Unit, Unit> NavigateBackCommand { get; }
public ReactiveCommand<Unit, Unit> DeleteSelectedPresenceCommand { get; }
public PresenceViewModel(GroupUseCase groupUseCase, PresenceUseCase presenceUseCase)
{
_groupUseCase = groupUseCase;
_presenceUseCase = presenceUseCase;
NavigateBackCommand = ReactiveCommand.Create(() => { });
DeleteSelectedPresenceCommand = ReactiveCommand.Create(DeleteSelectedItems);
LoadGroups();
}
private void LoadGroups()
{
Groups.Clear();
var groups = _groupUseCase.GetAllGroups();
foreach (var group in groups)
{
Groups.Add(new GroupPresenter
{
Id = group.Id,
Name = group.Name
});
}
}
public void FilterAttendanceRecords()
{
if (SelectedGroup == null || SelectedDate == null)
{
AttendanceRecords.Clear();
return;
}
AttendanceRecords.Clear();
foreach (var selDate in SelectedDate)
{
var records = _presenceUseCase.GetPresenceByGroupAndDate(
SelectedGroup.Id,
DateOnly.FromDateTime(selDate.Value));
foreach (var record in records)
{
AttendanceRecords.Add(new PresencePresenter
{
Id = record.Id,
Date = record.Date,
ClassNumber = record.ClassNumber,
IsAttendence = record.IsAttendence,
User = new UserPresenter
{
Id = record.User.Id,
Name = record.User.FIO
}
});
}
}
// Логирование для отладки
// Console.WriteLine($"Загружено записей посещаемости: {AttendanceRecords.Count}");
}
private void DeleteSelectedItems()
{
if (SelectedItems.Any())
{
foreach (var item in SelectedItems.ToList())
{
_presenceUseCase.DeletePresenceByClassNumberAndDateAndUserId(item.ClassNumber, item.Date, item.User.Id); // Удаляем из базы данных
AttendanceRecords.Remove(item); // Удаляем из коллекции
}
}
}
}
} }

View File

@ -12,14 +12,22 @@
</Design.DataContext> </Design.DataContext>
<DockPanel Background="Azure"> <DockPanel Background="Azure">
<StackPanel DockPanel.Dock="Bottom"> <StackPanel DockPanel.Dock="Bottom">
<TextBlock Text="List ↑" HorizontalAlignment="Center"/> <TextBlock Text="{Binding Users.Count, StringFormat='Количество студентов: {0}'}"
HorizontalAlignment="Left"
Margin="10,10,0,0"
Foreground="Black"
IsVisible="{Binding SelectedGroupItem, Converter={x:Static ObjectConverters.IsNotNull}}"/>
<Button Content="Перейти к посещаемости"
Command="{Binding NavigateToPresenceCommand}"
HorizontalAlignment="Right"
Margin="0,10,0,0"
Foreground="Black"/>
</StackPanel> </StackPanel>
<StackPanel <StackPanel
Spacing="10" Spacing="10"
HorizontalAlignment="Center" HorizontalAlignment="Center"
DockPanel.Dock="Top" DockPanel.Dock="Top"
Orientation="Horizontal"> Orientation="Horizontal">
<TextBlock Text="Combobox ->"/>
<ComboBox ItemsSource="{Binding Groups}" SelectedValue="{Binding SelectedGroupItem}"> <ComboBox ItemsSource="{Binding Groups}" SelectedValue="{Binding SelectedGroupItem}">
<ComboBox.ItemTemplate> <ComboBox.ItemTemplate>
<DataTemplate> <DataTemplate>
@ -27,11 +35,25 @@
</DataTemplate> </DataTemplate>
</ComboBox.ItemTemplate> </ComboBox.ItemTemplate>
</ComboBox> </ComboBox>
<Button Width="100" Command="{Binding OpenFileDialog}"/> <Button Command="{Binding OpenFileDialog}" Content="Добавить посещаемость(НЕ РАБОТАЕТ)"/>
<ComboBox/>
</StackPanel> </StackPanel>
<Border> <Border>
<ListBox Background="Bisque" ItemsSource="{Binding Users}"> <ListBox SelectionMode="Multiple" Selection="{Binding Selection}" Background="Bisque" ItemsSource="{Binding Users}">
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem
IsVisible="{Binding !MultipleSelected}"
Header="Remove"
Command="{Binding RemoveUserCommand}"
CommandParameter="{Binding Selection.SelectedItem}"
Foreground="Black"/>
<MenuItem
IsVisible="{Binding MultipleSelected}"
Header="RemoveAll"
Command="{Binding RemoveAllSelectedCommand}"
Foreground="Black"/>
</ContextMenu>
</ListBox.ContextMenu>
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">

View File

@ -1,5 +1,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
using Avalonia.Platform.Storage;
using Avalonia.ReactiveUI; using Avalonia.ReactiveUI;
using Presence.Desktop.ViewModels; using Presence.Desktop.ViewModels;
using ReactiveUI; using ReactiveUI;
@ -10,8 +14,33 @@ namespace Presence.Desktop.Views
{ {
public GroupView() public GroupView()
{ {
this.WhenActivated(disposables => { }); this.WhenActivated(action =>
{
action(ViewModel!.SelectFileInteraction.RegisterHandler(ShowFileDialog));
});
AvaloniaXamlLoader.Load(this); AvaloniaXamlLoader.Load(this);
} }
private async Task ShowFileDialog(IInteractionContext<string?, string?> context)
{
var topLevel = TopLevel.GetTopLevel(this);
var storageFile = await topLevel.StorageProvider.OpenFilePickerAsync(
new FilePickerOpenOptions()
{
AllowMultiple = false,
Title = context.Input
}
);
if (storageFile.Count > 0)
{
context.SetOutput(storageFile.First().Path.ToString());
}
else
{
// Обработка случая, когда выбор файла отменен
// Например, можно вывести сообщение или просто ничего не делать
}
}
} }
} }

View File

@ -2,7 +2,40 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:Presence.Desktop.ViewModels"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Presence.Desktop.Views.PresenceView"> x:Class="Presence.Desktop.Views.PresenceView"
Welcome to Avalonia! x:DataType="vm:PresenceViewModel">
<DockPanel Margin="10" Background="Aquamarine">
<StackPanel Orientation="Horizontal" Spacing="10" DockPanel.Dock="Top">
<!-- Выбор группы -->
<ComboBox ItemsSource="{Binding Groups}" SelectedItem="{Binding SelectedGroup}" Width="200" PlaceholderText="Выберите группу">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<!-- Календарь -->
<Calendar SelectionMode="SingleRange" SelectedDatesChanged="DatesChanged"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="10">
<!-- Таблица с посещаемостью -->
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding AttendanceRecords}" CanUserSortColumns="True"
SelectionChanged="OnDataGridSelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="Дата" Binding="{Binding Date}"/>
<DataGridTextColumn Header="Номер урока" Binding="{Binding ClassNumber}" />
<DataGridTextColumn Header="ФИО" Binding="{Binding User.Name}" />
<DataGridCheckBoxColumn Header="Тип посещаемости" Binding="{Binding IsAttendence, Mode=TwoWay}" />
</DataGrid.Columns>
</DataGrid>
<Button Content="Удалить" Margin="0,10,0,0" Command="{Binding DeleteSelectedPresenceCommand}" />
</StackPanel>
</DockPanel>
</UserControl> </UserControl>

View File

@ -1,7 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Avalonia; using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
using Avalonia.ReactiveUI; using Avalonia.ReactiveUI;
using Presence.Desktop.Models;
using Presence.Desktop.ViewModels; using Presence.Desktop.ViewModels;
using ReactiveUI; using ReactiveUI;
@ -13,4 +17,35 @@ public partial class PresenceView : ReactiveUserControl<PresenceViewModel>
{ {
this.WhenActivated(disposables => { }); this.WhenActivated(disposables => { });
AvaloniaXamlLoader.Load(this); } AvaloniaXamlLoader.Load(this); }
private void OnDataGridSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (this.DataContext is PresenceViewModel viewModel)
{
// Обновляем выделенные элементы в ViewModel
viewModel.SelectedItems.Clear();
foreach (var item in e.AddedItems.OfType<PresencePresenter>())
{
viewModel.SelectedItems.Add(item);
}
}
}
private void DatesChanged(object sender, SelectionChangedEventArgs e)
{
Calendar cal = (Calendar)sender;
if (this.DataContext is PresenceViewModel viewModel)
{
if (viewModel.SelectedDate == null)
{
viewModel.SelectedDate = new List<DateTime?>();
}
viewModel.SelectedDate.Clear();
foreach (var date in cal.SelectedDates)
{
viewModel.SelectedDate.Add(date);
viewModel.FilterAttendanceRecords();
}
}
}
} }

View File

@ -9,6 +9,7 @@
"Presence.Desktop/1.0.0": { "Presence.Desktop/1.0.0": {
"dependencies": { "dependencies": {
"Avalonia": "11.2.1", "Avalonia": "11.2.1",
"Avalonia.Controls.DataGrid": "11.2.1",
"Avalonia.Desktop": "11.2.1", "Avalonia.Desktop": "11.2.1",
"Avalonia.Diagnostics": "11.2.1", "Avalonia.Diagnostics": "11.2.1",
"Avalonia.Fonts.Inter": "11.2.1", "Avalonia.Fonts.Inter": "11.2.1",

View File

@ -1 +1 @@
8ff83d2bcb3cec6472dc66a2a69c5cfafb8cbd5996d3bbe796f44278fe829520 11fbb816d6b31294ee85a9f2e0eefc52478650400b1be6acb0f15a6289bbc592

View File

@ -28,7 +28,7 @@
/home/gara/.nuget/packages/dynamicdata/8.4.1/lib/net8.0/DynamicData.dll /home/gara/.nuget/packages/dynamicdata/8.4.1/lib/net8.0/DynamicData.dll
/home/gara/.nuget/packages/harfbuzzsharp/7.3.0.2/lib/net6.0/HarfBuzzSharp.dll /home/gara/.nuget/packages/harfbuzzsharp/7.3.0.2/lib/net6.0/HarfBuzzSharp.dll
/home/gara/.nuget/packages/microcom.runtime/0.11.0/lib/net5.0/MicroCom.Runtime.dll /home/gara/.nuget/packages/microcom.runtime/0.11.0/lib/net5.0/MicroCom.Runtime.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/Microsoft.CSharp.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/Microsoft.CSharp.dll
/home/gara/.nuget/packages/microsoft.entityframeworkcore.abstractions/8.0.10/lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll /home/gara/.nuget/packages/microsoft.entityframeworkcore.abstractions/8.0.10/lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll
/home/gara/.nuget/packages/microsoft.entityframeworkcore/8.0.10/lib/net8.0/Microsoft.EntityFrameworkCore.dll /home/gara/.nuget/packages/microsoft.entityframeworkcore/8.0.10/lib/net8.0/Microsoft.EntityFrameworkCore.dll
/home/gara/.nuget/packages/microsoft.entityframeworkcore.relational/8.0.10/lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll /home/gara/.nuget/packages/microsoft.entityframeworkcore.relational/8.0.10/lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll
@ -41,173 +41,173 @@
/home/gara/.nuget/packages/microsoft.extensions.logging/8.0.1/lib/net8.0/Microsoft.Extensions.Logging.dll /home/gara/.nuget/packages/microsoft.extensions.logging/8.0.1/lib/net8.0/Microsoft.Extensions.Logging.dll
/home/gara/.nuget/packages/microsoft.extensions.options/8.0.2/lib/net8.0/Microsoft.Extensions.Options.dll /home/gara/.nuget/packages/microsoft.extensions.options/8.0.2/lib/net8.0/Microsoft.Extensions.Options.dll
/home/gara/.nuget/packages/microsoft.extensions.primitives/8.0.0/lib/net8.0/Microsoft.Extensions.Primitives.dll /home/gara/.nuget/packages/microsoft.extensions.primitives/8.0.0/lib/net8.0/Microsoft.Extensions.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/Microsoft.VisualBasic.Core.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/Microsoft.VisualBasic.Core.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/Microsoft.VisualBasic.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/Microsoft.VisualBasic.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/Microsoft.Win32.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/Microsoft.Win32.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/Microsoft.Win32.Registry.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/Microsoft.Win32.Registry.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/mscorlib.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/mscorlib.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/netstandard.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/netstandard.dll
/home/gara/.nuget/packages/npgsql/8.0.5/lib/net8.0/Npgsql.dll /home/gara/.nuget/packages/npgsql/8.0.5/lib/net8.0/Npgsql.dll
/home/gara/.nuget/packages/npgsql.entityframeworkcore.postgresql/8.0.10/lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll /home/gara/.nuget/packages/npgsql.entityframeworkcore.postgresql/8.0.10/lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll
/home/gara/.nuget/packages/reactiveui/20.1.1/lib/net8.0/ReactiveUI.dll /home/gara/.nuget/packages/reactiveui/20.1.1/lib/net8.0/ReactiveUI.dll
/home/gara/.nuget/packages/skiasharp/2.88.8/lib/net6.0/SkiaSharp.dll /home/gara/.nuget/packages/skiasharp/2.88.8/lib/net6.0/SkiaSharp.dll
/home/gara/.nuget/packages/splat/15.1.1/lib/net8.0/Splat.dll /home/gara/.nuget/packages/splat/15.1.1/lib/net8.0/Splat.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.AppContext.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.AppContext.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Buffers.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Buffers.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Collections.Concurrent.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Collections.Concurrent.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Collections.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Collections.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Collections.Immutable.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Collections.Immutable.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Collections.NonGeneric.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Collections.NonGeneric.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Collections.Specialized.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Collections.Specialized.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ComponentModel.Annotations.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ComponentModel.Annotations.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ComponentModel.DataAnnotations.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ComponentModel.DataAnnotations.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ComponentModel.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ComponentModel.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ComponentModel.EventBasedAsync.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ComponentModel.EventBasedAsync.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ComponentModel.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ComponentModel.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ComponentModel.TypeConverter.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ComponentModel.TypeConverter.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Configuration.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Configuration.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Console.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Console.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Core.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Core.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Data.Common.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Data.Common.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Data.DataSetExtensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Data.DataSetExtensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Data.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Data.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.Contracts.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.Contracts.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.Debug.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.Debug.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.DiagnosticSource.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.DiagnosticSource.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.FileVersionInfo.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.FileVersionInfo.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.Process.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.Process.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.StackTrace.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.StackTrace.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.Tools.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.Tools.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.TraceSource.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.TraceSource.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Diagnostics.Tracing.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Diagnostics.Tracing.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Drawing.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Drawing.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Drawing.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Drawing.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Dynamic.Runtime.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Dynamic.Runtime.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Formats.Asn1.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Formats.Asn1.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Formats.Tar.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Formats.Tar.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Globalization.Calendars.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Globalization.Calendars.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Globalization.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Globalization.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Globalization.Extensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Globalization.Extensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.Compression.Brotli.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.Compression.Brotli.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.Compression.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.Compression.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.Compression.FileSystem.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.Compression.FileSystem.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.Compression.ZipFile.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.Compression.ZipFile.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.FileSystem.AccessControl.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.FileSystem.AccessControl.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.FileSystem.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.FileSystem.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.FileSystem.DriveInfo.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.FileSystem.DriveInfo.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.FileSystem.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.FileSystem.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.FileSystem.Watcher.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.FileSystem.Watcher.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.IsolatedStorage.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.IsolatedStorage.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.MemoryMappedFiles.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.MemoryMappedFiles.dll
/home/gara/.nuget/packages/system.io.pipelines/8.0.0/lib/net8.0/System.IO.Pipelines.dll /home/gara/.nuget/packages/system.io.pipelines/8.0.0/lib/net8.0/System.IO.Pipelines.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.Pipes.AccessControl.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.Pipes.AccessControl.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.Pipes.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.Pipes.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.IO.UnmanagedMemoryStream.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.IO.UnmanagedMemoryStream.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Linq.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Linq.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Linq.Expressions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Linq.Expressions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Linq.Parallel.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Linq.Parallel.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Linq.Queryable.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Linq.Queryable.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Memory.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Memory.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Http.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Http.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Http.Json.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Http.Json.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.HttpListener.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.HttpListener.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Mail.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Mail.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.NameResolution.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.NameResolution.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.NetworkInformation.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.NetworkInformation.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Ping.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Ping.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Quic.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Quic.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Requests.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Requests.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Security.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Security.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.ServicePoint.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.ServicePoint.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.Sockets.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.Sockets.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.WebClient.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.WebClient.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.WebHeaderCollection.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.WebHeaderCollection.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.WebProxy.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.WebProxy.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.WebSockets.Client.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.WebSockets.Client.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Net.WebSockets.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Net.WebSockets.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Numerics.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Numerics.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Numerics.Vectors.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Numerics.Vectors.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ObjectModel.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ObjectModel.dll
/home/gara/.nuget/packages/system.reactive/6.0.1/lib/net6.0/System.Reactive.dll /home/gara/.nuget/packages/system.reactive/6.0.1/lib/net6.0/System.Reactive.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.DispatchProxy.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.DispatchProxy.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.Emit.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.Emit.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.Emit.ILGeneration.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.Emit.ILGeneration.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.Emit.Lightweight.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.Emit.Lightweight.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.Extensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.Extensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.Metadata.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.Metadata.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Reflection.TypeExtensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Reflection.TypeExtensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Resources.Reader.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Resources.Reader.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Resources.ResourceManager.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Resources.ResourceManager.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Resources.Writer.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Resources.Writer.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Extensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Extensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Handles.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Handles.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.InteropServices.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.InteropServices.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Intrinsics.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Intrinsics.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Loader.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Loader.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Numerics.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Numerics.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Serialization.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Serialization.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Serialization.Formatters.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Serialization.Formatters.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Serialization.Json.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Serialization.Json.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Serialization.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Serialization.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Runtime.Serialization.Xml.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Runtime.Serialization.Xml.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.AccessControl.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.AccessControl.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Claims.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Claims.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.Algorithms.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.Algorithms.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.Cng.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.Cng.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.Csp.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.Csp.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.Encoding.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.Encoding.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.OpenSsl.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.OpenSsl.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.Primitives.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.Primitives.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Cryptography.X509Certificates.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Cryptography.X509Certificates.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Principal.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Principal.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.Principal.Windows.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.Principal.Windows.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Security.SecureString.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Security.SecureString.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ServiceModel.Web.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ServiceModel.Web.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ServiceProcess.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ServiceProcess.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Text.Encoding.CodePages.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Text.Encoding.CodePages.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Text.Encoding.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Text.Encoding.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Text.Encoding.Extensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Text.Encoding.Extensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Text.Encodings.Web.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Text.Encodings.Web.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Text.Json.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Text.Json.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Text.RegularExpressions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Text.RegularExpressions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Channels.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Channels.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Overlapped.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Overlapped.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Tasks.Dataflow.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Tasks.Dataflow.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Tasks.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Tasks.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Tasks.Extensions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Tasks.Extensions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Tasks.Parallel.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Tasks.Parallel.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Thread.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Thread.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.ThreadPool.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.ThreadPool.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Threading.Timer.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Threading.Timer.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Transactions.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Transactions.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Transactions.Local.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Transactions.Local.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.ValueTuple.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.ValueTuple.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Web.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Web.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Web.HttpUtility.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Web.HttpUtility.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Windows.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Windows.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.Linq.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.Linq.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.ReaderWriter.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.ReaderWriter.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.Serialization.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.Serialization.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.XDocument.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.XDocument.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.XmlDocument.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.XmlDocument.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.XmlSerializer.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.XmlSerializer.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.XPath.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.XPath.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/System.Xml.XPath.XDocument.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/System.Xml.XPath.XDocument.dll
/home/gara/.nuget/packages/tmds.dbus.protocol/0.20.0/lib/net8.0/Tmds.DBus.Protocol.dll /home/gara/.nuget/packages/tmds.dbus.protocol/0.20.0/lib/net8.0/Tmds.DBus.Protocol.dll
/usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.11/ref/net8.0/WindowsBase.dll /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.14/ref/net8.0/WindowsBase.dll

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Presence.Desktop")] [assembly: System.Reflection.AssemblyCompanyAttribute("Presence.Desktop")]
[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+b8bf4628cce91d7266a54ce8ba848e91ee1b2569")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4525c223d929d63b11ed635f1769fad5f8f7401e")]
[assembly: System.Reflection.AssemblyProductAttribute("Presence.Desktop")] [assembly: System.Reflection.AssemblyProductAttribute("Presence.Desktop")]
[assembly: System.Reflection.AssemblyTitleAttribute("Presence.Desktop")] [assembly: System.Reflection.AssemblyTitleAttribute("Presence.Desktop")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
4d609c065396d07151140e18cdb037e59080c5cb8458e11bf60ac5453325e867 8bedaaacbb611478d4b0b5a215af61875404a62c187a9e8f347b5345f14fda4c

View File

@ -1 +1 @@
e68626bd1a98dbdea1f40f374f2417a325447b8270eac3ee295a31c6c470b799 0810b8a838805985c45ac6e69d62d85096213c0ea96eaf4e1b457c64e593601f

View File

@ -51,6 +51,10 @@
"target": "Package", "target": "Package",
"version": "[11.2.1, )" "version": "[11.2.1, )"
}, },
"Avalonia.Controls.DataGrid": {
"target": "Package",
"version": "[11.2.1, )"
},
"Avalonia.Desktop": { "Avalonia.Desktop": {
"target": "Package", "target": "Package",
"version": "[11.2.1, )" "version": "[11.2.1, )"
@ -88,7 +92,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
}, },
@ -162,7 +166,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
}, },
@ -224,7 +228,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
} }

View File

@ -7,7 +7,7 @@
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/gara/.nuget/packages/</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/gara/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/gara/.nuget/packages/</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/gara/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/gara/.nuget/packages/" /> <SourceRoot Include="/home/gara/.nuget/packages/" />

View File

@ -2473,6 +2473,7 @@
"projectFileDependencyGroups": { "projectFileDependencyGroups": {
"net8.0": [ "net8.0": [
"Avalonia >= 11.2.1", "Avalonia >= 11.2.1",
"Avalonia.Controls.DataGrid >= 11.2.1",
"Avalonia.Desktop >= 11.2.1", "Avalonia.Desktop >= 11.2.1",
"Avalonia.Diagnostics >= 11.2.1", "Avalonia.Diagnostics >= 11.2.1",
"Avalonia.Fonts.Inter >= 11.2.1", "Avalonia.Fonts.Inter >= 11.2.1",
@ -2531,6 +2532,10 @@
"target": "Package", "target": "Package",
"version": "[11.2.1, )" "version": "[11.2.1, )"
}, },
"Avalonia.Controls.DataGrid": {
"target": "Package",
"version": "[11.2.1, )"
},
"Avalonia.Desktop": { "Avalonia.Desktop": {
"target": "Package", "target": "Package",
"version": "[11.2.1, )" "version": "[11.2.1, )"
@ -2568,7 +2573,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "yZq6gfkM/18=", "dgSpecHash": "JcvvyHrAkrk=",
"success": true, "success": true,
"projectFilePath": "/home/gara/csharp/BIGPROGECT/presence/Presence.Desktop/Presence.Desktop.csproj", "projectFilePath": "/home/gara/csharp/BIGPROGECT/presence/Presence.Desktop/Presence.Desktop.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/gara/csharp/BIGPROGECT/presence/Presence.Desktop/Presence.Desktop.csproj","projectName":"Presence.Desktop","projectPath":"/home/gara/csharp/BIGPROGECT/presence/Presence.Desktop/Presence.Desktop.csproj","outputPath":"/home/gara/csharp/BIGPROGECT/presence/Presence.Desktop/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{"/home/gara/csharp/BIGPROGECT/presence/domain/domain.csproj":{"projectPath":"/home/gara/csharp/BIGPROGECT/presence/domain/domain.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"Avalonia":{"target":"Package","version":"[11.2.1, )"},"Avalonia.Controls.DataGrid":{"target":"Package","version":"[11.2.1, )"},"Avalonia.Desktop":{"target":"Package","version":"[11.2.1, )"},"Avalonia.Diagnostics":{"target":"Package","version":"[11.2.1, )"},"Avalonia.Fonts.Inter":{"target":"Package","version":"[11.2.1, )"},"Avalonia.ReactiveUI":{"target":"Package","version":"[11.2.1, )"},"Avalonia.Themes.Fluent":{"target":"Package","version":"[11.2.1, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17452191188007595

View File

@ -0,0 +1 @@
17452191188007595

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("console_ui")] [assembly: System.Reflection.AssemblyCompanyAttribute("console_ui")]
[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+b8bf4628cce91d7266a54ce8ba848e91ee1b2569")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4525c223d929d63b11ed635f1769fad5f8f7401e")]
[assembly: System.Reflection.AssemblyProductAttribute("console_ui")] [assembly: System.Reflection.AssemblyProductAttribute("console_ui")]
[assembly: System.Reflection.AssemblyTitleAttribute("console_ui")] [assembly: System.Reflection.AssemblyTitleAttribute("console_ui")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
4bf58799393b54975cb249992c3335b53b5b1f8b9b387253b9f72465f1e756e4 2fa1f0e18627cd0217c94bb84d10fd9f75c7756137db5c4d83ff74afe047def1

View File

@ -1 +1 @@
5392e6cca2f4bb70846c34e815580ab6e813974fbb206d0d84d7e0bc5ca2b740 8d5a8ed60d01d4aa9ff3e71d41845c6c8dc81ca3980a309a29b96a6d4fcac639

View File

@ -74,7 +74,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
}, },
@ -148,7 +148,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
}, },
@ -210,7 +210,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
}, },
@ -278,7 +278,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
} }

View File

@ -7,7 +7,7 @@
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/gara/.nuget/packages/</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/gara/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/gara/.nuget/packages/</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/gara/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/gara/.nuget/packages/" /> <SourceRoot Include="/home/gara/.nuget/packages/" />

View File

@ -1130,16 +1130,8 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
},
"logs": [
{
"code": "NU1900",
"level": "Warning",
"warningLevel": 1,
"message": "Error occurred while getting package vulnerability data: Unable to load the service index for source https://api.nuget.org/v3/index.json."
} }
]
} }

View File

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "SQ8tAKy3OoE=", "dgSpecHash": "D1f0c8i5DHE=",
"success": true, "success": true,
"projectFilePath": "/home/gara/csharp/BIGPROGECT/presence/console_ui/console_ui.csproj", "projectFilePath": "/home/gara/csharp/BIGPROGECT/presence/console_ui/console_ui.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@ -28,12 +28,5 @@
"/home/gara/.nuget/packages/sixlabors.fonts/1.0.0/sixlabors.fonts.1.0.0.nupkg.sha512", "/home/gara/.nuget/packages/sixlabors.fonts/1.0.0/sixlabors.fonts.1.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.io.packaging/8.0.0/system.io.packaging.8.0.0.nupkg.sha512" "/home/gara/.nuget/packages/system.io.packaging/8.0.0/system.io.packaging.8.0.0.nupkg.sha512"
], ],
"logs": [ "logs": []
{
"code": "NU1900",
"level": "Warning",
"warningLevel": 1,
"message": "Error occurred while getting package vulnerability data: Unable to load the service index for source https://api.nuget.org/v3/index.json."
}
]
} }

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/gara/csharp/BIGPROGECT/presence/console_ui/console_ui.csproj","projectName":"console_ui","projectPath":"/home/gara/csharp/BIGPROGECT/presence/console_ui/console_ui.csproj","outputPath":"/home/gara/csharp/BIGPROGECT/presence/console_ui/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{"/home/gara/csharp/BIGPROGECT/presence/data/data.csproj":{"projectPath":"/home/gara/csharp/BIGPROGECT/presence/data/data.csproj"},"/home/gara/csharp/BIGPROGECT/presence/domain/domain.csproj":{"projectPath":"/home/gara/csharp/BIGPROGECT/presence/domain/domain.csproj"},"/home/gara/csharp/BIGPROGECT/presence/ui/ui.csproj":{"projectPath":"/home/gara/csharp/BIGPROGECT/presence/ui/ui.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"Microsoft.Extensions.DependencyInjection":{"target":"Package","version":"[8.0.1, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17452191187167612

View File

@ -0,0 +1 @@
17452191187167612

View File

@ -17,6 +17,9 @@ namespace presence.data.Repository
bool DeletePresenceByGroup(int groupId); bool DeletePresenceByGroup(int groupId);
bool DeletePresenceByUser(int userId); bool DeletePresenceByUser(int userId);
bool DeletePresenceByDate(DateOnly startData, DateOnly endData); bool DeletePresenceByDate(DateOnly startData, DateOnly endData);
bool DeletePresenceByClassNumberAndDateAndUserId(int classNumber, DateOnly date, int userId);
void UpdateAttendance(PresenceDao presence);
} }

View File

@ -121,5 +121,28 @@ namespace presence.data.Repository
return false; return false;
} }
public bool DeletePresenceByClassNumberAndDateAndUserId(int classNumber, DateOnly date, int userId)
{
var PresenceToDelete = _remoteDatabaseContext.Presences.FirstOrDefault(x => x.Date == date && x.ClassNumber == classNumber && x.UserId == userId);
_remoteDatabaseContext.Presences.Remove(PresenceToDelete);
_remoteDatabaseContext.SaveChanges();
return true;
}
public void UpdateAttendance(PresenceDao presence)
{
if (presence == null) throw new ArgumentNullException(nameof(presence));
var nowPresence = _remoteDatabaseContext.Presences.FirstOrDefault(p => p.PresenceId == presence.PresenceId);
if (nowPresence == null)
throw new ArgumentNullException(nameof(presence));
nowPresence.IsAttendence = presence.IsAttendence;
_remoteDatabaseContext.SaveChanges();
}
} }
} }

Binary file not shown.

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("data")] [assembly: System.Reflection.AssemblyCompanyAttribute("data")]
[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+b8bf4628cce91d7266a54ce8ba848e91ee1b2569")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4525c223d929d63b11ed635f1769fad5f8f7401e")]
[assembly: System.Reflection.AssemblyProductAttribute("data")] [assembly: System.Reflection.AssemblyProductAttribute("data")]
[assembly: System.Reflection.AssemblyTitleAttribute("data")] [assembly: System.Reflection.AssemblyTitleAttribute("data")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
a83c002440d4fc833844f0ad9fb2316eca5384ff634b577accf58e96b177ac86 1c4a4eaf088090c88e09a749e920a178e5c47260a47918aedb409d877fc6cafb

View File

@ -1 +1 @@
ed423dbbb70d54abc3f17cab0182331466b8c742e1ddb70f2b3459d3600be9ee 94f8f604db68dc660aa1f32880cdf30afb27a139df64254311eaf25ea6ab016d

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -74,7 +74,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
} }

View File

@ -7,7 +7,7 @@
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/gara/.nuget/packages/</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/gara/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/gara/.nuget/packages/</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/gara/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/gara/.nuget/packages/" /> <SourceRoot Include="/home/gara/.nuget/packages/" />

View File

@ -2182,16 +2182,8 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.404/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"
} }
} }
},
"logs": [
{
"code": "NU1900",
"level": "Warning",
"warningLevel": 1,
"message": "Error occurred while getting package vulnerability data: Unable to load the service index for source https://api.nuget.org/v3/index.json."
} }
]
} }

View File

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "KP70yVpteEI=", "dgSpecHash": "yakStMm0sCQ=",
"success": true, "success": true,
"projectFilePath": "/home/gara/csharp/BIGPROGECT/presence/data/data.csproj", "projectFilePath": "/home/gara/csharp/BIGPROGECT/presence/data/data.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@ -43,12 +43,5 @@
"/home/gara/.nuget/packages/system.text.encoding.codepages/6.0.0/system.text.encoding.codepages.6.0.0.nupkg.sha512", "/home/gara/.nuget/packages/system.text.encoding.codepages/6.0.0/system.text.encoding.codepages.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.threading.channels/6.0.0/system.threading.channels.6.0.0.nupkg.sha512" "/home/gara/.nuget/packages/system.threading.channels/6.0.0/system.threading.channels.6.0.0.nupkg.sha512"
], ],
"logs": [ "logs": []
{
"code": "NU1900",
"level": "Warning",
"warningLevel": 1,
"message": "Error occurred while getting package vulnerability data: Unable to load the service index for source https://api.nuget.org/v3/index.json."
}
]
} }

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/gara/csharp/BIGPROGECT/presence/data/data.csproj","projectName":"data","projectPath":"/home/gara/csharp/BIGPROGECT/presence/data/data.csproj","outputPath":"/home/gara/csharp/BIGPROGECT/presence/data/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"Microsoft.EntityFrameworkCore":{"target":"Package","version":"[8.0.10, )"},"Microsoft.EntityFrameworkCore.Design":{"include":"Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive","suppressParent":"All","target":"Package","version":"[8.0.10, )"},"Npgsql.EntityFrameworkCore.PostgreSQL":{"target":"Package","version":"[8.0.10, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/share/dotnet/sdk/8.0.407/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17452191188087594

View File

@ -0,0 +1 @@
17452191188087594

View File

@ -7,6 +7,7 @@ using System.Threading.Tasks;
namespace presence.domain.Models namespace presence.domain.Models
{ {
public class Presence{ public class Presence{
public int Id { get; set;}
public required DateOnly Date {get; set;} public required DateOnly Date {get; set;}
public int ClassNumber {get; set;} public int ClassNumber {get; set;}
public bool IsAttendence {get; set;} public bool IsAttendence {get; set;}

View File

@ -16,17 +16,17 @@ namespace domain.Service
public class GroupService : IGroupUseCase public class GroupService : IGroupUseCase
{ {
private readonly IGroupRepository _groupRepository; private readonly IGroupRepository _groupRepository;
public GroupService(IGroupRepository groupRepository) private readonly IUserRepository _userRepository;
public GroupService(IGroupRepository groupRepository, IUserRepository userRepository)
{ {
_groupRepository = groupRepository; _groupRepository = groupRepository;
_userRepository = userRepository;
} }
public void AddGroup(AddGroupRequest addGroupRequest) public void AddGroup(AddGroupRequest addGroupRequest)
{ {
_groupRepository.AddGroup(new GroupDao { Name = addGroupRequest.Name }); _groupRepository.AddGroup(new GroupDao { Name = addGroupRequest.Name });
} }
public void AddGroupWithStudents(AddGroupWithStudentRequest addGroupWithStudents) public void AddGroupWithStudents(AddGroupWithStudentRequest addGroupWithStudents)
{ {
GroupDao groupDAO = new GroupDao { Name = addGroupWithStudents.addGroupRequest.Name }; GroupDao groupDAO = new GroupDao { Name = addGroupWithStudents.addGroupRequest.Name };
@ -80,5 +80,10 @@ namespace domain.Service
}).ToList() : new List<UserResponse>() }).ToList() : new List<UserResponse>()
}).ToList(); }).ToList();
} }
public void RemoveUserFromGroup(int UserId)
{
_userRepository.RemoveUserById(UserId);
}
} }
} }

View File

@ -30,13 +30,5 @@ namespace presence.domain.UseCase
{ {
return _repositoryGroupImpl.AddGroup(new GroupDao { Name = name, Id = id }); return _repositoryGroupImpl.AddGroup(new GroupDao { Name = name, Id = id });
} }
// public List<GroupResponse> getAllGroup()
// {
// return _repositoryGroupImpl.GetAllGroup()
// .Select(it => new GroupResponse { Id = it.Id, Name = it.Name }).ToList();
// }
} }
} }

View File

@ -14,6 +14,7 @@ namespace domain.UseCase
public IEnumerable<GroupResponse> GetGroupsWithStudents(); public IEnumerable<GroupResponse> GetGroupsWithStudents();
public void AddGroup(AddGroupRequest addGroupRequest); public void AddGroup(AddGroupRequest addGroupRequest);
public void AddGroupWithStudents(AddGroupWithStudentRequest addGroupWithStudents); public void AddGroupWithStudents(AddGroupWithStudentRequest addGroupWithStudents);
void RemoveUserFromGroup(int UserId);
} }
} }

View File

@ -229,5 +229,15 @@ namespace presence.domain.UseCase
{ {
return _presenceRepository.DeletePresenceByDate(startData, endData); return _presenceRepository.DeletePresenceByDate(startData, endData);
} }
public bool DeletePresenceByClassNumberAndDateAndUserId(int ClassNumber, DateOnly date, int userId)
{
return _presenceRepository.DeletePresenceByClassNumberAndDateAndUserId(ClassNumber, date, userId);
}
public void UpdateAttendance(PresenceDao presence)
{
_presenceRepository.UpdateAttendance(presence);
}
} }
} }

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More