Bananadminka

This commit is contained in:
Your Name 2024-10-30 09:35:19 +03:00
parent de2cdcb08b
commit 075b68b589
36 changed files with 708 additions and 12 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -0,0 +1,17 @@
using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Domain.Models;
namespace Demo.Data.Repository
{
public class SQLAdminRepositoryImpl : IAdminRepository{
private readonly RemoteDatabaseContext _remoteDatabaseContext;
public SQLAdminRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext){
_remoteDatabaseContext = remoteDatabaseContext;
}
public List<GroupLocalEntity> GetAllGroup()
{
return _remoteDatabaseContext.Groups.Select(x => new GroupLocalEntity{Name = x.Name, ID = x.ID}).ToList();
}
}
}

View File

@ -0,0 +1,9 @@
using Demo.Domain.Models;
namespace Demo.Data.Repository
{
public interface IAdminRepository
{
List<GroupLocalEntity> GetAllGroup();
}
}

View File

@ -28,12 +28,12 @@ namespace Demo.Data.Repository
public List<UserLocalEntity> GetUsersByGroupID(int groupID) public List<UserLocalEntity> GetUsersByGroupID(int groupID)
{ {
return _remoteDatabaseContext.Users return _remoteDatabaseContext.Users
.Where(x => x.GroupID == groupID) // Фильтруем пользователей по GroupID .Where(x => x.GroupID == groupID)
.Select(x => new UserLocalEntity .Select(x => new UserLocalEntity
{ {
FIO = x.FIO, FIO = x.FIO,
Guid = x.Guid, Guid = x.Guid,
GroupID = x.GroupID // Устанавливаем фактический GroupID GroupID = x.GroupID
}) })
.ToList(); .ToList();
} }

View File

