From e6111032d11159191fa28a51e55ccf243bf281e7 Mon Sep 17 00:00:00 2001 From: Class_Student Date: Mon, 11 Nov 2024 12:07:11 +0300 Subject: [PATCH] init commit --- console_ui/Program.cs | 31 + console_ui/console_ui.csproj | 20 + ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 + .../Debug/net8.0/console_ui.AssemblyInfo.cs | 23 + .../console_ui.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 13 + .../Debug/net8.0/console_ui.GlobalUsings.g.cs | 8 + .../obj/Debug/net8.0/console_ui.assets.cache | Bin 0 -> 14748 bytes .../console_ui.csproj.AssemblyReference.cache | Bin 0 -> 13547 bytes .../obj/console_ui.csproj.nuget.dgspec.json | 310 +++ .../obj/console_ui.csproj.nuget.g.props | 19 + .../obj/console_ui.csproj.nuget.g.targets | 7 + console_ui/obj/project.assets.json | 1144 +++++++++ console_ui/obj/project.nuget.cache | 32 + data/Exceptions/GroupNotFoundException.cs | 10 + data/Exceptions/RepositoryException.cs | 9 + data/Exceptions/UserNotFoundException.cs | 10 + data/LocalData/Entity/Group.cs | 15 + data/LocalData/Entity/Presence.cs | 19 + data/LocalData/Entity/User.cs | 25 + data/LocalData/LocalStaticData.cs | 36 + data/RemoteData/RemoteDataBase/DAO/Excel.cs | 19 + data/RemoteData/RemoteDataBase/DAO/Group.cs | 15 + .../RemoteData/RemoteDataBase/DAO/Presence.cs | 19 + data/RemoteData/RemoteDataBase/DAO/User.cs | 19 + .../RemoteDataBase/DAO/UserAttendance.cs | 15 + .../RemoteDataBase/RemoteDatabaseContext.cs | 43 + data/Repository/GroupRepositoryImpl.cs | 53 + data/Repository/IGroupRepository.cs | 20 + data/Repository/IPresenceRepository.cs | 21 + data/Repository/IUserRepository.cs | 19 + data/Repository/PresenceRepositoryImpl.cs | 62 + data/Repository/SQLGroupRepositoryImpl.cs | 69 + data/Repository/SQLPresenceRepositoryImpl.cs | 219 ++ data/Repository/SQLUserRepositoryImpl.cs | 71 + data/Repository/UserRepositoryImpl.cs | 53 + data/data.csproj | 18 + ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 + data/obj/Debug/net8.0/data.AssemblyInfo.cs | 23 + .../net8.0/data.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 13 + data/obj/Debug/net8.0/data.GlobalUsings.g.cs | 8 + data/obj/Debug/net8.0/data.assets.cache | Bin 0 -> 37208 bytes .../data.csproj.AssemblyReference.cache | Bin 0 -> 9396 bytes data/obj/data.csproj.nuget.dgspec.json | 88 + data/obj/data.csproj.nuget.g.props | 23 + data/obj/data.csproj.nuget.g.targets | 7 + data/obj/project.assets.json | 2196 +++++++++++++++++ data/obj/project.nuget.cache | 47 + domain/Models/Group.cs | 14 + domain/Models/Presence.cs | 19 + domain/Models/User.cs | 15 + domain/UseCase/GroupUseCase.cs | 107 + domain/UseCase/UseCaseGeneratePresence.cs | 175 ++ domain/UseCase/UserUseCase.cs | 111 + domain/domain.csproj | 17 + ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 + .../obj/Debug/net8.0/domain.AssemblyInfo.cs | 23 + .../net8.0/domain.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 13 + .../obj/Debug/net8.0/domain.GlobalUsings.g.cs | 8 + domain/obj/Debug/net8.0/domain.assets.cache | Bin 0 -> 14690 bytes .../domain.csproj.AssemblyReference.cache | Bin 0 -> 13547 bytes domain/obj/domain.csproj.nuget.dgspec.json | 162 ++ domain/obj/domain.csproj.nuget.g.props | 19 + domain/obj/domain.csproj.nuget.g.targets | 7 + domain/obj/project.assets.json | 1099 +++++++++ domain/obj/project.nuget.cache | 32 + presence.sln | 40 + ui/GroupConsole.cs | 97 + ui/MainMenu.cs | 229 ++ ui/PresenceConsole.cs | 210 ++ ui/UserConsole.cs | 98 + ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 + ui/obj/Debug/net8.0/ui.AssemblyInfo.cs | 23 + .../Debug/net8.0/ui.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 13 + ui/obj/Debug/net8.0/ui.GlobalUsings.g.cs | 8 + ui/obj/Debug/net8.0/ui.assets.cache | Bin 0 -> 14558 bytes .../net8.0/ui.csproj.AssemblyReference.cache | Bin 0 -> 13547 bytes ui/obj/project.assets.json | 1111 +++++++++ ui/obj/project.nuget.cache | 32 + ui/obj/ui.csproj.nuget.dgspec.json | 230 ++ ui/obj/ui.csproj.nuget.g.props | 19 + ui/obj/ui.csproj.nuget.g.targets | 7 + ui/ui.csproj | 13 + 86 files changed, 8842 insertions(+) create mode 100644 console_ui/Program.cs create mode 100644 console_ui/console_ui.csproj create mode 100644 console_ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs create mode 100644 console_ui/obj/Debug/net8.0/console_ui.AssemblyInfo.cs create mode 100644 console_ui/obj/Debug/net8.0/console_ui.AssemblyInfoInputs.cache create mode 100644 console_ui/obj/Debug/net8.0/console_ui.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 console_ui/obj/Debug/net8.0/console_ui.GlobalUsings.g.cs create mode 100644 console_ui/obj/Debug/net8.0/console_ui.assets.cache create mode 100644 console_ui/obj/Debug/net8.0/console_ui.csproj.AssemblyReference.cache create mode 100644 console_ui/obj/console_ui.csproj.nuget.dgspec.json create mode 100644 console_ui/obj/console_ui.csproj.nuget.g.props create mode 100644 console_ui/obj/console_ui.csproj.nuget.g.targets create mode 100644 console_ui/obj/project.assets.json create mode 100644 console_ui/obj/project.nuget.cache create mode 100644 data/Exceptions/GroupNotFoundException.cs create mode 100644 data/Exceptions/RepositoryException.cs create mode 100644 data/Exceptions/UserNotFoundException.cs create mode 100644 data/LocalData/Entity/Group.cs create mode 100644 data/LocalData/Entity/Presence.cs create mode 100644 data/LocalData/Entity/User.cs create mode 100644 data/LocalData/LocalStaticData.cs create mode 100644 data/RemoteData/RemoteDataBase/DAO/Excel.cs create mode 100644 data/RemoteData/RemoteDataBase/DAO/Group.cs create mode 100644 data/RemoteData/RemoteDataBase/DAO/Presence.cs create mode 100644 data/RemoteData/RemoteDataBase/DAO/User.cs create mode 100644 data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs create mode 100644 data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs create mode 100644 data/Repository/GroupRepositoryImpl.cs create mode 100644 data/Repository/IGroupRepository.cs create mode 100644 data/Repository/IPresenceRepository.cs create mode 100644 data/Repository/IUserRepository.cs create mode 100644 data/Repository/PresenceRepositoryImpl.cs create mode 100644 data/Repository/SQLGroupRepositoryImpl.cs create mode 100644 data/Repository/SQLPresenceRepositoryImpl.cs create mode 100644 data/Repository/SQLUserRepositoryImpl.cs create mode 100644 data/Repository/UserRepositoryImpl.cs create mode 100644 data/data.csproj create mode 100644 data/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs create mode 100644 data/obj/Debug/net8.0/data.AssemblyInfo.cs create mode 100644 data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache create mode 100644 data/obj/Debug/net8.0/data.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 data/obj/Debug/net8.0/data.GlobalUsings.g.cs create mode 100644 data/obj/Debug/net8.0/data.assets.cache create mode 100644 data/obj/Debug/net8.0/data.csproj.AssemblyReference.cache create mode 100644 data/obj/data.csproj.nuget.dgspec.json create mode 100644 data/obj/data.csproj.nuget.g.props create mode 100644 data/obj/data.csproj.nuget.g.targets create mode 100644 data/obj/project.assets.json create mode 100644 data/obj/project.nuget.cache create mode 100644 domain/Models/Group.cs create mode 100644 domain/Models/Presence.cs create mode 100644 domain/Models/User.cs create mode 100644 domain/UseCase/GroupUseCase.cs create mode 100644 domain/UseCase/UseCaseGeneratePresence.cs create mode 100644 domain/UseCase/UserUseCase.cs create mode 100644 domain/domain.csproj create mode 100644 domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs create mode 100644 domain/obj/Debug/net8.0/domain.AssemblyInfo.cs create mode 100644 domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache create mode 100644 domain/obj/Debug/net8.0/domain.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 domain/obj/Debug/net8.0/domain.GlobalUsings.g.cs create mode 100644 domain/obj/Debug/net8.0/domain.assets.cache create mode 100644 domain/obj/Debug/net8.0/domain.csproj.AssemblyReference.cache create mode 100644 domain/obj/domain.csproj.nuget.dgspec.json create mode 100644 domain/obj/domain.csproj.nuget.g.props create mode 100644 domain/obj/domain.csproj.nuget.g.targets create mode 100644 domain/obj/project.assets.json create mode 100644 domain/obj/project.nuget.cache create mode 100644 presence.sln create mode 100644 ui/GroupConsole.cs create mode 100644 ui/MainMenu.cs create mode 100644 ui/PresenceConsole.cs create mode 100644 ui/UserConsole.cs create mode 100644 ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs create mode 100644 ui/obj/Debug/net8.0/ui.AssemblyInfo.cs create mode 100644 ui/obj/Debug/net8.0/ui.AssemblyInfoInputs.cache create mode 100644 ui/obj/Debug/net8.0/ui.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 ui/obj/Debug/net8.0/ui.GlobalUsings.g.cs create mode 100644 ui/obj/Debug/net8.0/ui.assets.cache create mode 100644 ui/obj/Debug/net8.0/ui.csproj.AssemblyReference.cache create mode 100644 ui/obj/project.assets.json create mode 100644 ui/obj/project.nuget.cache create mode 100644 ui/obj/ui.csproj.nuget.dgspec.json create mode 100644 ui/obj/ui.csproj.nuget.g.props create mode 100644 ui/obj/ui.csproj.nuget.g.targets create mode 100644 ui/ui.csproj diff --git a/console_ui/Program.cs b/console_ui/Program.cs new file mode 100644 index 0000000..1d02d22 --- /dev/null +++ b/console_ui/Program.cs @@ -0,0 +1,31 @@ +using data.RemoteData.RemoteDataBase; +using data.Repository; +using domain.UseCase; +using ui; +using Microsoft.Extensions.DependencyInjection; + +// Создаем экземпляр репозиториев + +IServiceCollection services = new ServiceCollection(); + +services + .AddDbContext() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton(); + + + + +var serviceProvider = services.BuildServiceProvider(); +// Создаем пользовательский интерфейс +MainMenuUI mainMenuUI = serviceProvider.GetService(); + +// Выводим главное меню +mainMenuUI.DisplayMenu(); \ No newline at end of file diff --git a/console_ui/console_ui.csproj b/console_ui/console_ui.csproj new file mode 100644 index 0000000..883c822 --- /dev/null +++ b/console_ui/console_ui.csproj @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + Exe + net8.0 + enable + enable + + + diff --git a/console_ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/console_ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/console_ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/console_ui/obj/Debug/net8.0/console_ui.AssemblyInfo.cs b/console_ui/obj/Debug/net8.0/console_ui.AssemblyInfo.cs new file mode 100644 index 0000000..ac8a828 --- /dev/null +++ b/console_ui/obj/Debug/net8.0/console_ui.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("console_ui")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("console_ui")] +[assembly: System.Reflection.AssemblyTitleAttribute("console_ui")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/console_ui/obj/Debug/net8.0/console_ui.AssemblyInfoInputs.cache b/console_ui/obj/Debug/net8.0/console_ui.AssemblyInfoInputs.cache new file mode 100644 index 0000000..62e776c --- /dev/null +++ b/console_ui/obj/Debug/net8.0/console_ui.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +ba882f03fdfa9546ef7659464bc47e4a0ca2d53498595f377280140f0c41eed4 diff --git a/console_ui/obj/Debug/net8.0/console_ui.GeneratedMSBuildEditorConfig.editorconfig b/console_ui/obj/Debug/net8.0/console_ui.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..29a1ff8 --- /dev/null +++ b/console_ui/obj/Debug/net8.0/console_ui.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = console_ui +build_property.ProjectDir = C:\Users\class_student\source\repos\presence\console_ui\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/console_ui/obj/Debug/net8.0/console_ui.GlobalUsings.g.cs b/console_ui/obj/Debug/net8.0/console_ui.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/console_ui/obj/Debug/net8.0/console_ui.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/console_ui/obj/Debug/net8.0/console_ui.assets.cache b/console_ui/obj/Debug/net8.0/console_ui.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..397db2b1fbfe72fbe3e7c5c444c32e9efc9e8bbc GIT binary patch literal 14748 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 + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\class_student\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.9.2 + + + + + + + + + \ No newline at end of file diff --git a/console_ui/obj/console_ui.csproj.nuget.g.targets b/console_ui/obj/console_ui.csproj.nuget.g.targets new file mode 100644 index 0000000..baac958 --- /dev/null +++ b/console_ui/obj/console_ui.csproj.nuget.g.targets @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/console_ui/obj/project.assets.json b/console_ui/obj/project.assets.json new file mode 100644 index 0000000..c31d889 --- /dev/null +++ b/console_ui/obj/project.assets.json @@ -0,0 +1,1144 @@ +{ + "version": 3, + "targets": { + "net8.0": { + "ClosedXML/0.104.1": { + "type": "package", + "dependencies": { + "ClosedXML.Parser": "[1.2.0, 2.0.0)", + "DocumentFormat.OpenXml": "[3.0.1, 4.0.0)", + "ExcelNumberFormat": "1.1.0", + "RBush": "3.2.0", + "SixLabors.Fonts": "1.0.0", + "System.IO.Packaging": "8.0.0" + }, + "compile": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + } + }, + "ClosedXML.Parser/1.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml/3.0.1": { + "type": "package", + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.0.1" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "type": "package", + "dependencies": { + "System.IO.Packaging": "8.0.0" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + } + }, + "ExcelNumberFormat/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Npgsql/8.0.5": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "compile": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + } + }, + "RBush/3.2.0": { + "type": "package", + "compile": { + "lib/net6.0/RBush.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/RBush.dll": { + "related": ".xml" + } + } + }, + "SixLabors.Fonts/1.0.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + } + }, + "System.IO.Packaging/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "data/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v8.0", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, + "compile": { + "bin/placeholder/data.dll": {} + }, + "runtime": { + "bin/placeholder/data.dll": {} + } + }, + "domain/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v8.0", + "dependencies": { + "ClosedXML": "0.104.1", + "data": "1.0.0" + }, + "compile": { + "bin/placeholder/domain.dll": {} + }, + "runtime": { + "bin/placeholder/domain.dll": {} + } + }, + "ui/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v8.0", + "dependencies": { + "domain": "1.0.0" + }, + "compile": { + "bin/placeholder/ui.dll": {} + }, + "runtime": { + "bin/placeholder/ui.dll": {} + } + } + } + }, + "libraries": { + "ClosedXML/0.104.1": { + "sha512": "RVm2fUNWJlBJlg07shrfeWzrHPG5ypI/vARqdUOUbUdaog8yBw8l4IbCHf2MXt0AXtzaZqGNqhFaCAHigCBdfw==", + "type": "package", + "path": "closedxml/0.104.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "closedxml.0.104.1.nupkg.sha512", + "closedxml.nuspec", + "lib/netstandard2.0/ClosedXML.dll", + "lib/netstandard2.0/ClosedXML.pdb", + "lib/netstandard2.0/ClosedXML.xml", + "lib/netstandard2.1/ClosedXML.dll", + "lib/netstandard2.1/ClosedXML.pdb", + "lib/netstandard2.1/ClosedXML.xml", + "nuget-logo.png" + ] + }, + "ClosedXML.Parser/1.2.0": { + "sha512": "w+/0tsxABS3lkSH8EUlA7IGme+mq5T/Puf3DbOiTckmSuUpAUO2LK29oXYByCcWkBv6wcRHxgWlQb1lxkwI0Tw==", + "type": "package", + "path": "closedxml.parser/1.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "closedxml.parser.1.2.0.nupkg.sha512", + "closedxml.parser.nuspec", + "lib/netstandard2.0/ClosedXML.Parser.dll", + "lib/netstandard2.0/ClosedXML.Parser.xml", + "lib/netstandard2.1/ClosedXML.Parser.dll", + "lib/netstandard2.1/ClosedXML.Parser.xml" + ] + }, + "DocumentFormat.OpenXml/3.0.1": { + "sha512": "DCK1cwFUJ1FGGyYyo++HWl9H1RkqMWIu+FGOLRy6E4L4y0/HIhlJ7N/n1HKboFfOwKn1cMBRxt1RCuDbIEy5YQ==", + "type": "package", + "path": "documentformat.openxml/3.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "documentformat.openxml.3.0.1.nupkg.sha512", + "documentformat.openxml.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.dll", + "lib/net35/DocumentFormat.OpenXml.xml", + "lib/net40/DocumentFormat.OpenXml.dll", + "lib/net40/DocumentFormat.OpenXml.xml", + "lib/net46/DocumentFormat.OpenXml.dll", + "lib/net46/DocumentFormat.OpenXml.xml", + "lib/net8.0/DocumentFormat.OpenXml.dll", + "lib/net8.0/DocumentFormat.OpenXml.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.xml" + ] + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "sha512": "ifyI7OW7sggz7LQMIAD2aUsY/zVUON9QaHrpZ4MK33iVMeHlTG4uhUE2aLWb31nry+LCs2ALDAwf8OfUJGjgBg==", + "type": "package", + "path": "documentformat.openxml.framework/3.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "documentformat.openxml.framework.3.0.1.nupkg.sha512", + "documentformat.openxml.framework.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.Framework.dll", + "lib/net35/DocumentFormat.OpenXml.Framework.xml", + "lib/net40/DocumentFormat.OpenXml.Framework.dll", + "lib/net40/DocumentFormat.OpenXml.Framework.xml", + "lib/net46/DocumentFormat.OpenXml.Framework.dll", + "lib/net46/DocumentFormat.OpenXml.Framework.xml", + "lib/net6.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net6.0/DocumentFormat.OpenXml.Framework.xml", + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net8.0/DocumentFormat.OpenXml.Framework.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.xml" + ] + }, + "ExcelNumberFormat/1.1.0": { + "sha512": "R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==", + "type": "package", + "path": "excelnumberformat/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "excelnumberformat.1.1.0.nupkg.sha512", + "excelnumberformat.nuspec", + "icon.png", + "lib/net20/ExcelNumberFormat.dll", + "lib/net20/ExcelNumberFormat.xml", + "lib/netstandard1.0/ExcelNumberFormat.dll", + "lib/netstandard1.0/ExcelNumberFormat.xml", + "lib/netstandard2.0/ExcelNumberFormat.dll", + "lib/netstandard2.0/ExcelNumberFormat.xml" + ] + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "sha512": "PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "type": "package", + "path": "microsoft.entityframeworkcore/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props", + "lib/net8.0/Microsoft.EntityFrameworkCore.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "sha512": "FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "sha512": "51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "docs/PACKAGE.md", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "sha512": "OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "sha512": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "sha512": "HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "type": "package", + "path": "microsoft.extensions.caching.memory/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", + "lib/net462/Microsoft.Extensions.Caching.Memory.dll", + "lib/net462/Microsoft.Extensions.Caching.Memory.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "sha512": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/8.0.1": { + "sha512": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "type": "package", + "path": "microsoft.extensions.logging/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Logging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", + "lib/net462/Microsoft.Extensions.Logging.dll", + "lib/net462/Microsoft.Extensions.Logging.xml", + "lib/net6.0/Microsoft.Extensions.Logging.dll", + "lib/net6.0/Microsoft.Extensions.Logging.xml", + "lib/net7.0/Microsoft.Extensions.Logging.dll", + "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net8.0/Microsoft.Extensions.Logging.dll", + "lib/net8.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.8.0.1.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "sha512": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/8.0.2": { + "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "type": "package", + "path": "microsoft.extensions.options/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net462/Microsoft.Extensions.Options.xml", + "lib/net6.0/Microsoft.Extensions.Options.dll", + "lib/net6.0/Microsoft.Extensions.Options.xml", + "lib/net7.0/Microsoft.Extensions.Options.dll", + "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.8.0.2.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "type": "package", + "path": "microsoft.extensions.primitives/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net462/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/net7.0/Microsoft.Extensions.Primitives.dll", + "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Npgsql/8.0.5": { + "sha512": "zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "type": "package", + "path": "npgsql/8.0.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net6.0/Npgsql.dll", + "lib/net6.0/Npgsql.xml", + "lib/net7.0/Npgsql.dll", + "lib/net7.0/Npgsql.xml", + "lib/net8.0/Npgsql.dll", + "lib/net8.0/Npgsql.xml", + "lib/netstandard2.0/Npgsql.dll", + "lib/netstandard2.0/Npgsql.xml", + "lib/netstandard2.1/Npgsql.dll", + "lib/netstandard2.1/Npgsql.xml", + "npgsql.8.0.5.nupkg.sha512", + "npgsql.nuspec", + "postgresql.png" + ] + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "sha512": "gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "type": "package", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.xml", + "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "npgsql.entityframeworkcore.postgresql.nuspec", + "postgresql.png" + ] + }, + "RBush/3.2.0": { + "sha512": "ijGh9N0zZ7JfXk3oQkWCwK8SwSSByexbyh/MjbCjNxOft9eG5ZqKC1vdgiYq78h4IZRFmN4s3JZ/b10Jipud5w==", + "type": "package", + "path": "rbush/3.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/RBush.dll", + "lib/net6.0/RBush.xml", + "lib/netcoreapp3.1/RBush.dll", + "lib/netcoreapp3.1/RBush.xml", + "lib/netstandard1.2/RBush.dll", + "lib/netstandard1.2/RBush.xml", + "rbush.3.2.0.nupkg.sha512", + "rbush.nuspec", + "readme.md" + ] + }, + "SixLabors.Fonts/1.0.0": { + "sha512": "LFQsCZlV0xlUyXAOMUo5kkSl+8zAQXXbbdwWchtk0B4o7zotZhQsQOcJUELGHdfPfm/xDAsz6hONAuV25bJaAg==", + "type": "package", + "path": "sixlabors.fonts/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp3.1/SixLabors.Fonts.dll", + "lib/netcoreapp3.1/SixLabors.Fonts.xml", + "lib/netstandard2.0/SixLabors.Fonts.dll", + "lib/netstandard2.0/SixLabors.Fonts.xml", + "lib/netstandard2.1/SixLabors.Fonts.dll", + "lib/netstandard2.1/SixLabors.Fonts.xml", + "sixlabors.fonts.1.0.0.nupkg.sha512", + "sixlabors.fonts.128.png", + "sixlabors.fonts.nuspec" + ] + }, + "System.IO.Packaging/8.0.0": { + "sha512": "8g1V4YRpdGAxFcK8v9OjuMdIOJSpF30Zb1JGicwVZhly3I994WFyBdV6mQEo8d3T+URQe55/M0U0eIH0Hts1bg==", + "type": "package", + "path": "system.io.packaging/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.IO.Packaging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.IO.Packaging.targets", + "lib/net462/System.IO.Packaging.dll", + "lib/net462/System.IO.Packaging.xml", + "lib/net6.0/System.IO.Packaging.dll", + "lib/net6.0/System.IO.Packaging.xml", + "lib/net7.0/System.IO.Packaging.dll", + "lib/net7.0/System.IO.Packaging.xml", + "lib/net8.0/System.IO.Packaging.dll", + "lib/net8.0/System.IO.Packaging.xml", + "lib/netstandard2.0/System.IO.Packaging.dll", + "lib/netstandard2.0/System.IO.Packaging.xml", + "system.io.packaging.8.0.0.nupkg.sha512", + "system.io.packaging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "data/1.0.0": { + "type": "project", + "path": "../data/data.csproj", + "msbuildProject": "../data/data.csproj" + }, + "domain/1.0.0": { + "type": "project", + "path": "../domain/domain.csproj", + "msbuildProject": "../domain/domain.csproj" + }, + "ui/1.0.0": { + "type": "project", + "path": "../ui/ui.csproj", + "msbuildProject": "../ui/ui.csproj" + } + }, + "projectFileDependencyGroups": { + "net8.0": [ + "Microsoft.Extensions.DependencyInjection >= 8.0.1", + "data >= 1.0.0", + "domain >= 1.0.0", + "ui >= 1.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\class_student\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\console_ui\\console_ui.csproj", + "projectName": "console_ui", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\console_ui\\console_ui.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\console_ui\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": { + "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj" + }, + "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj" + }, + "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\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": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/console_ui/obj/project.nuget.cache b/console_ui/obj/project.nuget.cache new file mode 100644 index 0000000..1db4945 --- /dev/null +++ b/console_ui/obj/project.nuget.cache @@ -0,0 +1,32 @@ +{ + "version": 2, + "dgSpecHash": "E1s2H8T8vOF8/RmQcwMKqWYSz4jZg9lB0dshd1kgyFkjOIdZxs1AH482+/GwmYcJnZVYfh9yNQ9egqvgSbtP2Q==", + "success": true, + "projectFilePath": "C:\\Users\\class_student\\source\\repos\\presence\\console_ui\\console_ui.csproj", + "expectedPackageFiles": [ + "C:\\Users\\class_student\\.nuget\\packages\\closedxml\\0.104.1\\closedxml.0.104.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\documentformat.openxml\\3.0.1\\documentformat.openxml.3.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\documentformat.openxml.framework\\3.0.1\\documentformat.openxml.framework.3.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\rbush\\3.2.0\\rbush.3.2.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.io.packaging\\8.0.0\\system.io.packaging.8.0.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/data/Exceptions/GroupNotFoundException.cs b/data/Exceptions/GroupNotFoundException.cs new file mode 100644 index 0000000..20583bf --- /dev/null +++ b/data/Exceptions/GroupNotFoundException.cs @@ -0,0 +1,10 @@ +using System; + +namespace Dataceptions +{ + public class GroupNotFoundException : RepositoryException + { + public GroupNotFoundException(int groupId) + : base($"Группа с ID {groupId} не найдена.") { } + } +} \ No newline at end of file diff --git a/data/Exceptions/RepositoryException.cs b/data/Exceptions/RepositoryException.cs new file mode 100644 index 0000000..5bb1803 --- /dev/null +++ b/data/Exceptions/RepositoryException.cs @@ -0,0 +1,9 @@ +using System; + +namespace Dataceptions +{ + public class RepositoryException : Exception + { + public RepositoryException(string message) : base(message) { } + } +} \ No newline at end of file diff --git a/data/Exceptions/UserNotFoundException.cs b/data/Exceptions/UserNotFoundException.cs new file mode 100644 index 0000000..686cb94 --- /dev/null +++ b/data/Exceptions/UserNotFoundException.cs @@ -0,0 +1,10 @@ +using System; + +namespace Dataceptions +{ + public class UserNotFoundException : RepositoryException + { + public UserNotFoundException(Guid userGuid) + : base($"Пользователь с GUID {userGuid} не найден.") { } + } +} \ No newline at end of file diff --git a/data/LocalData/Entity/Group.cs b/data/LocalData/Entity/Group.cs new file mode 100644 index 0000000..a6d1f5a --- /dev/null +++ b/data/LocalData/Entity/Group.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.Models +{ + public class GroupLocalEntity + { + public required int Id { get; set; } + public required string Name { get; set; } + + } +} diff --git a/data/LocalData/Entity/Presence.cs b/data/LocalData/Entity/Presence.cs new file mode 100644 index 0000000..34d734f --- /dev/null +++ b/data/LocalData/Entity/Presence.cs @@ -0,0 +1,19 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.Models +{ + public class PresenceLocalEntity + { + public Guid UserGuid { get; set; } // Замените int на Guid + public int GroupId { get; set; } + public int LessonNumber { get; set; } + public DateTime Date { get; set; } + public bool IsAttedance { get; set; } + } + +} \ No newline at end of file diff --git a/data/LocalData/Entity/User.cs b/data/LocalData/Entity/User.cs new file mode 100644 index 0000000..fcd2fb1 --- /dev/null +++ b/data/LocalData/Entity/User.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.Models +{ + public class UserLocalEnity : IEquatable + { + + public required string FIO { get; set; } + public Guid Guid { get; set; } + + public required int GroupID { get; set; } + + + + public bool Equals(UserLocalEnity? other) + { + if (other == null) return false; + return this.Guid.Equals(other.Guid); + } + } +} diff --git a/data/LocalData/LocalStaticData.cs b/data/LocalData/LocalStaticData.cs new file mode 100644 index 0000000..d257752 --- /dev/null +++ b/data/LocalData/LocalStaticData.cs @@ -0,0 +1,36 @@ +using domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading.Tasks; + +namespace data.LocalData +{ + public static class LocalStaticData + { + public static List groups => new List + + { + new GroupLocalEntity{ Id = 1, Name = "ИП1-21" }, + new GroupLocalEntity{ Id = 2, Name = "ИП1-22" }, + new GroupLocalEntity{ Id = 3, Name = "ИП1-23" }, + }; + + public static List users => new List + { + new UserLocalEnity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupID = 1 }, + new UserLocalEnity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 }, + new UserLocalEnity{Guid=Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "RandomFio2", GroupID = 3 }, + new UserLocalEnity{Guid=Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "RandomFio3", GroupID = 1 }, + new UserLocalEnity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupID = 2 }, + new UserLocalEnity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupID = 3 }, + }; + + public static List presences => new List + { + + }; + } +} diff --git a/data/RemoteData/RemoteDataBase/DAO/Excel.cs b/data/RemoteData/RemoteDataBase/DAO/Excel.cs new file mode 100644 index 0000000..9f44137 --- /dev/null +++ b/data/RemoteData/RemoteDataBase/DAO/Excel.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace data.RemoteData.RemoteDataBase.DAO +{ + public class Excel + { + public Guid UserGuid { get; set; } + public string UserName { get; set; } + public string FullName { get; set; } + public DateOnly Date { get; set; } + public bool IsAttedance { get; set; } + public int LessonNumber { get; set; } + public string GroupName { get; set; } + } +} \ No newline at end of file diff --git a/data/RemoteData/RemoteDataBase/DAO/Group.cs b/data/RemoteData/RemoteDataBase/DAO/Group.cs new file mode 100644 index 0000000..e0b98f7 --- /dev/null +++ b/data/RemoteData/RemoteDataBase/DAO/Group.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace data.RemoteData.RemoteDataBase.DAO +{ + public class GroupDao + { + public int Id { get; set; } + public string Name { get; set; } + public virtual IEnumerable Users { get; set; } + } +} diff --git a/data/RemoteData/RemoteDataBase/DAO/Presence.cs b/data/RemoteData/RemoteDataBase/DAO/Presence.cs new file mode 100644 index 0000000..b06a4a5 --- /dev/null +++ b/data/RemoteData/RemoteDataBase/DAO/Presence.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace data.RemoteData.RemoteDataBase.DAO +{ + public class PresenceDao + { + public int Id { get; set; } + public Guid UserGuid { get; set; } + public bool IsAttedance { get; set; } = true; + public DateOnly Date { get; set; } + public int LessonNumber { get; set; } + public virtual UserDao? UserDao { get; set; } + + } +} diff --git a/data/RemoteData/RemoteDataBase/DAO/User.cs b/data/RemoteData/RemoteDataBase/DAO/User.cs new file mode 100644 index 0000000..2ecc8a3 --- /dev/null +++ b/data/RemoteData/RemoteDataBase/DAO/User.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace data.RemoteData.RemoteDataBase.DAO +{ + public class UserDao + { + public string FIO { get; set; } + public Guid Guid { get; set; } + + public int GroupID { get; set; } + + public virtual GroupDao Group { get; set; } + public virtual IEnumerable Presences{ get; set; } + } +} \ No newline at end of file diff --git a/data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs b/data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs new file mode 100644 index 0000000..db79e89 --- /dev/null +++ b/data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs @@ -0,0 +1,15 @@ +public class UserAttendance +{ + public Guid UserGuid { get; set; } + public double Attended { get; set; } + public double Missed { get; set; } + public double AttendanceRate { get; set; } +} + +public class GroupPresenceSummary +{ + public int UserCount { get; set; } + public int LessonCount { get; set; } + public double TotalAttendancePercentage { get; set; } + public List UserAttendances { get; set; } +} \ No newline at end of file diff --git a/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs b/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs new file mode 100644 index 0000000..d6f1161 --- /dev/null +++ b/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs @@ -0,0 +1,43 @@ +using data.RemoteData.RemoteDataBase.DAO; +using Microsoft.EntityFrameworkCore; + +namespace data.RemoteData.RemoteDataBase +{ + public class RemoteDatabaseContext : DbContext + { + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user15;Database=user15;Password=3XkvwMOb"); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + // Настройка ключа и автоматической генерации для GroupDao + modelBuilder.Entity().HasKey(group => group.Id); + modelBuilder.Entity().Property(group => group.Id).ValueGeneratedOnAdd(); + + // Настройка ключа и автоматической генерации для UserDao + modelBuilder.Entity().HasKey(user => user.Guid); + modelBuilder.Entity().Property(user => user.Guid).ValueGeneratedOnAdd(); + + // Настройка составного ключа для PresenceDao + modelBuilder.Entity().HasKey(presense => new + { + presense.Id + + }); + + + // Настройка связи UserDao с PresenceDao + modelBuilder.Entity() + .Property(presence => presence.Id) + .ValueGeneratedOnAdd(); + modelBuilder.Entity().HasOne(presence => presence.UserDao).WithMany(user => user.Presences).HasForeignKey(presence => presence.UserGuid); + + } + + public DbSet Groups { get; set; } + public DbSet Users { get; set; } + public DbSet PresenceDaos { get; set; } + } +} diff --git a/data/Repository/GroupRepositoryImpl.cs b/data/Repository/GroupRepositoryImpl.cs new file mode 100644 index 0000000..e1125c2 --- /dev/null +++ b/data/Repository/GroupRepositoryImpl.cs @@ -0,0 +1,53 @@ +using Dataceptions; +using data.LocalData; +using data.RemoteData.RemoteDataBase.DAO; +using data.Repository; +using domain.Models; +using System.Collections.Generic; +using System.Linq; + +public class GroupRepositoryImpl : IGroupRepository +{ + private List _groups = LocalStaticData.groups; + + public GroupLocalEntity? GetGroupById(int groupId) + { + return _groups.FirstOrDefault(g => g.Id == groupId); + } + + // Метод для получения всех групп + public List GetAllGroup() => _groups; + + // Метод для добавления новой группы + public bool AddGroup(GroupLocalEntity group) + { + if (_groups.Any(g => g.Id == group.Id)) + return false; + + group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1; + _groups.Add(group); + return true; + } + + // Метод для обновления существующей группы + public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup) + { + var existingGroup = GetGroupById(groupID); + if (existingGroup == null) + return false; + + existingGroup.Name = updatedGroup.Name; + return true; + } + + + public bool RemoveGroupById(int groupID) + { + var existingGroup = GetGroupById(groupID); + if (existingGroup == null) + return false; + + _groups.Remove(existingGroup); + return true; + } +} diff --git a/data/Repository/IGroupRepository.cs b/data/Repository/IGroupRepository.cs new file mode 100644 index 0000000..7e099bf --- /dev/null +++ b/data/Repository/IGroupRepository.cs @@ -0,0 +1,20 @@ +using data.RemoteData.RemoteDataBase.DAO; +using domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace data.Repository +{ + public interface IGroupRepository + { + List GetAllGroup(); + bool RemoveGroupById(int groupID); + bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup); + GroupLocalEntity GetGroupById(int groupID); + bool AddGroup(GroupLocalEntity newGroup); + + } +} \ No newline at end of file diff --git a/data/Repository/IPresenceRepository.cs b/data/Repository/IPresenceRepository.cs new file mode 100644 index 0000000..789559f --- /dev/null +++ b/data/Repository/IPresenceRepository.cs @@ -0,0 +1,21 @@ +using data.RemoteData.RemoteDataBase.DAO; +using domain.Models; +using System; +using System.Collections.Generic; + +namespace data.Repository +{ + public interface IPresenceRepository + { + void SavePresence(List presences); + List GetPresenceByGroup(int groupId); + List GetPresenceByGroupAndDate(int groupId, DateTime date); + DateOnly? GetLastDateByGroupId(int groupId); + public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId); + bool UpdateAtt(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance); + + void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber); + void AddPresence(PresenceLocalEntity presence); + List GetAttendanceByGroup(int groupId); + } +} diff --git a/data/Repository/IUserRepository.cs b/data/Repository/IUserRepository.cs new file mode 100644 index 0000000..c09cb75 --- /dev/null +++ b/data/Repository/IUserRepository.cs @@ -0,0 +1,19 @@ +using data.RemoteData.RemoteDataBase.DAO; +using domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace data.Repository +{ + public interface IUserRepository + { + IEnumerable GetAllUsers { get; } + bool RemoveUserById(Guid userGuid); + UserLocalEnity? UpdateUser(UserLocalEnity user); + List GetUserNames(); + + } +} diff --git a/data/Repository/PresenceRepositoryImpl.cs b/data/Repository/PresenceRepositoryImpl.cs new file mode 100644 index 0000000..a071263 --- /dev/null +++ b/data/Repository/PresenceRepositoryImpl.cs @@ -0,0 +1,62 @@ +using data.RemoteData.RemoteDataBase.DAO; +using domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace data.Repository +{ + public class PresenceRepositoryImpl + { + private readonly List _presences = new List(); + + public void SavePresence(List presences) + { + foreach (var presence in presences) + { + var existing = _presences.FirstOrDefault(p => + p.Date == presence.Date && + p.UserGuid == presence.UserGuid && + p.LessonNumber == presence.LessonNumber); + + if (existing == null) + { + _presences.Add(presence); + } + else + { + existing.IsAttedance = presence.IsAttedance; + } + } + } + + public void AddPresence(PresenceLocalEntity presence) + { + if (presence == null) throw new ArgumentNullException(nameof(presence)); + + _presences.Add(presence); + } + + public List GetPresenceByGroup(int groupId) + { + return _presences.Where(p => p.GroupId == groupId).ToList(); + } + + public List GetPresenceByGroupAndDate(int groupId, DateTime date) + { + return _presences.Where(p => p.GroupId == groupId && p.Date.Date == date.Date).ToList(); + } + + public void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber) + { + foreach (var lesson in Enumerable.Range(firstLessonNumber, lastLessonNumber - firstLessonNumber + 1)) + { + var presence = _presences.FirstOrDefault(p => p.UserGuid == userGuid && p.LessonNumber == lesson); + if (presence != null) + { + presence.IsAttedance = false; // Помечаем как отсутствующего + } + } + } + } +} diff --git a/data/Repository/SQLGroupRepositoryImpl.cs b/data/Repository/SQLGroupRepositoryImpl.cs new file mode 100644 index 0000000..a1db214 --- /dev/null +++ b/data/Repository/SQLGroupRepositoryImpl.cs @@ -0,0 +1,69 @@ +using Dataceptions; +using data.LocalData; +using data.RemoteData.RemoteDataBase; +using data.RemoteData.RemoteDataBase.DAO; +using data.Repository; +using domain.Models; +using System.Collections.Generic; +using System.Linq; + +public class SQLGroupRepositoryImpl : IGroupRepository +{ + private readonly RemoteDatabaseContext _remoteDatabaseContext; + + public SQLGroupRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) + { + _remoteDatabaseContext = remoteDatabaseContext; + } + + // Метод для получения группы по ID + public GroupLocalEntity? GetGroupById(int groupId) + { + var groupDao = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupId); + return groupDao != null ? new GroupLocalEntity { Id = groupDao.Id, Name = groupDao.Name } : null; + } + + // Метод для получения всех групп + public List GetAllGroup() + { + return _remoteDatabaseContext.Groups + .Select(g => new GroupLocalEntity { Id = g.Id, Name = g.Name }) + .ToList(); + } + + // Метод для добавления новой группы + public bool AddGroup(GroupLocalEntity group) + { + if (_remoteDatabaseContext.Groups.Any(g => g.Id == group.Id)) + return false; + + var groupDao = new GroupDao { Id = group.Id, Name = group.Name }; + _remoteDatabaseContext.Groups.Add(groupDao); + _remoteDatabaseContext.SaveChanges(); + return true; + } + + // Метод для обновления существующей группы + public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup) + { + var existingGroup = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupID); + if (existingGroup == null) + return false; + + existingGroup.Name = updatedGroup.Name; + _remoteDatabaseContext.SaveChanges(); + return true; + } + + // Метод для удаления группы по ID + public bool RemoveGroupById(int groupID) + { + var existingGroup = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupID); + if (existingGroup == null) + return false; + + _remoteDatabaseContext.Groups.Remove(existingGroup); + _remoteDatabaseContext.SaveChanges(); + return true; + } +} diff --git a/data/Repository/SQLPresenceRepositoryImpl.cs b/data/Repository/SQLPresenceRepositoryImpl.cs new file mode 100644 index 0000000..03aba1a --- /dev/null +++ b/data/Repository/SQLPresenceRepositoryImpl.cs @@ -0,0 +1,219 @@ +using data.RemoteData.RemoteDataBase; +using data.RemoteData.RemoteDataBase.DAO; +using System; +using System.Collections.Generic; +using System.Linq; +using domain.Models; +using Microsoft.EntityFrameworkCore; + +namespace data.Repository +{ + public class SQLPresenceRepositoryImpl : IPresenceRepository + { + private readonly RemoteDatabaseContext _remoteDatabaseContext; + + public SQLPresenceRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) + { + _remoteDatabaseContext = remoteDatabaseContext; + } + + public void SavePresence(List presences) + { + foreach (var presence in presences) + { + // Проверяем, существует ли запись с указанными датой, пользователем и номером занятия + var existing = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => + p.Date == DateOnly.FromDateTime(presence.Date) && + p.UserGuid == presence.UserGuid && + p.LessonNumber == presence.LessonNumber); + + if (existing == null) + { + // Добавляем запись, если её не существует + _remoteDatabaseContext.PresenceDaos.Add(new PresenceDao + { + Date = DateOnly.FromDateTime(presence.Date), + IsAttedance = presence.IsAttedance, + LessonNumber = presence.LessonNumber, + UserGuid = presence.UserGuid + }); + } + else + { + // Обновляем запись, если она уже существует + existing.IsAttedance = presence.IsAttedance; + } + } + + // Сохраняем все изменения в базе данных + _remoteDatabaseContext.SaveChanges(); + } + + public void AddPresence(PresenceLocalEntity presence) + { + if (presence == null) throw new ArgumentNullException(nameof(presence)); + + var newPresence = new PresenceDao + { + Date = DateOnly.FromDateTime(presence.Date), + UserGuid = presence.UserGuid, + LessonNumber = presence.LessonNumber, + IsAttedance = presence.IsAttedance + }; + _remoteDatabaseContext.PresenceDaos.Add(newPresence); + } + + public List GetPresenceByGroup(int groupId) + { + return _remoteDatabaseContext.PresenceDaos.Include(user => user.UserDao) + .Where(p => p.UserDao != null && p.UserDao.GroupID == groupId) // Проверяем на null перед использованием + .Select(p => new PresenceLocalEntity + { + Date = p.Date.ToDateTime(TimeOnly.MinValue), + UserGuid = p.UserGuid, + LessonNumber = p.LessonNumber, + IsAttedance = p.IsAttedance + }) + .ToList(); + } + + public List GetPresenceByGroupAndDate(int groupId, DateTime date) + { + return _remoteDatabaseContext.PresenceDaos + .Where(p => p.UserDao != null && p.UserDao.GroupID == groupId && p.Date == DateOnly.FromDateTime(date)) + .Select(p => new PresenceLocalEntity + { + Date = p.Date.ToDateTime(TimeOnly.MinValue), + UserGuid = p.UserGuid, + LessonNumber = p.LessonNumber, + IsAttedance = p.IsAttedance + }) + .ToList(); + } + + public void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber) + { + foreach (var lesson in Enumerable.Range(firstLessonNumber, lastLessonNumber - firstLessonNumber + 1)) + { + var presence = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => + p.UserGuid == userGuid && + p.LessonNumber == lesson); + + if (presence != null) + { + presence.IsAttedance = false; // Помечаем как отсутствующего + } + } + } + + public DateOnly? GetLastDateByGroupId(int groupId) + { + // Проверяем наличие записей о посещаемости в базе данных для данной группы. + var lastDate = _remoteDatabaseContext.PresenceDaos + .Where(p => p.UserDao.GroupID == groupId) + .OrderByDescending(p => p.Date) + .Select(p => p.Date) + .FirstOrDefault(); + + return lastDate == default ? (DateOnly?)null : lastDate; + } + + public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId) + { + var presences = _remoteDatabaseContext.PresenceDaos + .Where(p => p.UserDao.GroupID == groupId) + .OrderBy(p => p.Date).ThenBy(p => p.LessonNumber) + .ToList(); + + // Уникальные пары "дата + номер занятия" + var distinctLessonDates = presences + .Select(p => new { p.Date, p.LessonNumber }) + .Distinct() + .ToList(); + + int lessonCount = distinctLessonDates.Count; + + // Считаем количество уникальных пользователей в группе + var userGuids = presences + .Select(p => p.UserGuid) + .Distinct() + .ToHashSet(); + + // Подсчитываем общее количество посещений и общее количество возможных посещений + double totalAttendance = presences.Count(p => p.IsAttedance); + double totalPossibleAttendance = userGuids.Count * lessonCount; + + var userAttendances = userGuids.Select(userGuid => + { + var userPresences = presences.Where(p => p.UserGuid == userGuid).ToList(); + double attended = userPresences.Count(p => p.IsAttedance); + double missed = userPresences.Count(p => !p.IsAttedance); + + return new UserAttendance + { + UserGuid = userGuid, + Attended = attended, + Missed = missed, + AttendanceRate = (attended / (attended + missed)) * 100 + }; + }).ToList(); + + // Рассчитываем общий процент посещаемости группы + double totalAttendancePercentage = (totalAttendance / totalPossibleAttendance) * 100; + + return new GroupPresenceSummary + { + UserCount = userGuids.Count, + LessonCount = lessonCount, + TotalAttendancePercentage = totalAttendancePercentage, + UserAttendances = userAttendances + }; + } + + + + + + public bool UpdateAtt(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance) + { + var presences = _remoteDatabaseContext.PresenceDaos + .Where(p => p.UserGuid == UserGuid && p.UserDao.GroupID == groupId && + p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson && p.Date == date) + .ToList(); + + if (presences.Any()) + { + foreach (var presence in presences) + { + presence.IsAttedance = isAttendance; + } + _remoteDatabaseContext.SaveChanges(); + return true; // Успех + } + return false; // Данные не найдены + } + public List GetAttendanceByGroup(int groupId) + { + // Получаем пользователей указанной группы + var userGuidsInGroup = _remoteDatabaseContext.Users + .Where(u => u.GroupID == groupId) + .Select(u => u.Guid) + .ToList(); + + // Фильтруем посещаемость по пользователям из этой группы + return _remoteDatabaseContext.PresenceDaos + .Where(p => userGuidsInGroup.Contains(p.UserGuid)) + .Select(p => new PresenceDao + { + UserGuid = p.UserGuid, + Id = p.Id, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttedance = p.IsAttedance + }) + .ToList(); + } + + + } +} diff --git a/data/Repository/SQLUserRepositoryImpl.cs b/data/Repository/SQLUserRepositoryImpl.cs new file mode 100644 index 0000000..f52b628 --- /dev/null +++ b/data/Repository/SQLUserRepositoryImpl.cs @@ -0,0 +1,71 @@ +using Dataceptions; +using data.RemoteData.RemoteDataBase; +using data.RemoteData.RemoteDataBase.DAO; +using domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace data.Repository +{ + public class SQLUserRepositoryImpl : IUserRepository + { + private readonly RemoteDatabaseContext _remoteDatabaseContext; + + public SQLUserRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) + { + _remoteDatabaseContext = remoteDatabaseContext; + } + + // Метод для получения всех пользователей + public IEnumerable GetAllUsers => _remoteDatabaseContext.Users + .Select(u => new UserLocalEnity + { + Guid = u.Guid, + FIO = u.FIO, + GroupID = u.GroupID + }) + .ToList(); + + // Метод для удаления пользователя по GUID + public bool RemoveUserById(Guid userGuid) + { + var user = _remoteDatabaseContext.Users.FirstOrDefault(u => u.Guid == userGuid); + if (user == null) throw new UserNotFoundException(userGuid); + + _remoteDatabaseContext.Users.Remove(user); + _remoteDatabaseContext.SaveChanges(); // Сохранение изменений в базе данных + return true; + } + + // Метод для обновления данных пользователя + public UserLocalEnity? UpdateUser(UserLocalEnity user) + { + var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.Guid == user.Guid); + if (existingUser == null) throw new UserNotFoundException(user.Guid); + + existingUser.FIO = user.FIO; + existingUser.GroupID = user.GroupID; + _remoteDatabaseContext.SaveChanges(); // Сохранение изменений в базе данных + + // Возвращаем обновленный объект UserLocalEnity + return new UserLocalEnity + { + Guid = existingUser.Guid, + FIO = existingUser.FIO, + GroupID = existingUser.GroupID + }; + } + + // Дополнительный метод для DAO, если требуется + public IEnumerable GetAllUsersDao => _remoteDatabaseContext.Users.ToList(); + + public List GetUserNames() + { + return _remoteDatabaseContext.Users + .Select(u => new UserDao { Guid = u.Guid, FIO = u.FIO }) + .ToList(); + } + + } +} diff --git a/data/Repository/UserRepositoryImpl.cs b/data/Repository/UserRepositoryImpl.cs new file mode 100644 index 0000000..169b747 --- /dev/null +++ b/data/Repository/UserRepositoryImpl.cs @@ -0,0 +1,53 @@ +using Dataceptions; +using data.LocalData; +using data.RemoteData.RemoteDataBase.DAO; +using domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace data.Repository +{ + public class UserRepositoryImpl : IUserRepository + { + private List _users; + + public UserRepositoryImpl() + { + _users = LocalStaticData.users; + } + + public IEnumerable GetAllUsers => _users; + + public bool RemoveUserById(Guid userGuid) // Оставил Guid + { + var user = _users.FirstOrDefault(u => u.Guid == userGuid); + if (user == null) throw new UserNotFoundException(userGuid); + + _users.Remove(user); + return true; + } + + public UserLocalEnity? UpdateUser(UserLocalEnity user) + { + var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid); + if (existingUser == null) throw new UserNotFoundException(user.Guid); + + existingUser.FIO = user.FIO; + existingUser.GroupID = user.GroupID; + + return existingUser; + } + + public List GetUserNames() + { + return _users + .Select(u => new UserDao + { + Guid = u.Guid, + FIO = u.FIO + }) + .ToList(); + } + } +} diff --git a/data/data.csproj b/data/data.csproj new file mode 100644 index 0000000..2b2ccad --- /dev/null +++ b/data/data.csproj @@ -0,0 +1,18 @@ + + + + net8.0 + enable + enable + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + diff --git a/data/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/data/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/data/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/data/obj/Debug/net8.0/data.AssemblyInfo.cs b/data/obj/Debug/net8.0/data.AssemblyInfo.cs new file mode 100644 index 0000000..55a67a6 --- /dev/null +++ b/data/obj/Debug/net8.0/data.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("data")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("data")] +[assembly: System.Reflection.AssemblyTitleAttribute("data")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache b/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache new file mode 100644 index 0000000..26b3a26 --- /dev/null +++ b/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +6741393a5fe1cc20988265f6fd0e8bdd33ee4b9cc7b9e110a41e548fdd825a94 diff --git a/data/obj/Debug/net8.0/data.GeneratedMSBuildEditorConfig.editorconfig b/data/obj/Debug/net8.0/data.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..7cde3f1 --- /dev/null +++ b/data/obj/Debug/net8.0/data.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = data +build_property.ProjectDir = C:\Users\class_student\source\repos\presence\data\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/data/obj/Debug/net8.0/data.GlobalUsings.g.cs b/data/obj/Debug/net8.0/data.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/data/obj/Debug/net8.0/data.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/data/obj/Debug/net8.0/data.assets.cache b/data/obj/Debug/net8.0/data.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..9d9205320458159442cb7e32b48b2358c9407f5c GIT binary patch literal 37208 zcmdU233waFb(Senhh@pOWLvf)+q7(17A>trP_jkGaVb-WSxYh_%1#foDF`e{NVp6v zBvEOTy1APsadWjvnkH$}q(^$B_kAS2@3iTCpGmLuPOr4h{}!{@x4?Tly95C$l->tm zcV^!I&&uUoTb&4)LB;#227n0fYN9~r;0`Qw{E>fAH5YxK(Y3)SgQ zpBR1aLt8%Su30mTbg#N*>f!8D4Y%IN=1aLo})~PfXTrXS8b&RVs|7b#$(5EG#fIa5xkA~;9sJ9NzYA5bf&%i5?CEyaDP%nwWc9yLR;N%Z z4FL=NT?3)-Yay>+J#166i@AEuu|j-ndWfjpqPH|(&z0Rv)%t~eweGT7JmMU5#tvGl z@wi{aiJ*unDnf+1&eSHg^m~>8^|I$y8pUd*;gqTi3&qNUlbdUJ^<3VggINNb>BfqF zQd+7Uat=is|9Dv1DO1`>x8l}wUNzbW)*I9t@cH(hP*-a`0)4VofHPZd*7L4`3+}wj zZe(!rbMQ11#=d!qzP}}TMlKKFyBf4(rZxe*BBWn3;A)6s@T1H(; zowc(Iq=9&pWu{6D@Y0yY@ovHIH>?cax?9RoH^`MzSLoSxR*sb#m}9*jzu&kFtl{;L z&*c}zt4nMAFzb}bs#WX_2JDUaq>iu+^70h{TXxIU`ckV-l|I@H^R%Cd*XDKu@FoNB zW_-T0H-Od3d~ui9PN{y5R2oNVv87zTJ=@vp_xhd5~uMaW<@O zW785=abUC9ptaK=3aa%E{O)Zah%vLW6$se`__XTdR+Xyn&R(l8YFusb0!zxOj~h-x zbQk0$y)@%jFx-wN$l^1ye8>2*;3;OPJ>gcHoS$p8=#09X9GiW9%fqkW?y)Uqugy!27bhS z_)UN0Szbz5C(6_zUoDrbmFywsaM)7h4d-gLac7LVI+0mJtuRMzLw|c9^!mEa;{Ru^wFW|51qRsoM%3kFF8jWOO^a|#dGWPRC$zQBuo+M zQ|-A^M=_B^Q$DlU6#k@S~d=#H><8-NHpo#f^r#g%l1q50re5B{|L3X_8K9 z?~PA;%xx4GDwL4%moS8GH6`B5N)64K{5zi!+9q65J)~3ymbD*?ziOsXFK2wVrd! zHJVvf7U=l;mT94{yAxR%O1X7*so}Y0T*3wSShY-tcD4_dN-Y<-;Y^pyO)ocB@-Opk z?F40*I+**a-{p37A9jvG*BcpSFT@RUxUZ6bHM zH3$j0&n?y5!c4C2`4`c4lVbWwXQo(lOT|iSa0&`O>&_eE&S}@n6>?sV>g7I@&FDgv zm21V4Tc3677mFC*oTn;{+`NzBPLq@x$vIxZP)&17s^b}2%A?Y53z96t-nLFJ<|-Ap zr}%?xDP_B4f`SV+kqT_9E6NPGLUh|1FUm(7wEJGkB)K=Azxg% zhjD&iqTbd~@NP@N58^zz7JCx96-c_~B+|~*s|#3`8##fdX^ia79Jzet!QGjO(3u%| zy4YyuN+YvaW-V5;WHH=A_Du7n>&=*@Rw|2@7*=Nu>2kTf7R%R=uDZ1&hLf)yT~%vF z3?nrtbtt+*dYdAy^jZ-E$=8Zje~pL%+iq%)CfZl;+7JWG*M^qiUH5HGh(Y9QLZ2OL zK@2=!3tELWAclmm0rhrauk_jv1IgEZdaADFt@$t{e9dRo)_NG85i_#TTF(lt@vzc& znbK*E=PFs-Vd%&S3TzU2TCeDJ!6JU{uipvAYL$O~&A$^&UI+d0)g4+NdkAs_G68uQ z@_fi6kQYE6g?tWV5^@ys7-S04XGR4#bnJZp+FwYZ+v15B9RtERM#ph}5^@4Uj7~!O z%m|B2p_?9A{z$~=aUhIiG>!9qbDGJW;9>#iP0$_jAL{f=O-a&AjIfNNS_%M zy`C7&0AU=X7vlURWE?44 zxS52^L5Nfy(&uKXH+y1K0Kzy%F3wLv<{`w0mj3$8$m?wYUj)K9Mn#;Tgq(*EqYIGN z_P66*S=|444%?@Cv9z>497l`RQYRr52+^uS212Vh<5UC8I9ku({3N6fAzHLt`MO?P zEB@Y}?zWn{IihE@7r=%fbZ?TpR}T_LtcmlJ5bnM9nV9aqrXhCGLhOsC?$Y*|nC{Z1A@-#fVqa#6anH8T#B|R#4Y8M6 zh`r1Z;|^}0iRlh*8e(5=A@-~x#{Jwr6Vv_NG{nBbLhR*+7+YuE_6iHPR~l|}_cpP4{}!5PKDX#@Xms2S?ZHNT;RyCJWs+8@k-59voe( zd!3fiDOn`wbSl-)QLaIl%h|)}ND22hwtWpM~=`8P0rWFlf%UNkUrA z@3(ONfZ@#N3-9Q$oiBw?m{^|w(B}&_p8R2uYr)~0Ej+))@Z=MP!SU253Tb(MtA*#c z8J>KGFgTw23?VJg4_bJByWz>F27}|NPYu%Y{0#&(cAp!t?tKPwxH?j;HSar{($m7M?#~cyho0 zT?4b9v3`GAsy}F<`a^~)clZa_q`JeOmgf&!c>ajt$vyqS@zg#2v^;;*!t=)rPwwKs zdthDH;^L*`KtK{V7A1JN5VA*i#7~Ut4THOid5qXEV;& zAv}R^LOMK%$MeIdtr5Rr14^d94?~6^AAyid{?ib;fA%wwhau00JOX(Eu{{=`K z_Fu&LRf%`NFz*2d!W`Ty`6UbHU&i^>jElgacW#IJ6$|uV#rdl+egb1O3WU5de$B$@ z*KvLsPl846@Lx(i&sMe;vT=t|>6}`B)I#MqaDH_jP6g=oP)>iFAXNXu5W0XjLpm>D z8gzaWa@9S&%6MD{e4NJ?g~!Kmd>O$S>ACjKXoCemPD3l~krpFIeL|ZLqK7)L|CWHA z8-U-&`DN^KkvObaP`98zZSCN4y}*U~)9*lfd(LmAAK+!3=>|jMMtssmu?-?!6u*n( ztN(y61HK)A=qk7gLcni^NWgy&$FJT8fEl4%0F(#?EwMu(^!qrz471R;2ZR}gTMdPv zO>R>t`~i-Cc054L$lY$pkv~Ws?s*WY!~G$SzcT$CNo=1ocI&l5gQW?K=Z7xgqwXI8 z5_PQr`X39>`KbFRIN#GlzvjW@^l|cnv2~|G9Q33+1jID9{wbulv2~@Np=LdX$na{v z6ThV%^Jh5TQ*|%z8Eb}gV+Yc^6r_KS-XWig#K@EJeRPI8?E3`G({>@%ZQG5NLmy) zm^HDE=y7HQnc^+`w+7YU;gjn0?;)M2c+36+&L_RL+vvhLR>dHWRdfM^7FgOC!_@7l zR~+#tfq?2UShx5`3*vvm`Dc^buQud%WGyGx4x!buUXhiT2=FjZN7yY6|DQYH|BD6w zzv6t-WfuW`z8%>srp80yVIVM$`QJJ)|GNeAr*Qt6v|Ts^vDk_=mI$zkOUBXuM+e&f zw4nX3-q6-tq0bVb4MLY;SRmhp{{9=nyYv6xciaW|X`Jt&KX??0twxd95&;eaxA7YO z-ww?GXTkjcIG<0~ABt6{7Q}}0k&Xvui(PU&fE>q1?@*vRy#}8&s14yWu1?qDe9Hb> z4`bAoO^iApX4|?lm_j@|j&_|vJ8aOdx1imC^NAm1HA8~wq!gUgkC}(pU9@86HT{@* zYF`LCtP*RF)7WTe1mp513yo`Wekon2Aa4c{e_`$@oF7@en*U}FZAeza|8dltJ5XO| zLA?d%t0_^pBMjzEgh92s&$W|InWP-+)())KTd>}M^Z1{9(ady~_-Zy?sgb=@tO(a+ zOr6t$CH-~Q`HdDH+i-po`L^TpCdkc@;O`cE-^zmrP8X~(ZnyLFPb0D`;$9B>FKVuf5fb;og+I`GAqJ1~DlA#T z(xeE7JCV3t9z>V=C=VPfzzE~rK9pERn1>X|buGon_3QfJ5m`@I?NU}!lq9^auVO5d zR7Lp82i{r?iW-ymQL73yYiFy3>VycrN~^@?AqC3|0esBHNJ8Rf)N>Nr^46uww%p#vrEROsrwQA0ED$HJh-=O6w&I0)g(gCIrSHd?Ueue1i>Ok%o&t+IY0la6OtkY-%6h zG*zuFovP+@rF9-^{ucUqt~%44D-|1y$BK1Cy2iV7hUck~wxOO7ZQ6f(&1`dy8flNd zZ@R65E{q+~tnGr=BL9Y|X31;T-JyI#;8t)GaoeMBY>og~i*!Q;S5V|8tHeF}&f=&d zq#JT2M)UP#jP$L&QAJ2MG+!4O6}@DN^u4uFMMyVP^aMrcbIBCxn_HubkZ$OFPEd5A znoN4q*;1x2+|GDZ6K&Zr`!8>*EaF{3)Wbp3skiFA#|Zn2E0Ti;4L?0*RC z>dizN_vkwvBkI;7-B7(LDDo0^b$zR0R1wk*dG)~iV%2E&@Fk+P&$8h!qH<%9c!T+( zDo=K?8RhB*JW08iHOjro?hd4n{nEqyjy_&X$pwA-cq|nFbI7*7MNE^FT+pWv%TfW3 zJ~~Uu1%3MHEEVABgS3=f(5Da5QUQ)WR!hkRefn4}72xPYwv=4Zrw`du0ggU$OUVU& z`p7L6;OGOmlzgiD`imXFr8351$8jl#z)~NIh$NX%*2FsP}gz_D6HeVR@Q`dsMm4| zD6FHtR@Q{o0BAV{6jocHl{H~C3tCPAh1Ei6WldO(g_cu5VYM4tSrb+hqU97&Sgnax z)`ZotXgLKGRvV+0HDNV3TFx`w<3$q7qZRi^5+kH#7HY(5kF>HTtfooJDWI@gDXpvt ztHIK8&UCj+GTWsU_-HaSre#<0*ese>puuA^Zd&$WO_|NrbUUXNlF<#EmPOF3TQ;qb zjBe7jEP`I$mT84#bR(u^5%lWTODiO!n=LJipjWq7S|J(TP-$5Ny}E_c3d!iENy{SW z)oqeiNJckCS{6aCZiTc$GP?QEvYhN5-(u~KR?gvAgQMjVSnHNXDQwYnK@ujk6f`WZ%5(js$?KKfqvRhFSO~qP5x-|;0PFRkVqVv9SP~q4U z!uo-fvvt3ax&ylp8lR9=oRl!SsbW6^9^UKMc1G~sG2N-dO%CI7sj)j1IP9=&X&(S8 zV?tCQCGM~06W`v3t(m=uTQ3|;oFhh zo84pIsQdsM@Y|&+d(cO02@<@6c}&t5ZhjWFjt4J3rcIdUeb1dQb|&KSFLn;B1=+PW zi?F=t#_zkWDS~%3b4+G0_TG4cY{z!+nr5L8A|&ZB8&WMgf^DlPMAE@dOO+OGdbU(r zn2_K~l@?7Qz4+R95yp3Q*IDQ0<{hR@I*$jnBA?bxma?L?omT8LDB%Gvek5dw|*rh=?$*fm?ZkE!tWPUiCcJsZYFQ=eYoCwhM;i( rduk5|WzxRq?$?+T{C3v#+i`CVw035_(X_#I!Npe2`J!823tXQ8gQ@{4 literal 0 HcmV?d00001 diff --git a/data/obj/Debug/net8.0/data.csproj.AssemblyReference.cache b/data/obj/Debug/net8.0/data.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..7f7d68c310219d4fc8057637a61f9f33dc9d801c GIT binary patch literal 9396 zcmds-eM}p57{_~#y@VN-OcKllWMLRV)+>c>w65w>#gOsNBrd72YkTc(9CzK_6^e5k z$`aksjcsl-5)6|~#5uq)U$^+WH+-3fL{VXyEJLy_A({=t9~!;h9lg8sdi|AN6KfMf z3%}=hzR!L5-gD3I7C|XGoeuKbEcPd8l%nlU9HHq3n(?_%g0brfp9f{^Uc}jmcu?Bj zggGgaCf$sl{Vm3{x+$ayZ6T>fCrP39V!c6MV6fwu!%mluizGQB_ja{#I z;Wz}be_m(r^Uz}xOCSi!P>q0=1Xi=JWd55j5Y2tYn3Dy| zWWl^Fcup3qDhuXi!K^Hpmj$aP$;s-`v9DEpPA{`>7u~^suBlyLpi2tm3F&TGa+50i z#~v9OUTHZr`ONOq)TN50ds9|i+vn+@{qvXZhF#X0x3jP9J%2a!$Hd{}k2^DZ%ky4) z@U8LG6=@fD-a3z7sh?c9;lQ`fGwZf~@Gy1KGI-s(?2FHfI+`m7hu-;=woayQ8aP?< z-52`gU> zy&*r#=EE5ug<1*J$505KpH<~^;Fxm*+PaZ!L0>l_xhB zv78hd3Jc6S=pdv8d3wY_vneD7);1scFGwrFS(F)WaSF5Z_*H@Rg;3NIG^<$CVu* zq!x*XHKmMoSebD`{H2%>ccEUCU?&aER*cw+a`$h57W`;1vUDy|^x@f=V}cJ$`(6=h zg(X-+ulY+eiih^3EV!d!3}k2W5h;6L9T3`AR_(MxgG&&6KLUN zM*`$~FkXDis>8ul)TDR&sa`V`wsr2u1-rd-fw*4nlU)zz~-}?qH`fr{-wcw$9W|n`}f8p|t z`-WQ1mV7x + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\class_student\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.9.1 + + + + + + + + + + + C:\Users\class_student\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 + + \ No newline at end of file diff --git a/data/obj/data.csproj.nuget.g.targets b/data/obj/data.csproj.nuget.g.targets new file mode 100644 index 0000000..baac958 --- /dev/null +++ b/data/obj/data.csproj.nuget.g.targets @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/data/obj/project.assets.json b/data/obj/project.assets.json new file mode 100644 index 0000000..e917afb --- /dev/null +++ b/data/obj/project.assets.json @@ -0,0 +1,2196 @@ +{ + "version": 3, + "targets": { + "net8.0": { + "Humanizer.Core/2.14.1": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Humanizer.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "type": "package", + "build": { + "build/_._": {} + } + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.3", + "System.Collections.Immutable": "6.0.0", + "System.Reflection.Metadata": "6.0.1", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "6.0.0" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[4.5.0]" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp": "[4.5.0]", + "Microsoft.CodeAnalysis.Common": "[4.5.0]", + "Microsoft.CodeAnalysis.Workspaces.Common": "[4.5.0]" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.Bcl.AsyncInterfaces": "6.0.0", + "Microsoft.CodeAnalysis.Common": "[4.5.0]", + "System.Composition": "6.0.0", + "System.IO.Pipelines": "6.0.3", + "System.Threading.Channels": "6.0.0" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Mono.TextTemplating": "2.2.1" + }, + "compile": { + "lib/net8.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.dll": { + "related": ".xml" + } + }, + "build": { + "build/net8.0/Microsoft.EntityFrameworkCore.Design.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "dependencies": { + "System.CodeDom": "4.4.0" + }, + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/Mono.TextTemplating.dll": {} + } + }, + "Npgsql/8.0.5": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "compile": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + } + }, + "System.CodeDom/4.4.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.CodeDom.dll": {} + } + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Convention": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0", + "System.Composition.TypedParts": "6.0.0" + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.AttributedModel/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.AttributedModel.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.Convention/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.AttributedModel": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.Convention.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.Hosting/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.Runtime": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.Hosting.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.Runtime/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.Runtime.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.TypedParts/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.TypedParts.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.IO.Pipelines/6.0.3": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.IO.Pipelines.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Reflection.Metadata/6.0.1": { + "type": "package", + "dependencies": { + "System.Collections.Immutable": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Reflection.Metadata.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Text.Encoding.CodePages/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Text.Encoding.CodePages.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Threading.Channels/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Threading.Channels.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + } + } + }, + "libraries": { + "Humanizer.Core/2.14.1": { + "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "type": "package", + "path": "humanizer.core/2.14.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.14.1.nupkg.sha512", + "humanizer.core.nuspec", + "lib/net6.0/Humanizer.dll", + "lib/net6.0/Humanizer.xml", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "sha512": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "type": "package", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/net461/Microsoft.Bcl.AsyncInterfaces.xml", + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml", + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml", + "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "microsoft.bcl.asyncinterfaces.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "sha512": "j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==", + "type": "package", + "path": "microsoft.codeanalysis.analyzers/3.3.3", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "build/Microsoft.CodeAnalysis.Analyzers.props", + "build/Microsoft.CodeAnalysis.Analyzers.targets", + "build/config/analysislevel_2_9_8_all.editorconfig", + "build/config/analysislevel_2_9_8_default.editorconfig", + "build/config/analysislevel_2_9_8_minimum.editorconfig", + "build/config/analysislevel_2_9_8_none.editorconfig", + "build/config/analysislevel_2_9_8_recommended.editorconfig", + "build/config/analysislevel_3_3_all.editorconfig", + "build/config/analysislevel_3_3_default.editorconfig", + "build/config/analysislevel_3_3_minimum.editorconfig", + "build/config/analysislevel_3_3_none.editorconfig", + "build/config/analysislevel_3_3_recommended.editorconfig", + "build/config/analysislevel_3_all.editorconfig", + "build/config/analysislevel_3_default.editorconfig", + "build/config/analysislevel_3_minimum.editorconfig", + "build/config/analysislevel_3_none.editorconfig", + "build/config/analysislevel_3_recommended.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_all.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_default.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_minimum.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_none.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_recommended.editorconfig", + "build/config/analysislevelcorrectness_3_3_all.editorconfig", + "build/config/analysislevelcorrectness_3_3_default.editorconfig", + "build/config/analysislevelcorrectness_3_3_minimum.editorconfig", + "build/config/analysislevelcorrectness_3_3_none.editorconfig", + "build/config/analysislevelcorrectness_3_3_recommended.editorconfig", + "build/config/analysislevelcorrectness_3_all.editorconfig", + "build/config/analysislevelcorrectness_3_default.editorconfig", + "build/config/analysislevelcorrectness_3_minimum.editorconfig", + "build/config/analysislevelcorrectness_3_none.editorconfig", + "build/config/analysislevelcorrectness_3_recommended.editorconfig", + "build/config/analysislevellibrary_2_9_8_all.editorconfig", + "build/config/analysislevellibrary_2_9_8_default.editorconfig", + "build/config/analysislevellibrary_2_9_8_minimum.editorconfig", + "build/config/analysislevellibrary_2_9_8_none.editorconfig", + "build/config/analysislevellibrary_2_9_8_recommended.editorconfig", + "build/config/analysislevellibrary_3_3_all.editorconfig", + "build/config/analysislevellibrary_3_3_default.editorconfig", + "build/config/analysislevellibrary_3_3_minimum.editorconfig", + "build/config/analysislevellibrary_3_3_none.editorconfig", + "build/config/analysislevellibrary_3_3_recommended.editorconfig", + "build/config/analysislevellibrary_3_all.editorconfig", + "build/config/analysislevellibrary_3_default.editorconfig", + "build/config/analysislevellibrary_3_minimum.editorconfig", + "build/config/analysislevellibrary_3_none.editorconfig", + "build/config/analysislevellibrary_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_recommended.editorconfig", + "documentation/Analyzer Configuration.md", + "documentation/Microsoft.CodeAnalysis.Analyzers.md", + "documentation/Microsoft.CodeAnalysis.Analyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/CorrectnessRulesDefault/.editorconfig", + "editorconfig/CorrectnessRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/LibraryRulesDefault/.editorconfig", + "editorconfig/LibraryRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCompatibilityRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCompatibilityRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCorrectnessRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCorrectnessRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDesignRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDesignRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDocumentationRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDocumentationRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisLocalizationRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisLocalizationRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisPerformanceRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisPerformanceRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisReleaseTrackingRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisReleaseTrackingRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", + "microsoft.codeanalysis.analyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/CorrectnessRulesDefault.ruleset", + "rulesets/CorrectnessRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/LibraryRulesDefault.ruleset", + "rulesets/LibraryRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisCompatibilityRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisCompatibilityRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisCorrectnessRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisCorrectnessRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisDesignRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisDesignRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisDocumentationRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisDocumentationRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisLocalizationRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisLocalizationRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisPerformanceRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisPerformanceRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisReleaseTrackingRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisReleaseTrackingRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "sha512": "lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==", + "type": "package", + "path": "microsoft.codeanalysis.common/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll", + "microsoft.codeanalysis.common.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.common.nuspec" + ] + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "sha512": "cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==", + "type": "package", + "path": "microsoft.codeanalysis.csharp/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll", + "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.csharp.nuspec" + ] + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "sha512": "h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==", + "type": "package", + "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.csharp.workspaces.nuspec" + ] + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "sha512": "l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==", + "type": "package", + "path": "microsoft.codeanalysis.workspaces.common/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.workspaces.common.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "sha512": "PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "type": "package", + "path": "microsoft.entityframeworkcore/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props", + "lib/net8.0/Microsoft.EntityFrameworkCore.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "sha512": "FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "sha512": "51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "docs/PACKAGE.md", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "sha512": "uGNjfKvAsql2KHRqxlK5wHo8mMC60G/FecrFKEjJgeIxtUAbSXGOgKGw/gD9flO5Fzzt1C7uxfIcr6ZsMmFkeg==", + "type": "package", + "path": "microsoft.entityframeworkcore.design/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/net8.0/Microsoft.EntityFrameworkCore.Design.props", + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.xml", + "microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.design.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "sha512": "OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "sha512": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "sha512": "HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "type": "package", + "path": "microsoft.extensions.caching.memory/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", + "lib/net462/Microsoft.Extensions.Caching.Memory.dll", + "lib/net462/Microsoft.Extensions.Caching.Memory.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "sha512": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "sha512": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==", + "type": "package", + "path": "microsoft.extensions.dependencymodel/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", + "lib/net462/Microsoft.Extensions.DependencyModel.dll", + "lib/net462/Microsoft.Extensions.DependencyModel.xml", + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net8.0/Microsoft.Extensions.DependencyModel.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", + "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencymodel.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/8.0.1": { + "sha512": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "type": "package", + "path": "microsoft.extensions.logging/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Logging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", + "lib/net462/Microsoft.Extensions.Logging.dll", + "lib/net462/Microsoft.Extensions.Logging.xml", + "lib/net6.0/Microsoft.Extensions.Logging.dll", + "lib/net6.0/Microsoft.Extensions.Logging.xml", + "lib/net7.0/Microsoft.Extensions.Logging.dll", + "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net8.0/Microsoft.Extensions.Logging.dll", + "lib/net8.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.8.0.1.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "sha512": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/8.0.2": { + "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "type": "package", + "path": "microsoft.extensions.options/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net462/Microsoft.Extensions.Options.xml", + "lib/net6.0/Microsoft.Extensions.Options.dll", + "lib/net6.0/Microsoft.Extensions.Options.xml", + "lib/net7.0/Microsoft.Extensions.Options.dll", + "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.8.0.2.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "type": "package", + "path": "microsoft.extensions.primitives/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net462/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/net7.0/Microsoft.Extensions.Primitives.dll", + "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Mono.TextTemplating/2.2.1": { + "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "type": "package", + "path": "mono.texttemplating/2.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/Mono.TextTemplating.dll", + "lib/netstandard2.0/Mono.TextTemplating.dll", + "mono.texttemplating.2.2.1.nupkg.sha512", + "mono.texttemplating.nuspec" + ] + }, + "Npgsql/8.0.5": { + "sha512": "zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "type": "package", + "path": "npgsql/8.0.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net6.0/Npgsql.dll", + "lib/net6.0/Npgsql.xml", + "lib/net7.0/Npgsql.dll", + "lib/net7.0/Npgsql.xml", + "lib/net8.0/Npgsql.dll", + "lib/net8.0/Npgsql.xml", + "lib/netstandard2.0/Npgsql.dll", + "lib/netstandard2.0/Npgsql.xml", + "lib/netstandard2.1/Npgsql.dll", + "lib/netstandard2.1/Npgsql.xml", + "npgsql.8.0.5.nupkg.sha512", + "npgsql.nuspec", + "postgresql.png" + ] + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "sha512": "gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "type": "package", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.xml", + "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "npgsql.entityframeworkcore.postgresql.nuspec", + "postgresql.png" + ] + }, + "System.CodeDom/4.4.0": { + "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "type": "package", + "path": "system.codedom/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.CodeDom.dll", + "lib/netstandard2.0/System.CodeDom.dll", + "ref/net461/System.CodeDom.dll", + "ref/net461/System.CodeDom.xml", + "ref/netstandard2.0/System.CodeDom.dll", + "ref/netstandard2.0/System.CodeDom.xml", + "system.codedom.4.4.0.nupkg.sha512", + "system.codedom.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "type": "package", + "path": "system.collections.immutable/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition/6.0.0": { + "sha512": "d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", + "type": "package", + "path": "system.composition/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.targets", + "buildTransitive/netcoreapp3.1/_._", + "system.composition.6.0.0.nupkg.sha512", + "system.composition.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.AttributedModel/6.0.0": { + "sha512": "WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==", + "type": "package", + "path": "system.composition.attributedmodel/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.AttributedModel.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.AttributedModel.dll", + "lib/net461/System.Composition.AttributedModel.xml", + "lib/net6.0/System.Composition.AttributedModel.dll", + "lib/net6.0/System.Composition.AttributedModel.xml", + "lib/netstandard2.0/System.Composition.AttributedModel.dll", + "lib/netstandard2.0/System.Composition.AttributedModel.xml", + "system.composition.attributedmodel.6.0.0.nupkg.sha512", + "system.composition.attributedmodel.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.Convention/6.0.0": { + "sha512": "XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==", + "type": "package", + "path": "system.composition.convention/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.Convention.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.Convention.dll", + "lib/net461/System.Composition.Convention.xml", + "lib/net6.0/System.Composition.Convention.dll", + "lib/net6.0/System.Composition.Convention.xml", + "lib/netstandard2.0/System.Composition.Convention.dll", + "lib/netstandard2.0/System.Composition.Convention.xml", + "system.composition.convention.6.0.0.nupkg.sha512", + "system.composition.convention.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.Hosting/6.0.0": { + "sha512": "w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==", + "type": "package", + "path": "system.composition.hosting/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.Hosting.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.Hosting.dll", + "lib/net461/System.Composition.Hosting.xml", + "lib/net6.0/System.Composition.Hosting.dll", + "lib/net6.0/System.Composition.Hosting.xml", + "lib/netstandard2.0/System.Composition.Hosting.dll", + "lib/netstandard2.0/System.Composition.Hosting.xml", + "system.composition.hosting.6.0.0.nupkg.sha512", + "system.composition.hosting.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.Runtime/6.0.0": { + "sha512": "qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==", + "type": "package", + "path": "system.composition.runtime/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.Runtime.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.Runtime.dll", + "lib/net461/System.Composition.Runtime.xml", + "lib/net6.0/System.Composition.Runtime.dll", + "lib/net6.0/System.Composition.Runtime.xml", + "lib/netstandard2.0/System.Composition.Runtime.dll", + "lib/netstandard2.0/System.Composition.Runtime.xml", + "system.composition.runtime.6.0.0.nupkg.sha512", + "system.composition.runtime.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.TypedParts/6.0.0": { + "sha512": "iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==", + "type": "package", + "path": "system.composition.typedparts/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.TypedParts.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.TypedParts.dll", + "lib/net461/System.Composition.TypedParts.xml", + "lib/net6.0/System.Composition.TypedParts.dll", + "lib/net6.0/System.Composition.TypedParts.xml", + "lib/netstandard2.0/System.Composition.TypedParts.dll", + "lib/netstandard2.0/System.Composition.TypedParts.xml", + "system.composition.typedparts.6.0.0.nupkg.sha512", + "system.composition.typedparts.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.IO.Pipelines/6.0.3": { + "sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", + "type": "package", + "path": "system.io.pipelines/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.IO.Pipelines.dll", + "lib/net461/System.IO.Pipelines.xml", + "lib/net6.0/System.IO.Pipelines.dll", + "lib/net6.0/System.IO.Pipelines.xml", + "lib/netcoreapp3.1/System.IO.Pipelines.dll", + "lib/netcoreapp3.1/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "system.io.pipelines.6.0.3.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Reflection.Metadata/6.0.1": { + "sha512": "III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==", + "type": "package", + "path": "system.reflection.metadata/6.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Reflection.Metadata.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Reflection.Metadata.dll", + "lib/net461/System.Reflection.Metadata.xml", + "lib/net6.0/System.Reflection.Metadata.dll", + "lib/net6.0/System.Reflection.Metadata.xml", + "lib/netstandard2.0/System.Reflection.Metadata.dll", + "lib/netstandard2.0/System.Reflection.Metadata.xml", + "system.reflection.metadata.6.0.1.nupkg.sha512", + "system.reflection.metadata.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Text.Encoding.CodePages/6.0.0": { + "sha512": "ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", + "type": "package", + "path": "system.text.encoding.codepages/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Text.Encoding.CodePages.dll", + "lib/net461/System.Text.Encoding.CodePages.xml", + "lib/net6.0/System.Text.Encoding.CodePages.dll", + "lib/net6.0/System.Text.Encoding.CodePages.xml", + "lib/netcoreapp3.1/System.Text.Encoding.CodePages.dll", + "lib/netcoreapp3.1/System.Text.Encoding.CodePages.xml", + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "lib/netstandard2.0/System.Text.Encoding.CodePages.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/netcoreapp3.1/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netcoreapp3.1/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.xml", + "system.text.encoding.codepages.6.0.0.nupkg.sha512", + "system.text.encoding.codepages.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Threading.Channels/6.0.0": { + "sha512": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==", + "type": "package", + "path": "system.threading.channels/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Threading.Channels.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Threading.Channels.dll", + "lib/net461/System.Threading.Channels.xml", + "lib/net6.0/System.Threading.Channels.dll", + "lib/net6.0/System.Threading.Channels.xml", + "lib/netcoreapp3.1/System.Threading.Channels.dll", + "lib/netcoreapp3.1/System.Threading.Channels.xml", + "lib/netstandard2.0/System.Threading.Channels.dll", + "lib/netstandard2.0/System.Threading.Channels.xml", + "lib/netstandard2.1/System.Threading.Channels.dll", + "lib/netstandard2.1/System.Threading.Channels.xml", + "system.threading.channels.6.0.0.nupkg.sha512", + "system.threading.channels.nuspec", + "useSharedDesignerContext.txt" + ] + } + }, + "projectFileDependencyGroups": { + "net8.0": [ + "Microsoft.EntityFrameworkCore >= 8.0.10", + "Microsoft.EntityFrameworkCore.Design >= 8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL >= 8.0.10" + ] + }, + "packageFolders": { + "C:\\Users\\class_student\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj", + "projectName": "data", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "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": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/data/obj/project.nuget.cache b/data/obj/project.nuget.cache new file mode 100644 index 0000000..ab1c6bf --- /dev/null +++ b/data/obj/project.nuget.cache @@ -0,0 +1,47 @@ +{ + "version": 2, + "dgSpecHash": "dq+xJQNSo82BcvI1YOEsRM5SyN3J419X1oAn1yZywg6ptvxskzy0YvsVYIchdWZwskiwWAGbewHiRF0FFD64Gg==", + "success": true, + "projectFilePath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj", + "expectedPackageFiles": [ + "C:\\Users\\class_student\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/domain/Models/Group.cs b/domain/Models/Group.cs new file mode 100644 index 0000000..769b2ca --- /dev/null +++ b/domain/Models/Group.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.Models +{ + public class Group + { + public required int Id { get; set; } + public required string Name { get; set; } + } +} diff --git a/domain/Models/Presence.cs b/domain/Models/Presence.cs new file mode 100644 index 0000000..6561111 --- /dev/null +++ b/domain/Models/Presence.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.Models +{ + public class Presence + { + + public required User User { get; set; } + public required int GroupId { get; set; } + public bool IsAttedance { get; set; } = true; + public required DateTime Date { get; set; } + + public required int LessonNumber { get; set; } + } +} diff --git a/domain/Models/User.cs b/domain/Models/User.cs new file mode 100644 index 0000000..cd35dc6 --- /dev/null +++ b/domain/Models/User.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.Models +{ + public class User + { + public required string FIO { get; set; } + public Guid Guid { get; set; } + public required Group Group { get; set; } + } +} diff --git a/domain/UseCase/GroupUseCase.cs b/domain/UseCase/GroupUseCase.cs new file mode 100644 index 0000000..3705a45 --- /dev/null +++ b/domain/UseCase/GroupUseCase.cs @@ -0,0 +1,107 @@ +using data.LocalData; +using data.Repository; +using domain.Models; + + +namespace domain.UseCase +{ + public class GroupUseCase + { + private readonly IGroupRepository _repositoryGroupImpl; + + public GroupUseCase(IGroupRepository repositoryGroupImpl) + { + _repositoryGroupImpl = repositoryGroupImpl; + } + + // Приватный метод для валидации имени группы + + + // Приватный метод для валидации существования группы по ID + private GroupLocalEntity ValidateGroupExistence(int groupId) + { + var existingGroup = _repositoryGroupImpl.GetAllGroup() + .FirstOrDefault(g => g.Id == groupId); + + if (existingGroup == null) + { + throw new ArgumentException("Группа не найдена."); + } + + return existingGroup; + } + + + // Метод для получения списка всех групп + public List GetAllGroups() + { + return [.. _repositoryGroupImpl.GetAllGroup() + .Select(it => new Group { Id = it.Id, Name = it.Name })]; + } + + + public Group FindGroupById(int groupId) + { + var group = GetAllGroups().FirstOrDefault(g => g.Id == groupId); + + if (group == null) + { + throw new ArgumentException("Группа не найдена."); + } + + return group; + } + + + // Метод для добавления новой группы + public void AddGroup(string groupName) + { + + + var newId = _repositoryGroupImpl.GetAllGroup().Any() + ? _repositoryGroupImpl.GetAllGroup().Max(g => g.Id) + 1 + : 1; + + GroupLocalEntity newGroup = new GroupLocalEntity + { + Id = newId, + Name = groupName + }; + + _repositoryGroupImpl.AddGroup(newGroup); + } + + public void RemoveGroupById(int groupId) + { + + var existingGroup = ValidateGroupExistence(groupId); + List _groups = GetAllGroups(); + + // Находим группу по ID и удаляем ее + var groupToRemove = _groups.FirstOrDefault(g => g.Id == existingGroup.Id); + if (groupToRemove != null) + { + _groups.Remove(groupToRemove); + _repositoryGroupImpl.RemoveGroupById(existingGroup.Id); + } + else + { + throw new ArgumentException("Группа не найдена."); + // Обработка случая, если группа не найдена (например, выброс исключения) + } + } + + + // Метод для изменения названия группы + public void UpdateGroup(int groupId, string newGroupName) + { + + var existingGroup = ValidateGroupExistence(groupId); + + existingGroup.Name = newGroupName; + _repositoryGroupImpl.UpdateGroupById(existingGroup.Id, existingGroup); + + + } + } +} \ No newline at end of file diff --git a/domain/UseCase/UseCaseGeneratePresence.cs b/domain/UseCase/UseCaseGeneratePresence.cs new file mode 100644 index 0000000..94d18b1 --- /dev/null +++ b/domain/UseCase/UseCaseGeneratePresence.cs @@ -0,0 +1,175 @@ +using ClosedXML.Excel; +using data.RemoteData.RemoteDataBase.DAO; +using data.Repository; +using domain.Models; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace domain.UseCase +{ + public class UseCaseGeneratePresence + { + public readonly IUserRepository _userRepository; + public readonly IPresenceRepository _presenceRepository; + private readonly IGroupRepository _groupRepository; + + public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository, IGroupRepository groupRepository) + { + _userRepository = userRepository; + _presenceRepository = presenceRepository; + _groupRepository = groupRepository; + } + + public List GetPresenceByGroupAndDate(int groupId, DateTime date) + { + return _presenceRepository.GetPresenceByGroupAndDate(groupId, date); + } + + + public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId, DateTime currentDate) + { + var users = _userRepository.GetAllUsers.Where(u => u.GroupID == groupId).ToList(); + List presences = new List(); + for (int lessonNumber = firstLesson; lessonNumber <= lastLesson; lessonNumber++) + { + foreach (var user in users) + { + presences.Add(new PresenceLocalEntity + { + UserGuid = user.Guid, + Date = currentDate, + LessonNumber = lessonNumber, + IsAttedance = true + }); + } + } + _presenceRepository.SavePresence(presences); + } + + public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime) + { + for (int i = 0; i < 7; i++) + { + DateTime currentTime = startTime.AddDays(i); + GeneratePresenceDaily(firstLesson, lastLesson, groupId, currentTime); + } + } + + + + // Отметить пользователя как отсутствующего на диапазоне занятий + public void MarkUserAsAbsent(Guid userGuid, int groupId, int firstLesson, int lastLesson, DateTime date) + { + var presences = _presenceRepository.GetPresenceByGroupAndDate(groupId, date); + foreach (var presence in presences.Where(p => p.UserGuid == userGuid && p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson)) + { + presence.IsAttedance = false; + + + + } + _presenceRepository.SavePresence(presences); + } + + + + public List GetAllPresenceByGroup(int groupId) + { + return _presenceRepository.GetPresenceByGroup(groupId); + } + + public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId) + { + return _presenceRepository.GetGeneralPresenceForGroup(groupId); + } + + public Dictionary> GetAllAttendanceByGroups() + { + var attendanceByGroup = new Dictionary>(); + var allGroups = _groupRepository.GetAllGroup(); + + foreach (var group in allGroups) + { + var groupAttendance = _presenceRepository.GetAttendanceByGroup(group.Id); + var attendanceRecords = new List(); + + foreach (var record in groupAttendance) + { + var names = _userRepository.GetUserNames().Where(u => u.Guid == record.UserGuid); + foreach (var name in names) + { + attendanceRecords.Add(new Excel + { + UserName = name.FIO, + UserGuid = name.Guid, + Date = record.Date, + IsAttedance = record.IsAttedance, + LessonNumber = record.LessonNumber, + GroupName = group.Name + }); + } + } + + attendanceByGroup.Add(group.Name, attendanceRecords); + } + + return attendanceByGroup; + } + + public void ExportAttendanceToExcel() + { + var attendanceByGroup = GetAllAttendanceByGroups(); + string projectDirectory = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName; + string reportsFolderPath = Path.Combine(projectDirectory, "Reports"); + string filePath = Path.Combine(reportsFolderPath, "AttendanceReport.xlsx"); + + // Создаем папку, если она не существует + if (!Directory.Exists(reportsFolderPath)) + { + Directory.CreateDirectory(reportsFolderPath); + } + using (var workbook = new XLWorkbook()) + { + foreach (var group in attendanceByGroup) + { + var worksheet = workbook.Worksheets.Add($"{group.Key}"); + worksheet.Cell(1, 1).Value = "ФИО"; + worksheet.Cell(1, 2).Value = "Группа"; + worksheet.Cell(1, 3).Value = "Дата"; + worksheet.Cell(1, 4).Value = "Занятие"; + worksheet.Cell(1, 5).Value = "Статус"; + + int row = 2; + int lesNum = 1; + foreach (var record in group.Value.OrderBy(r => r.Date).ThenBy(r => r.LessonNumber).ThenBy(r => r.UserGuid)) + { + if (lesNum != record.LessonNumber) + { + row++; + } + worksheet.Cell(row, 1).Value = record.UserName; + worksheet.Cell(row, 2).Value = record.GroupName; + worksheet.Cell(row, 3).Value = record.Date.ToString("dd.MM.yyyy"); + worksheet.Cell(row, 4).Value = record.LessonNumber.ToString(); + worksheet.Cell(row, 5).Value = record.IsAttedance ? "Присутствует" : "Отсутствует"; + row++; + + + + lesNum = record.LessonNumber; + } + + worksheet.Columns().AdjustToContents(); + } + + workbook.SaveAs(filePath); + } + } + + + } +} diff --git a/domain/UseCase/UserUseCase.cs b/domain/UseCase/UserUseCase.cs new file mode 100644 index 0000000..521e804 --- /dev/null +++ b/domain/UseCase/UserUseCase.cs @@ -0,0 +1,111 @@ +using Dataceptions; +using data.Repository; +using domain.Models; + +namespace domain.UseCase +{ + public class UserUseCase + { + private readonly IUserRepository _repositoryUserImpl; + private readonly IGroupRepository _repositoryGroupImpl; + + public UserUseCase(IUserRepository repositoryImpl, IGroupRepository repositoryGroupImpl) + { + _repositoryUserImpl = repositoryImpl; + _repositoryGroupImpl = repositoryGroupImpl; + } + + // Вывести всех пользователей + public List GetAllUsers() => _repositoryUserImpl.GetAllUsers + .Join(_repositoryGroupImpl.GetAllGroup(), + user => user.GroupID, + group => group.Id, + (user, group) => + new User + { + FIO = user.FIO, + Guid = user.Guid, + Group = new Group { Id = group.Id, Name = group.Name } + }).ToList(); + + // Удалить пользователя по id + public bool RemoveUserById(Guid userGuid) + { + try + { + return _repositoryUserImpl.RemoveUserById(userGuid); + } + catch (UserNotFoundException) + { + return false; + } + catch (RepositoryException) + { + return false; + } + } + + // Обновить пользователя по guid + public User UpdateUser(User user) + { + UserLocalEnity userLocalEnity = new UserLocalEnity + { + FIO = user.FIO, + GroupID = user.Group.Id, + Guid = user.Guid + }; + + UserLocalEnity? result = _repositoryUserImpl.UpdateUser(userLocalEnity); + + if (result == null) + { + throw new Exception("Ошибка при обновлении пользователя."); + } + + var groupEntity = _repositoryGroupImpl.GetAllGroup().FirstOrDefault(g => g.Id == result.GroupID); + + if (groupEntity == null) + { + throw new Exception("Группа не найдена."); + } + + return new User + { + FIO = result.FIO, + Guid = result.Guid, + Group = new Group + { + Id = groupEntity.Id, + Name = groupEntity.Name + } + }; + } + + // Найти пользователя по id + public User FindUserById(Guid userGuid) + { + var user = _repositoryUserImpl.GetAllUsers + .FirstOrDefault(u => u.Guid == userGuid); + + if (user == null) + { + throw new Exception("Пользователь не найден."); + } + + var group = _repositoryGroupImpl.GetAllGroup() + .FirstOrDefault(g => g.Id == user.GroupID); + + if (group == null) + { + throw new Exception("Группа не найдена."); + } + + return new User + { + FIO = user.FIO, + Guid = user.Guid, + Group = new Group { Id = group.Id, Name = group.Name } + }; + } + } +} diff --git a/domain/domain.csproj b/domain/domain.csproj new file mode 100644 index 0000000..992a448 --- /dev/null +++ b/domain/domain.csproj @@ -0,0 +1,17 @@ + + + + + + + + + + + + net8.0 + enable + enable + + + diff --git a/domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs b/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs new file mode 100644 index 0000000..22f5bf2 --- /dev/null +++ b/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("domain")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("domain")] +[assembly: System.Reflection.AssemblyTitleAttribute("domain")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache b/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache new file mode 100644 index 0000000..191d5d4 --- /dev/null +++ b/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +50afef9105125301dd1c05ea9fb1e5f605a3f79c6aca753bbf0156749546e4dd diff --git a/domain/obj/Debug/net8.0/domain.GeneratedMSBuildEditorConfig.editorconfig b/domain/obj/Debug/net8.0/domain.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..65a1010 --- /dev/null +++ b/domain/obj/Debug/net8.0/domain.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = domain +build_property.ProjectDir = C:\Users\class_student\source\repos\presence\domain\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/domain/obj/Debug/net8.0/domain.GlobalUsings.g.cs b/domain/obj/Debug/net8.0/domain.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/domain/obj/Debug/net8.0/domain.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/domain/obj/Debug/net8.0/domain.assets.cache b/domain/obj/Debug/net8.0/domain.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..a98c6a8f524445d8ff40a6af1e951591a88b97e7 GIT binary patch literal 14690 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 + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\class_student\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.9.2 + + + + + + + + + \ No newline at end of file diff --git a/domain/obj/domain.csproj.nuget.g.targets b/domain/obj/domain.csproj.nuget.g.targets new file mode 100644 index 0000000..baac958 --- /dev/null +++ b/domain/obj/domain.csproj.nuget.g.targets @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/domain/obj/project.assets.json b/domain/obj/project.assets.json new file mode 100644 index 0000000..782ca28 --- /dev/null +++ b/domain/obj/project.assets.json @@ -0,0 +1,1099 @@ +{ + "version": 3, + "targets": { + "net8.0": { + "ClosedXML/0.104.1": { + "type": "package", + "dependencies": { + "ClosedXML.Parser": "[1.2.0, 2.0.0)", + "DocumentFormat.OpenXml": "[3.0.1, 4.0.0)", + "ExcelNumberFormat": "1.1.0", + "RBush": "3.2.0", + "SixLabors.Fonts": "1.0.0", + "System.IO.Packaging": "8.0.0" + }, + "compile": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + } + }, + "ClosedXML.Parser/1.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml/3.0.1": { + "type": "package", + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.0.1" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "type": "package", + "dependencies": { + "System.IO.Packaging": "8.0.0" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + } + }, + "ExcelNumberFormat/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Npgsql/8.0.5": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "compile": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + } + }, + "RBush/3.2.0": { + "type": "package", + "compile": { + "lib/net6.0/RBush.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/RBush.dll": { + "related": ".xml" + } + } + }, + "SixLabors.Fonts/1.0.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + } + }, + "System.IO.Packaging/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "data/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v8.0", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, + "compile": { + "bin/placeholder/data.dll": {} + }, + "runtime": { + "bin/placeholder/data.dll": {} + } + } + } + }, + "libraries": { + "ClosedXML/0.104.1": { + "sha512": "RVm2fUNWJlBJlg07shrfeWzrHPG5ypI/vARqdUOUbUdaog8yBw8l4IbCHf2MXt0AXtzaZqGNqhFaCAHigCBdfw==", + "type": "package", + "path": "closedxml/0.104.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "closedxml.0.104.1.nupkg.sha512", + "closedxml.nuspec", + "lib/netstandard2.0/ClosedXML.dll", + "lib/netstandard2.0/ClosedXML.pdb", + "lib/netstandard2.0/ClosedXML.xml", + "lib/netstandard2.1/ClosedXML.dll", + "lib/netstandard2.1/ClosedXML.pdb", + "lib/netstandard2.1/ClosedXML.xml", + "nuget-logo.png" + ] + }, + "ClosedXML.Parser/1.2.0": { + "sha512": "w+/0tsxABS3lkSH8EUlA7IGme+mq5T/Puf3DbOiTckmSuUpAUO2LK29oXYByCcWkBv6wcRHxgWlQb1lxkwI0Tw==", + "type": "package", + "path": "closedxml.parser/1.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "closedxml.parser.1.2.0.nupkg.sha512", + "closedxml.parser.nuspec", + "lib/netstandard2.0/ClosedXML.Parser.dll", + "lib/netstandard2.0/ClosedXML.Parser.xml", + "lib/netstandard2.1/ClosedXML.Parser.dll", + "lib/netstandard2.1/ClosedXML.Parser.xml" + ] + }, + "DocumentFormat.OpenXml/3.0.1": { + "sha512": "DCK1cwFUJ1FGGyYyo++HWl9H1RkqMWIu+FGOLRy6E4L4y0/HIhlJ7N/n1HKboFfOwKn1cMBRxt1RCuDbIEy5YQ==", + "type": "package", + "path": "documentformat.openxml/3.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "documentformat.openxml.3.0.1.nupkg.sha512", + "documentformat.openxml.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.dll", + "lib/net35/DocumentFormat.OpenXml.xml", + "lib/net40/DocumentFormat.OpenXml.dll", + "lib/net40/DocumentFormat.OpenXml.xml", + "lib/net46/DocumentFormat.OpenXml.dll", + "lib/net46/DocumentFormat.OpenXml.xml", + "lib/net8.0/DocumentFormat.OpenXml.dll", + "lib/net8.0/DocumentFormat.OpenXml.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.xml" + ] + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "sha512": "ifyI7OW7sggz7LQMIAD2aUsY/zVUON9QaHrpZ4MK33iVMeHlTG4uhUE2aLWb31nry+LCs2ALDAwf8OfUJGjgBg==", + "type": "package", + "path": "documentformat.openxml.framework/3.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "documentformat.openxml.framework.3.0.1.nupkg.sha512", + "documentformat.openxml.framework.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.Framework.dll", + "lib/net35/DocumentFormat.OpenXml.Framework.xml", + "lib/net40/DocumentFormat.OpenXml.Framework.dll", + "lib/net40/DocumentFormat.OpenXml.Framework.xml", + "lib/net46/DocumentFormat.OpenXml.Framework.dll", + "lib/net46/DocumentFormat.OpenXml.Framework.xml", + "lib/net6.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net6.0/DocumentFormat.OpenXml.Framework.xml", + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net8.0/DocumentFormat.OpenXml.Framework.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.xml" + ] + }, + "ExcelNumberFormat/1.1.0": { + "sha512": "R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==", + "type": "package", + "path": "excelnumberformat/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "excelnumberformat.1.1.0.nupkg.sha512", + "excelnumberformat.nuspec", + "icon.png", + "lib/net20/ExcelNumberFormat.dll", + "lib/net20/ExcelNumberFormat.xml", + "lib/netstandard1.0/ExcelNumberFormat.dll", + "lib/netstandard1.0/ExcelNumberFormat.xml", + "lib/netstandard2.0/ExcelNumberFormat.dll", + "lib/netstandard2.0/ExcelNumberFormat.xml" + ] + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "sha512": "PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "type": "package", + "path": "microsoft.entityframeworkcore/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props", + "lib/net8.0/Microsoft.EntityFrameworkCore.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "sha512": "FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "sha512": "51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "docs/PACKAGE.md", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "sha512": "OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "sha512": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "sha512": "HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "type": "package", + "path": "microsoft.extensions.caching.memory/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", + "lib/net462/Microsoft.Extensions.Caching.Memory.dll", + "lib/net462/Microsoft.Extensions.Caching.Memory.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "sha512": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/8.0.1": { + "sha512": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "type": "package", + "path": "microsoft.extensions.logging/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Logging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", + "lib/net462/Microsoft.Extensions.Logging.dll", + "lib/net462/Microsoft.Extensions.Logging.xml", + "lib/net6.0/Microsoft.Extensions.Logging.dll", + "lib/net6.0/Microsoft.Extensions.Logging.xml", + "lib/net7.0/Microsoft.Extensions.Logging.dll", + "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net8.0/Microsoft.Extensions.Logging.dll", + "lib/net8.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.8.0.1.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "sha512": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/8.0.2": { + "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "type": "package", + "path": "microsoft.extensions.options/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net462/Microsoft.Extensions.Options.xml", + "lib/net6.0/Microsoft.Extensions.Options.dll", + "lib/net6.0/Microsoft.Extensions.Options.xml", + "lib/net7.0/Microsoft.Extensions.Options.dll", + "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.8.0.2.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "type": "package", + "path": "microsoft.extensions.primitives/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net462/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/net7.0/Microsoft.Extensions.Primitives.dll", + "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Npgsql/8.0.5": { + "sha512": "zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "type": "package", + "path": "npgsql/8.0.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net6.0/Npgsql.dll", + "lib/net6.0/Npgsql.xml", + "lib/net7.0/Npgsql.dll", + "lib/net7.0/Npgsql.xml", + "lib/net8.0/Npgsql.dll", + "lib/net8.0/Npgsql.xml", + "lib/netstandard2.0/Npgsql.dll", + "lib/netstandard2.0/Npgsql.xml", + "lib/netstandard2.1/Npgsql.dll", + "lib/netstandard2.1/Npgsql.xml", + "npgsql.8.0.5.nupkg.sha512", + "npgsql.nuspec", + "postgresql.png" + ] + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "sha512": "gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "type": "package", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.xml", + "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "npgsql.entityframeworkcore.postgresql.nuspec", + "postgresql.png" + ] + }, + "RBush/3.2.0": { + "sha512": "ijGh9N0zZ7JfXk3oQkWCwK8SwSSByexbyh/MjbCjNxOft9eG5ZqKC1vdgiYq78h4IZRFmN4s3JZ/b10Jipud5w==", + "type": "package", + "path": "rbush/3.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/RBush.dll", + "lib/net6.0/RBush.xml", + "lib/netcoreapp3.1/RBush.dll", + "lib/netcoreapp3.1/RBush.xml", + "lib/netstandard1.2/RBush.dll", + "lib/netstandard1.2/RBush.xml", + "rbush.3.2.0.nupkg.sha512", + "rbush.nuspec", + "readme.md" + ] + }, + "SixLabors.Fonts/1.0.0": { + "sha512": "LFQsCZlV0xlUyXAOMUo5kkSl+8zAQXXbbdwWchtk0B4o7zotZhQsQOcJUELGHdfPfm/xDAsz6hONAuV25bJaAg==", + "type": "package", + "path": "sixlabors.fonts/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp3.1/SixLabors.Fonts.dll", + "lib/netcoreapp3.1/SixLabors.Fonts.xml", + "lib/netstandard2.0/SixLabors.Fonts.dll", + "lib/netstandard2.0/SixLabors.Fonts.xml", + "lib/netstandard2.1/SixLabors.Fonts.dll", + "lib/netstandard2.1/SixLabors.Fonts.xml", + "sixlabors.fonts.1.0.0.nupkg.sha512", + "sixlabors.fonts.128.png", + "sixlabors.fonts.nuspec" + ] + }, + "System.IO.Packaging/8.0.0": { + "sha512": "8g1V4YRpdGAxFcK8v9OjuMdIOJSpF30Zb1JGicwVZhly3I994WFyBdV6mQEo8d3T+URQe55/M0U0eIH0Hts1bg==", + "type": "package", + "path": "system.io.packaging/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.IO.Packaging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.IO.Packaging.targets", + "lib/net462/System.IO.Packaging.dll", + "lib/net462/System.IO.Packaging.xml", + "lib/net6.0/System.IO.Packaging.dll", + "lib/net6.0/System.IO.Packaging.xml", + "lib/net7.0/System.IO.Packaging.dll", + "lib/net7.0/System.IO.Packaging.xml", + "lib/net8.0/System.IO.Packaging.dll", + "lib/net8.0/System.IO.Packaging.xml", + "lib/netstandard2.0/System.IO.Packaging.dll", + "lib/netstandard2.0/System.IO.Packaging.xml", + "system.io.packaging.8.0.0.nupkg.sha512", + "system.io.packaging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "data/1.0.0": { + "type": "project", + "path": "../data/data.csproj", + "msbuildProject": "../data/data.csproj" + } + }, + "projectFileDependencyGroups": { + "net8.0": [ + "ClosedXML >= 0.104.1", + "data >= 1.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\class_student\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj", + "projectName": "domain", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": { + "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "dependencies": { + "ClosedXML": { + "target": "Package", + "version": "[0.104.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/domain/obj/project.nuget.cache b/domain/obj/project.nuget.cache new file mode 100644 index 0000000..e76a5a5 --- /dev/null +++ b/domain/obj/project.nuget.cache @@ -0,0 +1,32 @@ +{ + "version": 2, + "dgSpecHash": "lJTJ14wBwjXFnaVaxoabnlDogMX3Sp0lQVlqyaedGyWhAz5YJhifXah8drXyM7t4sf35FH72dxhiyf+6Qi+IXA==", + "success": true, + "projectFilePath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj", + "expectedPackageFiles": [ + "C:\\Users\\class_student\\.nuget\\packages\\closedxml\\0.104.1\\closedxml.0.104.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\documentformat.openxml\\3.0.1\\documentformat.openxml.3.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\documentformat.openxml.framework\\3.0.1\\documentformat.openxml.framework.3.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\rbush\\3.2.0\\rbush.3.2.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.io.packaging\\8.0.0\\system.io.packaging.8.0.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/presence.sln b/presence.sln new file mode 100644 index 0000000..33ce01b --- /dev/null +++ b/presence.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "data", "data\data.csproj", "{7E1D482B-6976-4984-85C3-AE6E789E7FC2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "domain", "domain\domain.csproj", "{53B2C28F-CCC6-4399-BA63-8A21E2D26B73}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ui", "ui\ui.csproj", "{1904560F-B17D-4598-AE5C-5FA0D0C2517B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "console_ui", "console_ui\console_ui.csproj", "{214169B6-E77C-4C7D-8D64-6E5126C243FA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7E1D482B-6976-4984-85C3-AE6E789E7FC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E1D482B-6976-4984-85C3-AE6E789E7FC2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E1D482B-6976-4984-85C3-AE6E789E7FC2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E1D482B-6976-4984-85C3-AE6E789E7FC2}.Release|Any CPU.Build.0 = Release|Any CPU + {53B2C28F-CCC6-4399-BA63-8A21E2D26B73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {53B2C28F-CCC6-4399-BA63-8A21E2D26B73}.Debug|Any CPU.Build.0 = Debug|Any CPU + {53B2C28F-CCC6-4399-BA63-8A21E2D26B73}.Release|Any CPU.ActiveCfg = Release|Any CPU + {53B2C28F-CCC6-4399-BA63-8A21E2D26B73}.Release|Any CPU.Build.0 = Release|Any CPU + {1904560F-B17D-4598-AE5C-5FA0D0C2517B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1904560F-B17D-4598-AE5C-5FA0D0C2517B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1904560F-B17D-4598-AE5C-5FA0D0C2517B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1904560F-B17D-4598-AE5C-5FA0D0C2517B}.Release|Any CPU.Build.0 = Release|Any CPU + {214169B6-E77C-4C7D-8D64-6E5126C243FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {214169B6-E77C-4C7D-8D64-6E5126C243FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {214169B6-E77C-4C7D-8D64-6E5126C243FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {214169B6-E77C-4C7D-8D64-6E5126C243FA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/ui/GroupConsole.cs b/ui/GroupConsole.cs new file mode 100644 index 0000000..8dd104c --- /dev/null +++ b/ui/GroupConsole.cs @@ -0,0 +1,97 @@ +using domain.UseCase; +using System; +using System.Text; + +namespace ui +{ + public class GroupConsoleUI + { + private readonly GroupUseCase _groupUseCase; + + public GroupConsoleUI(GroupUseCase groupUseCase) + { + _groupUseCase = groupUseCase; + } + + public void FindGroupById(int groupId) + { + try + { + var group = _groupUseCase.FindGroupById(groupId); + Console.WriteLine($"ID группы: {group.Id} Название группы: {group.Name}"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}"); + } + } + + // Метод для отображения всех групп + public void DisplayAllGroups() + { + Console.WriteLine("\n=== Список всех групп ==="); + StringBuilder groupOutput = new StringBuilder(); + + foreach (var group in _groupUseCase.GetAllGroups()) + { + groupOutput.AppendLine($"{group.Id}\t{group.Name}"); + } + + Console.WriteLine(groupOutput); + Console.WriteLine("===========================\n"); + } + + // Метод для добавления новой группы + public void AddGroup(string groupName) + { + try + { + ValidateGroupName(groupName); // Валидация в интерфейсе + _groupUseCase.AddGroup(groupName); + Console.WriteLine($"\nГруппа {groupName} добавлена.\n"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); + } + } + + public void RemoveGroup(string groupIdStr) + { + try + { + int groupId = int.Parse(groupIdStr); + ValidateGroupId(groupId); // Валидация в интерфейсе + _groupUseCase.RemoveGroupById(groupId); + Console.WriteLine($"Группа с ID: {groupId} удалена"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); + } + } + + // Метод для обновления названия группы + public void UpdateGroupName(int groupId, string newGroupName) + { + _groupUseCase.UpdateGroup(groupId, newGroupName); + Console.WriteLine($"\nНазвание группы с ID {groupId} изменено на {newGroupName}.\n"); + } + + private void ValidateGroupName(string groupName) + { + if (string.IsNullOrWhiteSpace(groupName)) + { + throw new ArgumentException("Имя группы не может быть пустым."); + } + } + + private void ValidateGroupId(int GroupId) + { + if (GroupId < 1) + { + throw new ArgumentException("Введите корректный ID группы."); + } + } + } +} diff --git a/ui/MainMenu.cs b/ui/MainMenu.cs new file mode 100644 index 0000000..80343db --- /dev/null +++ b/ui/MainMenu.cs @@ -0,0 +1,229 @@ +using data.Repository; +using domain.Models; +using domain.UseCase; +using System; + +namespace ui +{ + public class MainMenuUI + { + private readonly UserConsoleUI _userConsoleUI; + private readonly GroupConsoleUI _groupConsoleUI; + private readonly PresenceConsole _presenceConsoleUI; + + public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase, UseCaseGeneratePresence presenceUseCase, IPresenceRepository presenceRepository) + { + _userConsoleUI = new UserConsoleUI(userUseCase); + _groupConsoleUI = new GroupConsoleUI(groupUseCase); + _presenceConsoleUI = new PresenceConsole(presenceUseCase, presenceRepository); // Передаем presenceRepository + } + + + public void DisplayMenu() + { + while (true) + { + Console.WriteLine("\n==================== Главная Панель ====================\n"); + + Console.WriteLine("~~~~~~~~~~~~~~~ УПРАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯМИ ~~~~~~~~~~~~~~~"); + Console.WriteLine("1. Показать список всех пользователей"); + Console.WriteLine("2. Удалить пользователя по его Guid"); + Console.WriteLine("3. Обновить данные пользователя по Guid"); + Console.WriteLine("4. Найти пользователя по его Guid"); + Console.WriteLine(); + + Console.WriteLine("~~~~~~~~~~~~~~~ УПРАВЛЕНИЕ ГРУППАМИ ~~~~~~~~~~~~~~~"); + Console.WriteLine("5. Показать список всех групп"); + Console.WriteLine("6. Создать новую группу"); + Console.WriteLine("7. Удалить группу по ID"); + Console.WriteLine("8. Изменить название существующей группы"); + Console.WriteLine("9. Найти группу по ее ID"); + Console.WriteLine(); + + Console.WriteLine("~~~~~~~~~~~~~~~ УПРАВЛЕНИЕ ПОСЕЩАЕМОСТЬЮ ~~~~~~~~~~~~~~~"); + Console.WriteLine("10. Сгенерировать посещаемость на текущий день"); + Console.WriteLine("11. Сгенерировать посещаемость на текущую неделю"); + Console.WriteLine("12. Показать посещаемость всех пользователей"); + Console.WriteLine("13. Отметить пользователя как отсутствующего"); + Console.WriteLine("14. Вывести посещаемость группы по ID"); + Console.WriteLine("15. Создать Excel файл"); + Console.WriteLine("16. Информация о посещаемости"); + + Console.WriteLine(); + + Console.WriteLine("========================================================"); + Console.WriteLine("0. Выход из программы"); + + Console.Write("\nВыберите команду: "); + string command = Console.ReadLine(); + Console.WriteLine(); + + switch (command) + { + case "1": + _userConsoleUI.DisplayAllUsers(); + break; + + case "2": + Console.Write("Введите Guid пользователя для удаления: "); + if (Guid.TryParse(Console.ReadLine(), out Guid userGuid)) + { + _userConsoleUI.RemoveUserById(userGuid); + } + else + { + Console.WriteLine("Неверный формат Guid"); + } + break; + + case "3": + Console.Write("Введите Guid пользователя для обновления: "); + if (Guid.TryParse(Console.ReadLine(), out Guid updateUserGuid)) + { + _userConsoleUI.UpdateUserById(updateUserGuid); + } + else + { + Console.WriteLine("Неверный формат Guid"); + } + break; + + case "4": + Console.Write("Введите Guid пользователя для поиска: "); + if (Guid.TryParse(Console.ReadLine(), out Guid findUserGuid)) + { + _userConsoleUI.FindUserById(findUserGuid); + } + else + { + Console.WriteLine("Неверный формат Guid"); + } + break; + + case "5": + _groupConsoleUI.DisplayAllGroups(); + break; + + case "6": + Console.Write("Введите название новой группы: "); + string newGroupName = Console.ReadLine(); + _groupConsoleUI.AddGroup(newGroupName); + break; + + case "7": + Console.Write("Введите ID группы для удаления: "); + string groupIdForDeleteStr = Console.ReadLine(); // Считываем ID как строку + if (!string.IsNullOrWhiteSpace(groupIdForDeleteStr) && int.TryParse(groupIdForDeleteStr, out int groupIdForDelete)) // Проверяем, что строка не пустая и может быть преобразована в int + { + _groupConsoleUI.RemoveGroup(groupIdForDeleteStr); // Передаем строку в метод + } + else + { + Console.WriteLine("Неверный формат ID группы"); + } + break; + + case "8": + Console.Write("Введите ID группы для изменения: "); + if (int.TryParse(Console.ReadLine(), out int groupIdToUpdate)) + { + Console.Write("Введите новое название группы: "); + string newName = Console.ReadLine(); + _groupConsoleUI.UpdateGroupName(groupIdToUpdate, newName); + } + else + { + Console.WriteLine("Неверный формат ID группы"); + } + break; + + case "9": + Console.Write("Введите ID группы для поиска: "); + if (int.TryParse(Console.ReadLine(), out int idGroupToFind)) + { + _groupConsoleUI.FindGroupById(idGroupToFind); + } + else + { + Console.WriteLine("Неверный формат ID группы"); + } + break; + + case "10": + Console.Write("Введите номер первого занятия: "); + int firstLesson = int.Parse(Console.ReadLine()); + Console.Write("Введите номер последнего занятия: "); + int lastLesson = int.Parse(Console.ReadLine()); + Console.Write("Введите ID группы: "); + int groupIdForPresence = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.GeneratePresenceForDay(DateTime.Now, groupIdForPresence, firstLesson, lastLesson); + Console.WriteLine("Посещаемость на день сгенерирована."); + break; + + case "11": + Console.Write("Введите номер первого занятия: "); + int firstLessonForWeek = int.Parse(Console.ReadLine()); + Console.Write("Введите номер последнего занятия: "); + int lastLessonForWeek = int.Parse(Console.ReadLine()); + Console.Write("Введите ID группы: "); + int groupIdForWeekPresence = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.GeneratePresenceForWeek(DateTime.Now, groupIdForWeekPresence, firstLessonForWeek, lastLessonForWeek); + Console.WriteLine("Посещаемость на неделю сгенерирована."); + break; + + case "12": + Console.Write("Введите дату (гггг-мм-дд): "); + DateTime date = DateTime.Parse(Console.ReadLine()); + Console.Write("Введите ID группы: "); + int groupForPresenceView = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.DisplayPresence(date, groupForPresenceView); + break; + + case "13": + Console.Write("Введите пользователя: "); + userGuid = Guid.Parse(Console.ReadLine()); + Console.Write("Введите номер первого занятия: "); + int firstAbsLesson = int.Parse(Console.ReadLine()); + Console.Write("Введите номер последнего занятия: "); + int lastAbsLesson = int.Parse(Console.ReadLine()); + Console.Write("Введите ID группы: "); + int absGroupId = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.MarkUserAsAbsent(DateTime.Now, absGroupId, userGuid, firstAbsLesson, lastAbsLesson); + Console.WriteLine("Пользователь отмечен как отсутствующий."); + break; + + case "14": + Console.Write("Введите ID группы: "); + int groupIdForAllPresence = int.Parse(Console.ReadLine()); + _presenceConsoleUI.DisplayAllPresenceByGroup(groupIdForAllPresence); + break; + + + + case "15": + _presenceConsoleUI.ExportAttendanceToExcel(); + break; + + case "16": + Console.Write("Введите ID группы: "); + int searchGroupId = int.Parse(Console.ReadLine()); + _presenceConsoleUI.DisplayGeneralPresenceForGroup(searchGroupId); + break; + + case "0": + Console.WriteLine("Выход..."); + return; + + default: + Console.WriteLine("Неверный выбор, попробуйте снова."); + break; + } + Console.WriteLine(); + } + } + } +} diff --git a/ui/PresenceConsole.cs b/ui/PresenceConsole.cs new file mode 100644 index 0000000..a34de1a --- /dev/null +++ b/ui/PresenceConsole.cs @@ -0,0 +1,210 @@ +using data.Repository; +using domain.Models; +using domain.UseCase; +using System; +using System.Collections.Generic; + +namespace ui +{ + public class PresenceConsole + { + private readonly UseCaseGeneratePresence _presenceUseCase; + private readonly IPresenceRepository _presenceRepository; + + public PresenceConsole(UseCaseGeneratePresence presenceUseCase, IPresenceRepository presenceRepository) + { + _presenceUseCase = presenceUseCase; + _presenceRepository = presenceRepository; + } + + // Метод для генерации посещаемости на день + public void GeneratePresenceForDay(DateTime date, int groupId, int firstLesson, int lastLesson) + { + try + { + _presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId, date); + Console.WriteLine("Посещаемость на день успешно сгенерирована."); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); + } + } + + // Метод для генерации посещаемости на неделю + public void GeneratePresenceForWeek(DateTime date, int groupId, int firstLesson, int lastLesson) + { + try + { + _presenceUseCase.GenerateWeeklyPresence(firstLesson, lastLesson, groupId, date); + Console.WriteLine("Посещаемость на неделю успешно сгенерирована."); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); + } + } + + // Метод для отображения посещаемости на конкретную дату и группу + public void DisplayPresence(DateTime date, int groupId) + { + try + { + List presences = _presenceUseCase.GetPresenceByGroupAndDate(groupId, date); + + if (presences == null || presences.Count == 0) + { + Console.WriteLine("Нет данных о посещаемости на выбранную дату."); + return; + } + + Console.WriteLine($"\n Посещаемость на {date:dd.MM.yyyy} "); + Console.WriteLine("-----------------------------------------------------"); + + // Сохраняем номер занятия для сравнения + int previousLessonNumber = -1; + + foreach (var presence in presences) + { + // Проверяем, изменился ли номер занятия + if (previousLessonNumber != presence.LessonNumber) + { + Console.WriteLine("-----------------------------------------------------"); + Console.WriteLine($" Занятие: {presence.LessonNumber} "); + Console.WriteLine("-----------------------------------------------------"); + previousLessonNumber = presence.LessonNumber; + } + + // Форматируем статус присутствия + string status = presence.IsAttedance ? "Присутствует" : "Отсутствует"; + Console.WriteLine($"Пользователь (ID: {presence.UserGuid}) - Статус: {status}"); + } + + Console.WriteLine("-----------------------------------------------------"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при отображении посещаемости: {ex.Message}"); + } + } + + + public void MarkUserAsAbsent(DateTime date, int groupId, Guid userGuid, int firstLesson, int lastLesson) + { + _presenceUseCase.MarkUserAsAbsent(userGuid, groupId, firstLesson, lastLesson, date); + } + + + + + public void DisplayAllPresenceByGroup(int groupId) + { + try + { + var presences = _presenceUseCase.GetAllPresenceByGroup(groupId); + + if (presences == null || !presences.Any()) + { + Console.WriteLine($"Нет данных о посещаемости для группы с ID: {groupId}."); + return; + } + + // Группируем записи посещаемости по дате + var groupedPresences = presences.GroupBy(p => p.Date); + + foreach (var group in groupedPresences) + { + Console.WriteLine("==================================================="); + Console.WriteLine($" Дата: {group.Key:dd.MM.yyyy} "); + Console.WriteLine("==================================================="); + + // Сохраняем номер занятия для сравнения + int previousLessonNumber = -1; + + foreach (var presence in group) + { + // Проверяем, изменился ли номер занятия + if (previousLessonNumber != presence.LessonNumber) + { + Console.WriteLine("---------------------------------------------------"); + Console.WriteLine($" Занятие: {presence.LessonNumber} "); + Console.WriteLine("---------------------------------------------------"); + previousLessonNumber = presence.LessonNumber; + } + + // Форматируем статус присутствия + string status = presence.IsAttedance ? "✅ Присутствует" : "❌ Отсутствует"; + Console.WriteLine($"Пользователь (ID: {presence.UserGuid}) - Статус: {status}"); + } + + Console.WriteLine("---------------------------------------------------"); + } + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при отображении посещаемости: {ex.Message}"); + } + } + + public void DisplayGeneralPresenceForGroup(int groupId) + { + var summary = _presenceRepository.GetGeneralPresenceForGroup(groupId); + + Console.WriteLine($"Человек в группе: {summary.UserCount}, " + + $"Количество проведённых занятий: {summary.LessonCount}, " + + $"Общий процент посещаемости группы: {summary.TotalAttendancePercentage}%"); + + foreach (var user in summary.UserAttendances) + { + if (user.AttendanceRate < 40) + { + Console.ForegroundColor = ConsoleColor.Red; + } + + Console.WriteLine($"GUID Пользователя: {user.UserGuid}, " + + $"Посетил: {user.Attended}, " + + $"Пропустил: {user.Missed}, " + + $"Процент посещаемости: {user.AttendanceRate}%"); + Console.ResetColor(); + } + } + public void ExportAttendanceToExcel() + { + try + { + _presenceUseCase.ExportAttendanceToExcel(); + Console.WriteLine("Данные посещаемости успешно экспортированы в Excel."); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при экспорте посещаемости: {ex.Message}"); + } + } + + public void UpdateUserAttendance(Guid userGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance) + { + try + { + bool result = _presenceRepository.UpdateAtt(userGuid, groupId, firstLesson, lastLesson, date, isAttendance); + + if (result) + { + Console.WriteLine($"Статус посещаемости для пользователя {userGuid} обновлён."); + } + else + { + Console.WriteLine($"Данные о посещаемости для пользователя ID: {userGuid} не найдены."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при обновлении посещаемости: {ex.Message}"); + } + } + + } + + + +} + diff --git a/ui/UserConsole.cs b/ui/UserConsole.cs new file mode 100644 index 0000000..cf76dad --- /dev/null +++ b/ui/UserConsole.cs @@ -0,0 +1,98 @@ +using domain.Models; +using domain.UseCase; +using System; +using System.Linq; +using System.Text; + +namespace ui +{ + public class UserConsoleUI + { + private readonly UserUseCase _userUseCase; + + public UserConsoleUI(UserUseCase userUseCase) + { + _userUseCase = userUseCase; + } + + // Метод для отображения всех пользователей + public void DisplayAllUsers() + { + Console.WriteLine("\n=== Список всех пользователей ==="); + StringBuilder userOutput = new StringBuilder(); + + foreach (var user in _userUseCase.GetAllUsers()) + { + userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}"); + } + + Console.WriteLine(userOutput); + Console.WriteLine("===============================\n"); + } + + // Метод для удаления пользователя по ID + public void RemoveUserById(Guid userGuid) + { + string output = _userUseCase.RemoveUserById(userGuid) ? "Пользователь удален" : "Пользователь не найден"; + Console.WriteLine($"\n{output}\n"); + } + + // Метод для обновления пользователя по ID + public void UpdateUserById(Guid userGuid) + { + try + { + var user = _userUseCase.FindUserById(userGuid); + Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}"); + Console.Write("\nВведите новое ФИО: "); + string newFIO = Console.ReadLine(); + user.FIO = newFIO; + _userUseCase.UpdateUser(user); + Console.WriteLine("\nПользователь обновлен.\n"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); + } + } + + // Метод для поиска пользователя по ID + public void FindUserById(Guid userGuid) + { + try + { + var user = _userUseCase.FindUserById(userGuid); + Console.WriteLine($"\nПользователь найден: {user.Guid}, {user.FIO}, {user.Group.Name}\n"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); + } + } + + private void ValidateUserFIO(string fio) + { + if (string.IsNullOrWhiteSpace(fio)) + { + throw new ArgumentException("ФИО не может быть пустым."); + } + } + + // Приватный метод для валидации существования группы по ID + private GroupLocalEntity ValidateGroupExistence(int groupId) + { + var group = _userUseCase.GetAllUsers().FirstOrDefault(u => u.Group.Id == groupId)?.Group; + if (group == null) + { + throw new Exception("Группа не найдена."); + } + + // Возвращаем правильный объект типа GroupLocalEntity + return new GroupLocalEntity + { + Id = group.Id, + Name = group.Name + }; + } + } +} diff --git a/ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/ui/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/ui/obj/Debug/net8.0/ui.AssemblyInfo.cs b/ui/obj/Debug/net8.0/ui.AssemblyInfo.cs new file mode 100644 index 0000000..f514c9f --- /dev/null +++ b/ui/obj/Debug/net8.0/ui.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("ui")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("ui")] +[assembly: System.Reflection.AssemblyTitleAttribute("ui")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/ui/obj/Debug/net8.0/ui.AssemblyInfoInputs.cache b/ui/obj/Debug/net8.0/ui.AssemblyInfoInputs.cache new file mode 100644 index 0000000..04da69e --- /dev/null +++ b/ui/obj/Debug/net8.0/ui.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +20ed1ba88db46bd37bf95cc037aa54d55b6a60c0405520a36b7f26aec1c3e1fe diff --git a/ui/obj/Debug/net8.0/ui.GeneratedMSBuildEditorConfig.editorconfig b/ui/obj/Debug/net8.0/ui.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..2224203 --- /dev/null +++ b/ui/obj/Debug/net8.0/ui.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = ui +build_property.ProjectDir = C:\Users\class_student\source\repos\presence\ui\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/ui/obj/Debug/net8.0/ui.GlobalUsings.g.cs b/ui/obj/Debug/net8.0/ui.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/ui/obj/Debug/net8.0/ui.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/ui/obj/Debug/net8.0/ui.assets.cache b/ui/obj/Debug/net8.0/ui.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..8fab053034fbb4fb6c29ec6d36a5ca0d1b9d3f0a GIT binary patch literal 14558 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 literal 0 HcmV?d00001 diff --git a/ui/obj/Debug/net8.0/ui.csproj.AssemblyReference.cache b/ui/obj/Debug/net8.0/ui.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..bd7e5d876395becf7592985473633fd8cd16b8dd GIT binary patch literal 13547 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 1.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\class_student\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj", + "projectName": "ui", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": { + "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/ui/obj/project.nuget.cache b/ui/obj/project.nuget.cache new file mode 100644 index 0000000..9d6a3e9 --- /dev/null +++ b/ui/obj/project.nuget.cache @@ -0,0 +1,32 @@ +{ + "version": 2, + "dgSpecHash": "dNHY0PWkVJ9yqh4r350Pq7u6mnT7d9z4cJfYez8zScnFgIivUdw2P/yHSkjOeyGZ9zBEiinHHbXHbVE6f2TWUw==", + "success": true, + "projectFilePath": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj", + "expectedPackageFiles": [ + "C:\\Users\\class_student\\.nuget\\packages\\closedxml\\0.104.1\\closedxml.0.104.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\documentformat.openxml\\3.0.1\\documentformat.openxml.3.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\documentformat.openxml.framework\\3.0.1\\documentformat.openxml.framework.3.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\rbush\\3.2.0\\rbush.3.2.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512", + "C:\\Users\\class_student\\.nuget\\packages\\system.io.packaging\\8.0.0\\system.io.packaging.8.0.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/ui/obj/ui.csproj.nuget.dgspec.json b/ui/obj/ui.csproj.nuget.dgspec.json new file mode 100644 index 0000000..e69e4c2 --- /dev/null +++ b/ui/obj/ui.csproj.nuget.dgspec.json @@ -0,0 +1,230 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj": {} + }, + "projects": { + "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj", + "projectName": "data", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "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": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + }, + "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj", + "projectName": "domain", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": { + "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\data\\data.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "dependencies": { + "ClosedXML": { + "target": "Package", + "version": "[0.104.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + }, + "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj", + "projectName": "ui", + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\ui.csproj", + "packagesPath": "C:\\Users\\class_student\\.nuget\\packages\\", + "outputPath": "C:\\Users\\class_student\\source\\repos\\presence\\ui\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\class_student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": { + "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj": { + "projectPath": "C:\\Users\\class_student\\source\\repos\\presence\\domain\\domain.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/ui/obj/ui.csproj.nuget.g.props b/ui/obj/ui.csproj.nuget.g.props new file mode 100644 index 0000000..d669d1a --- /dev/null +++ b/ui/obj/ui.csproj.nuget.g.props @@ -0,0 +1,19 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\class_student\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.9.2 + + + + + + + + + \ No newline at end of file diff --git a/ui/obj/ui.csproj.nuget.g.targets b/ui/obj/ui.csproj.nuget.g.targets new file mode 100644 index 0000000..baac958 --- /dev/null +++ b/ui/obj/ui.csproj.nuget.g.targets @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/ui/ui.csproj b/ui/ui.csproj new file mode 100644 index 0000000..dcf787d --- /dev/null +++ b/ui/ui.csproj @@ -0,0 +1,13 @@ + + + + + + + + net8.0 + enable + enable + + +