@ -6,15 +6,16 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Data\RemoteData\"/> <Folder Include="Data\RemoteData\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.EntityFrameWorkCore" Version="8.0.10"/> <PackageReference Include="ClosedXML" Version="0.104.1" />
<PackageReference Include="Microsoft.EntityFrameWorkCore" Version="8.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.10"> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.10">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1"/> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10"/> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -0,0 +1,162 @@
using ClosedXML.Excel;
using Demo.Data.Repository;
using Demo.Domain.Models;
using DocumentFormat.OpenXml.Office.Word;
using DocumentFormat.OpenXml.Wordprocessing;
namespace Demo.Domain.UseCase
{
public class AdminUseCase : IAdminUseCase
{
private readonly IAdminRepository _repositoryAdminImpl;
private readonly IUserRepository _repositoryUserImpl;
private readonly IPresenceRepository _repositoryPresenceImpl;
public AdminUseCase(IAdminRepository repositoryAdminImpl, IUserRepository repositoryUserImpl, IPresenceRepository repositoryPresenceImpl)
{
_repositoryAdminImpl = repositoryAdminImpl;
_repositoryUserImpl = repositoryUserImpl;
_repositoryPresenceImpl = repositoryPresenceImpl;
}
public bool ExcelExport2(int groupID){
var users = _repositoryUserImpl.GetUsersByGroupID(groupID);
var i = 2;
using (var workbook = new XLWorkbook()){
var worksheet = workbook.Worksheets.Add(groupID);
worksheet.Cell(1, 1).Value = "FIO";
foreach(var user in users){
worksheet.Cell(i, 1).Value = user.FIO;
i++;
var userPresences = GetPresenceByUser(user.Guid);
var k = 2;
foreach(var presence in userPresences){
worksheet.Cell(1, k).Value = presence.Date.ToDateTime(new TimeOnly(0, 0));
worksheet.Cell(i-1, k).Value = presence.IsAttedance;
k++;
}
}
workbook.SaveAs($"gruop.xlsx");
}
return true;
}
public bool ExcelExport(int groupID){
var users = _repositoryUserImpl.GetUsersByGroupID(groupID);
var groupPresences = GetPresenceByGroup(groupID);
var dates = new List<DateOnly>();
foreach(var presence in groupPresences){
if (!dates.Contains(presence.Date)){
dates.Add(presence.Date);
}
}
using (var workbook = new XLWorkbook()){
var worksheet = workbook.Worksheets.Add(groupID);
worksheet.Cell(1, 1).Value = "FIO";
worksheet.Range(1, 1, 2, 1).Merge();
var colIndex = 2; // Начинаем с 2-го столбца
foreach (var date in dates) {
worksheet.Cell(1, colIndex).Value = date.ToString("dd.MM.yy");
worksheet.Range(1, colIndex, 1, colIndex + 8).Merge(); // Объединяем ячейки для даты (9 уроков)
colIndex += 9;
}
var k = 2;
foreach(var date in dates){
for (int lesson = 1; lesson <= 9; lesson++){
worksheet.Cell(2, k).Value = lesson;
k++;
}
}
// var uNum = 3;
// var numLes = 1;
// var respCol = 2;
// var respRow = 3;
// foreach(var user in users){
// worksheet.Cell(uNum, 1).Value = user.FIO;
// uNum++;
// var userPresences = GetPresenceByUser(user.Guid);
// foreach(var presence in userPresences){
// if (presence.LessonNumber == numLes){
// worksheet.Cell(respRow, respCol).Value = presence.IsAttedance;
// respCol++;
// }
// }
// respCol++;
// // respRow++;
// numLes = 1;
// }
var lessonColIndex = 2;
var rowIndex = 3;
foreach(var user in users){
worksheet.Cell(rowIndex, 1).Value = user.FIO;
var userPresences = GetPresenceByUser(user.Guid);
foreach(var date in dates){
for (int lesson = 1; lesson <= 9; lesson++){
var presence = userPresences.FirstOrDefault(p => p.Date == date && p.LessonNumber == lesson);
if (presence != null){
worksheet.Cell(rowIndex, lessonColIndex).Value = presence.IsAttedance ? "Истина" : "Ложь";
}
lessonColIndex++;
}
}
rowIndex++;
lessonColIndex = 2; // Сбрасываем начальную позицию столбца для следующего пользователя
}
workbook.SaveAs($"gruop_{groupID}.xlsx");
}
return true;
}
public List<Presence> GetPresenceByUser(Guid userGuid){
var user = _repositoryUserImpl.GetUserByGuid(userGuid);
var presenceByUser = _repositoryPresenceImpl.GetAllPresences()
.Where(user => userGuid == user.UserGuid)
.Select(presence => new Presence{
User = new User{
Guid = user.Guid,
Group = new Group{
ID = user.GroupID,
Name = _repositoryAdminImpl.GetAllGroup().First(group => group.ID == user.GroupID).Name
},
FIO = user.FIO
},
LessonNumber = presence.LessonNumber,
Date = presence.Date,
IsAttedance = presence.IsAttedance
}).ToList();
return presenceByUser;
}
public List<Presence> GetPresenceByGroup(int groupID){
var usersByGroup = _repositoryUserImpl.GetAllUser()
.Where(user => user.GroupID == groupID).ToList();
var presenceByGroup = _repositoryPresenceImpl.GetAllPresences()
.Where(x => usersByGroup.Any(user => user.Guid == x.UserGuid))
.Select(presence => new Presence{
User = new User{
Guid = presence.UserGuid,
Group = new Group{
ID = groupID,
Name = _repositoryAdminImpl.GetAllGroup().First(group => group.ID == groupID).Name
},
FIO = usersByGroup.First(user => user.Guid == presence.UserGuid).FIO,
},
LessonNumber = presence.LessonNumber,
Date = presence.Date,
IsAttedance = presence.IsAttedance
}).ToList();
return presenceByGroup;
}
}
}

View File

@ -0,0 +1,6 @@
namespace Demo.Domain.UseCase
{
public interface IAdminUseCase{
bool ExcelExport(int groupID);
}
}

View File

@ -12,10 +12,13 @@ IServiceCollection services = new ServiceCollection();
.AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>() .AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>()
.AddSingleton<IUserRepository, SQLUserRepositoryImpl>() .AddSingleton<IUserRepository, SQLUserRepositoryImpl>()
.AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>() .AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>()
.AddSingleton<IAdminRepository, SQLAdminRepositoryImpl>()
.AddSingleton<IGroupUseCase, GroupUseCase>() .AddSingleton<IGroupUseCase, GroupUseCase>()
.AddSingleton<IUserUseCase, UserUseCase>() .AddSingleton<IUserUseCase, UserUseCase>()
.AddSingleton<IPresenceUseCase, PresenceUseCase>() .AddSingleton<IPresenceUseCase, PresenceUseCase>()
.AddSingleton<IAdminUseCase, AdminUseCase>()
.AddSingleton<UserConsoleUI>() .AddSingleton<UserConsoleUI>()
.AddSingleton<AdminConsoleUI>()
.AddSingleton<MainMenuUI>(); .AddSingleton<MainMenuUI>();
var serviceProvider = services.BuildServiceProvider(); var serviceProvider = services.BuildServiceProvider();

18
UI/AdminConsole.cs Normal file
View File

@ -0,0 +1,18 @@
using Demo.Domain.UseCase;
namespace Demo.UI
{
public class AdminConsoleUI
{
IAdminUseCase _adminUseCase;
public AdminConsoleUI(IAdminUseCase adminUseCase) {
_adminUseCase = adminUseCase;
}
public void ExcelExport(int groupID) {
string output = _adminUseCase.ExcelExport(groupID) ? "Таблица создана" : "Таблица не создана";
Console.WriteLine(output);
}
}
}

View File

@ -9,15 +9,51 @@ namespace Demo.UI
UserConsoleUI _userConsoleUI; UserConsoleUI _userConsoleUI;
GroupConsoleUI _groupConsoleUI; GroupConsoleUI _groupConsoleUI;
PresenceConsoleUI _presenceConsoleUI; PresenceConsoleUI _presenceConsoleUI;
AdminConsoleUI _adminConsoleUI;
public MainMenuUI(IUserUseCase userUseCase, IGroupUseCase groupUseCase, IPresenceUseCase presenceUseCase) { public MainMenuUI(IUserUseCase userUseCase, IGroupUseCase groupUseCase, IPresenceUseCase presenceUseCase, IAdminUseCase adminUseCase) {
_userConsoleUI = new UserConsoleUI(userUseCase); _userConsoleUI = new UserConsoleUI(userUseCase);
_groupConsoleUI = new GroupConsoleUI(groupUseCase, userUseCase, presenceUseCase); _groupConsoleUI = new GroupConsoleUI(groupUseCase, userUseCase, presenceUseCase);
_presenceConsoleUI = new PresenceConsoleUI(presenceUseCase); _presenceConsoleUI = new PresenceConsoleUI(presenceUseCase);
DisplayMenu(); _adminConsoleUI = new AdminConsoleUI(adminUseCase);
SelectRole();
} }
private void SelectRole()
{
Console.WriteLine("Выберите роль:\n1: user\n2: admin");
string role = Console.ReadLine();
if (role == "1")
{
DisplayMenu();
}
else if (role == "2")
{
DisplayAdminMenu();
}
else
{
Console.WriteLine("Неверная роль. Попробуйте еще раз.");
SelectRole();
}
}
private void DisplayAdminMenu()
{
while(true)
{
switch (Console.ReadLine())
{
case "0": _adminConsoleUI.ExcelExport(Convert.ToInt32(Console.ReadLine())); break;
default: DisplayAdminMenu();
break;
}
}
}
private void DisplayMenu() { private void DisplayMenu() {
while (true) while (true)
{ {

Binary file not shown.

BIN
bin/Debug/net8.0/ClosedXML.dll Executable file

Binary file not shown.

View File

@ -8,6 +8,7 @@
".NETCoreApp,Version=v8.0": { ".NETCoreApp,Version=v8.0": {
"Demo/1.0.0": { "Demo/1.0.0": {
"dependencies": { "dependencies": {
"ClosedXML": "0.104.1",
"Microsoft.EntityFrameworkCore": "8.0.10", "Microsoft.EntityFrameworkCore": "8.0.10",
"Microsoft.EntityFrameworkCore.Design": "8.0.10", "Microsoft.EntityFrameworkCore.Design": "8.0.10",
"Microsoft.Extensions.DependencyInjection": "8.0.1", "Microsoft.Extensions.DependencyInjection": "8.0.1",
@ -17,6 +18,60 @@
"Demo.dll": {} "Demo.dll": {}
} }
}, },
"ClosedXML/0.104.1": {
"dependencies": {
"ClosedXML.Parser": "1.2.0",
"DocumentFormat.OpenXml": "3.0.1",
"ExcelNumberFormat": "1.1.0",
"RBush": "3.2.0",
"SixLabors.Fonts": "1.0.0",
"System.IO.Packaging": "8.0.0"
},
"runtime": {
"lib/netstandard2.1/ClosedXML.dll": {
"assemblyVersion": "0.104.1.0",
"fileVersion": "0.104.1.0"
}
}
},
"ClosedXML.Parser/1.2.0": {
"runtime": {
"lib/netstandard2.1/ClosedXML.Parser.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"DocumentFormat.OpenXml/3.0.1": {
"dependencies": {
"DocumentFormat.OpenXml.Framework": "3.0.1"
},
"runtime": {
"lib/net8.0/DocumentFormat.OpenXml.dll": {
"assemblyVersion": "3.0.1.0",
"fileVersion": "3.0.1.0"
}
}
},
"DocumentFormat.OpenXml.Framework/3.0.1": {
"dependencies": {
"System.IO.Packaging": "8.0.0"
},
"runtime": {
"lib/net8.0/DocumentFormat.OpenXml.Framework.dll": {
"assemblyVersion": "3.0.1.0",
"fileVersion": "3.0.1.0"
}
}
},
"ExcelNumberFormat/1.1.0": {
"runtime": {
"lib/netstandard2.0/ExcelNumberFormat.dll": {
"assemblyVersion": "1.1.0.0",
"fileVersion": "1.1.0.0"
}
}
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"runtime": { "runtime": {
"lib/net6.0/Humanizer.dll": { "lib/net6.0/Humanizer.dll": {
@ -448,6 +503,22 @@
} }
} }
}, },
"RBush/3.2.0": {
"runtime": {
"lib/net6.0/RBush.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.2.0.0"
}
}
},
"SixLabors.Fonts/1.0.0": {
"runtime": {
"lib/netcoreapp3.1/SixLabors.Fonts.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"System.CodeDom/4.4.0": { "System.CodeDom/4.4.0": {
"runtime": { "runtime": {
"lib/netstandard2.0/System.CodeDom.dll": { "lib/netstandard2.0/System.CodeDom.dll": {
@ -521,6 +592,14 @@
} }
} }
}, },
"System.IO.Packaging/8.0.0": {
"runtime": {
"lib/net8.0/System.IO.Packaging.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"System.IO.Pipelines/6.0.3": { "System.IO.Pipelines/6.0.3": {
"runtime": { "runtime": {
"lib/net6.0/System.IO.Pipelines.dll": { "lib/net6.0/System.IO.Pipelines.dll": {
@ -549,6 +628,41 @@
"serviceable": false, "serviceable": false,
"sha512": "" "sha512": ""
}, },
"ClosedXML/0.104.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-RVm2fUNWJlBJlg07shrfeWzrHPG5ypI/vARqdUOUbUdaog8yBw8l4IbCHf2MXt0AXtzaZqGNqhFaCAHigCBdfw==",
"path": "closedxml/0.104.1",
"hashPath": "closedxml.0.104.1.nupkg.sha512"
},
"ClosedXML.Parser/1.2.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-w+/0tsxABS3lkSH8EUlA7IGme+mq5T/Puf3DbOiTckmSuUpAUO2LK29oXYByCcWkBv6wcRHxgWlQb1lxkwI0Tw==",
"path": "closedxml.parser/1.2.0",
"hashPath": "closedxml.parser.1.2.0.nupkg.sha512"
},
"DocumentFormat.OpenXml/3.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DCK1cwFUJ1FGGyYyo++HWl9H1RkqMWIu+FGOLRy6E4L4y0/HIhlJ7N/n1HKboFfOwKn1cMBRxt1RCuDbIEy5YQ==",
"path": "documentformat.openxml/3.0.1",
"hashPath": "documentformat.openxml.3.0.1.nupkg.sha512"
},
"DocumentFormat.OpenXml.Framework/3.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ifyI7OW7sggz7LQMIAD2aUsY/zVUON9QaHrpZ4MK33iVMeHlTG4uhUE2aLWb31nry+LCs2ALDAwf8OfUJGjgBg==",
"path": "documentformat.openxml.framework/3.0.1",
"hashPath": "documentformat.openxml.framework.3.0.1.nupkg.sha512"
},
"ExcelNumberFormat/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==",
"path": "excelnumberformat/1.1.0",
"hashPath": "excelnumberformat.1.1.0.nupkg.sha512"
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
@ -724,6 +838,20 @@
"path": "npgsql.entityframeworkcore.postgresql/8.0.10", "path": "npgsql.entityframeworkcore.postgresql/8.0.10",
"hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512"
}, },
"RBush/3.2.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ijGh9N0zZ7JfXk3oQkWCwK8SwSSByexbyh/MjbCjNxOft9eG5ZqKC1vdgiYq78h4IZRFmN4s3JZ/b10Jipud5w==",
"path": "rbush/3.2.0",
"hashPath": "rbush.3.2.0.nupkg.sha512"
},
"SixLabors.Fonts/1.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LFQsCZlV0xlUyXAOMUo5kkSl+8zAQXXbbdwWchtk0B4o7zotZhQsQOcJUELGHdfPfm/xDAsz6hONAuV25bJaAg==",
"path": "sixlabors.fonts/1.0.0",
"hashPath": "sixlabors.fonts.1.0.0.nupkg.sha512"
},
"System.CodeDom/4.4.0": { "System.CodeDom/4.4.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
@ -780,6 +908,13 @@
"path": "system.composition.typedparts/6.0.0", "path": "system.composition.typedparts/6.0.0",
"hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512" "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512"
}, },
"System.IO.Packaging/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-8g1V4YRpdGAxFcK8v9OjuMdIOJSpF30Zb1JGicwVZhly3I994WFyBdV6mQEo8d3T+URQe55/M0U0eIH0Hts1bg==",
"path": "system.io.packaging/8.0.0",
"hashPath": "system.io.packaging.8.0.0.nupkg.sha512"
},
"System.IO.Pipelines/6.0.3": { "System.IO.Pipelines/6.0.3": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/Debug/net8.0/RBush.dll Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
gruop_4.xlsx Normal file

Binary file not shown.

BIN
gruop_5.xlsx Normal file

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] [assembly: System.Reflection.AssemblyCompanyAttribute("Demo")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+86b4759087deeb63dff8a43a0ff879e320f29457")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+de2cdcb08b649f5a185c4222ca47e18a960de4d2")]
[assembly: System.Reflection.AssemblyProductAttribute("Demo")] [assembly: System.Reflection.AssemblyProductAttribute("Demo")]
[assembly: System.Reflection.AssemblyTitleAttribute("Demo")] [assembly: System.Reflection.AssemblyTitleAttribute("Demo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
06f206715bfe1384818fd42aad58f6d1ef0f893f41ccdcce066ace7c594fd406 72151ed5b0a8b23ba8153fcb08592b07d5ecd3ca936d8def01b884ed9d06c64b

Binary file not shown.

View File

@ -1 +1 @@
6c3b3a88e85a1774a1b618cd98634bc328844e20ebb6c029511c87dd05bc179e 030574f346b82317af21a82bff786014710e25ba0ed86ab3d59159bba58115cb

View File

@ -96,3 +96,11 @@
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll /Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll /Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll /Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/ClosedXML.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/ClosedXML.Parser.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.Framework.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/ExcelNumberFormat.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/RBush.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/SixLabors.Fonts.dll
/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/System.IO.Packaging.dll

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -43,6 +43,10 @@
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"dependencies": { "dependencies": {
"ClosedXML": {
"target": "Package",
"version": "[0.104.1, )"
},
"Microsoft.EntityFrameWorkCore": { "Microsoft.EntityFrameWorkCore": {
"target": "Package", "target": "Package",
"version": "[8.0.10, )" "version": "[8.0.10, )"

View File

@ -2,6 +2,85 @@
"version": 3, "version": 3,
"targets": { "targets": {
"net8.0": { "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"
}
}
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"type": "package", "type": "package",
"compile": { "compile": {
@ -593,6 +672,32 @@
} }
} }
}, },
"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.CodeDom/4.4.0": { "System.CodeDom/4.4.0": {
"type": "package", "type": "package",
"compile": { "compile": {
@ -727,6 +832,22 @@
"buildTransitive/netcoreapp3.1/_._": {} "buildTransitive/netcoreapp3.1/_._": {}
} }
}, },
"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/_._": {}
}
},
"System.IO.Pipelines/6.0.3": { "System.IO.Pipelines/6.0.3": {
"type": "package", "type": "package",
"compile": { "compile": {
@ -822,6 +943,104 @@
} }
}, },
"libraries": { "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"
]
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==",
"type": "package", "type": "package",
@ -1786,6 +2005,42 @@
"postgresql.png" "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.CodeDom/4.4.0": { "System.CodeDom/4.4.0": {
"sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==",
"type": "package", "type": "package",
@ -1962,6 +2217,35 @@
"useSharedDesignerContext.txt" "useSharedDesignerContext.txt"
] ]
}, },
"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"
]
},
"System.IO.Pipelines/6.0.3": { "System.IO.Pipelines/6.0.3": {
"sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", "sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==",
"type": "package", "type": "package",
@ -2104,6 +2388,7 @@
}, },
"projectFileDependencyGroups": { "projectFileDependencyGroups": {
"net8.0": [ "net8.0": [
"ClosedXML >= 0.104.1",
"Microsoft.EntityFrameWorkCore >= 8.0.10", "Microsoft.EntityFrameWorkCore >= 8.0.10",
"Microsoft.EntityFrameworkCore.Design >= 8.0.10", "Microsoft.EntityFrameworkCore.Design >= 8.0.10",
"Microsoft.Extensions.DependencyInjection >= 8.0.1", "Microsoft.Extensions.DependencyInjection >= 8.0.1",
@ -2152,6 +2437,10 @@
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"dependencies": { "dependencies": {
"ClosedXML": {
"target": "Package",
"version": "[0.104.1, )"
},
"Microsoft.EntityFrameWorkCore": { "Microsoft.EntityFrameWorkCore": {
"target": "Package", "target": "Package",
"version": "[8.0.10, )" "version": "[8.0.10, )"

View File

@ -1,9 +1,14 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "R5GSq0Xb3J4=", "dgSpecHash": "60Sa8meSCR8=",
"success": true, "success": true,
"projectFilePath": "/Users/rinchi/VSCodeProjects/Demo/Demo.csproj", "projectFilePath": "/Users/rinchi/VSCodeProjects/Demo/Demo.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"/Users/rinchi/.nuget/packages/closedxml/0.104.1/closedxml.0.104.1.nupkg.sha512",
"/Users/rinchi/.nuget/packages/closedxml.parser/1.2.0/closedxml.parser.1.2.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/documentformat.openxml/3.0.1/documentformat.openxml.3.0.1.nupkg.sha512",
"/Users/rinchi/.nuget/packages/documentformat.openxml.framework/3.0.1/documentformat.openxml.framework.3.0.1.nupkg.sha512",
"/Users/rinchi/.nuget/packages/excelnumberformat/1.1.0/excelnumberformat.1.1.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512", "/Users/rinchi/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512",
"/Users/rinchi/.nuget/packages/microsoft.bcl.asyncinterfaces/6.0.0/microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/microsoft.bcl.asyncinterfaces/6.0.0/microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", "/Users/rinchi/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
@ -29,6 +34,8 @@
"/Users/rinchi/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512", "/Users/rinchi/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512",
"/Users/rinchi/.nuget/packages/npgsql/8.0.5/npgsql.8.0.5.nupkg.sha512", "/Users/rinchi/.nuget/packages/npgsql/8.0.5/npgsql.8.0.5.nupkg.sha512",
"/Users/rinchi/.nuget/packages/npgsql.entityframeworkcore.postgresql/8.0.10/npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", "/Users/rinchi/.nuget/packages/npgsql.entityframeworkcore.postgresql/8.0.10/npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512",
"/Users/rinchi/.nuget/packages/rbush/3.2.0/rbush.3.2.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/sixlabors.fonts/1.0.0/sixlabors.fonts.1.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.composition/6.0.0/system.composition.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.composition/6.0.0/system.composition.6.0.0.nupkg.sha512",
@ -37,6 +44,7 @@
"/Users/rinchi/.nuget/packages/system.composition.hosting/6.0.0/system.composition.hosting.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.composition.hosting/6.0.0/system.composition.hosting.6.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.composition.runtime/6.0.0/system.composition.runtime.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.composition.runtime/6.0.0/system.composition.runtime.6.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.composition.typedparts/6.0.0/system.composition.typedparts.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.composition.typedparts/6.0.0/system.composition.typedparts.6.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.io.packaging/8.0.0/system.io.packaging.8.0.0.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.io.pipelines/6.0.3/system.io.pipelines.6.0.3.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.io.pipelines/6.0.3/system.io.pipelines.6.0.3.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.reflection.metadata/6.0.1/system.reflection.metadata.6.0.1.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.reflection.metadata/6.0.1/system.reflection.metadata.6.0.1.nupkg.sha512",
"/Users/rinchi/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", "/Users/rinchi/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",