Compare commits

..

No commits in common. "master" and "main" have entirely different histories.
master ... main

75 changed files with 2261 additions and 650 deletions

Binary file not shown.

BIN
.vs/Demo/v17/.futdcache.v2 Normal file

Binary file not shown.

BIN
.vs/Demo/v17/.suo Normal file

Binary file not shown.

View File

@ -0,0 +1,313 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\source\\repos\\presence\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\groupattendancestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\groupattendancestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "SQLGroupRepositoryImpl.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"ViewState": "AgIAAGUAAAAAAAAAAAAowDoAAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:30:04.731Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "SQLPresenceRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"ViewState": "AgIAAKMAAAAAAAAAAAAjwOIAAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:20:34.221Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "PresenceConsole.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\PresenceConsole.cs",
"RelativeDocumentMoniker": "Demo\\UI\\PresenceConsole.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\PresenceConsole.cs",
"RelativeToolTip": "Demo\\UI\\PresenceConsole.cs",
"ViewState": "AgIAAAkAAAAAAAAAAAAqwBYAAAA4AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:28:07.091Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "UseCaseGeneratePresence.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"RelativeToolTip": "Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"ViewState": "AgIAAA4AAAAAAAAAAAAgwC8AAAA/AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:30:17.722Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "SQLUserRepositoryImpl.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"ViewState": "AgIAABgAAAAAAAAAAAAowDMAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-08T16:30:40.576Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "GroupUseCase.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs",
"RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\GroupUseCase.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs",
"RelativeToolTip": "Demo\\Domain\\UseCase\\GroupUseCase.cs",
"ViewState": "AgIAAA4AAAAAAAAAAAAuwCAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:30:19.858Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "MainMenu.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\MainMenu.cs",
"RelativeDocumentMoniker": "Demo\\UI\\MainMenu.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\MainMenu.cs",
"RelativeToolTip": "Demo\\UI\\MainMenu.cs",
"ViewState": "AgIAAPsAAAAAAAAAAAAwwBgBAABCAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:28:06.522Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "IGroupRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IGroupRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\IGroupRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IGroupRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\IGroupRepository.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwA4AAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:31:22.936Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "GroupConsole.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\GroupConsole.cs",
"RelativeDocumentMoniker": "Demo\\UI\\GroupConsole.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\GroupConsole.cs",
"RelativeToolTip": "Demo\\UI\\GroupConsole.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwBEAAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:00.621Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "IPresenceRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IPresenceRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\IPresenceRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IPresenceRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\IPresenceRepository.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:37:55.294Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "IUserRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IUserRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\IUserRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IUserRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\IUserRepository.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwAYAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:31:30.259Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Group.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:55.85Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "GroupAttendanceStatistics.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:53.73Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "User.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:49.93Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "UserUseCase.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs",
"RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\UserUseCase.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs",
"RelativeToolTip": "Demo\\Domain\\UseCase\\UserUseCase.cs",
"ViewState": "AgIAAGAAAAAAAAAAAAApwGwAAAAZAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:13.565Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Presence.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:52.203Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "UserConsole.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs",
"RelativeDocumentMoniker": "Demo\\UI\\UserConsole.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs",
"RelativeToolTip": "Demo\\UI\\UserConsole.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAgwDcAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:26:36.741Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@ -0,0 +1,313 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\source\\repos\\presence\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\groupattendancestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\groupattendancestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|c:\\users\\prdb\\source\\repos\\presence\\demo\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{983820F6-FF31-4B3A-8593-831BC3904E80}|Demo\\Demo.csproj|solutionrelative:demo\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "SQLGroupRepositoryImpl.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\SQLGroupRepositoryImpl.cs",
"ViewState": "AgIAAGUAAAAAAAAAAAAowDoAAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:30:04.731Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "SQLPresenceRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\SQLPresenceRepository.cs",
"ViewState": "AgIAAKMAAAAAAAAAAAAjwOIAAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:20:34.221Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "PresenceConsole.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\PresenceConsole.cs",
"RelativeDocumentMoniker": "Demo\\UI\\PresenceConsole.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\PresenceConsole.cs",
"RelativeToolTip": "Demo\\UI\\PresenceConsole.cs",
"ViewState": "AgIAAAkAAAAAAAAAAAAqwBYAAAA4AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:28:07.091Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "UseCaseGeneratePresence.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"RelativeToolTip": "Demo\\Domain\\UseCase\\UseCaseGeneratePresence.cs",
"ViewState": "AgIAAA4AAAAAAAAAAAAgwC8AAAA/AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:30:17.722Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "SQLUserRepositoryImpl.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\SQLUserRepositoryImpl.cs",
"ViewState": "AgIAABgAAAAAAAAAAAAowDMAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-08T16:30:40.576Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "GroupUseCase.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs",
"RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\GroupUseCase.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs",
"RelativeToolTip": "Demo\\Domain\\UseCase\\GroupUseCase.cs",
"ViewState": "AgIAAA4AAAAAAAAAAAAuwCAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:30:19.858Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "MainMenu.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\MainMenu.cs",
"RelativeDocumentMoniker": "Demo\\UI\\MainMenu.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\MainMenu.cs",
"RelativeToolTip": "Demo\\UI\\MainMenu.cs",
"ViewState": "AgIAAPsAAAAAAAAAAAAwwBgBAABCAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:28:06.522Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "IGroupRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IGroupRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\IGroupRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IGroupRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\IGroupRepository.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwA4AAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:31:22.936Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "GroupConsole.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\GroupConsole.cs",
"RelativeDocumentMoniker": "Demo\\UI\\GroupConsole.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\GroupConsole.cs",
"RelativeToolTip": "Demo\\UI\\GroupConsole.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwBEAAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:00.621Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "IPresenceRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IPresenceRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\IPresenceRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IPresenceRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\IPresenceRepository.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:37:55.294Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "IUserRepository.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IUserRepository.cs",
"RelativeDocumentMoniker": "Demo\\Data\\Repository\\IUserRepository.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\Repository\\IUserRepository.cs",
"RelativeToolTip": "Demo\\Data\\Repository\\IUserRepository.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwAYAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:31:30.259Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Group.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:55.85Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "GroupAttendanceStatistics.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:53.73Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "User.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:49.93Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "UserUseCase.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs",
"RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\UserUseCase.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs",
"RelativeToolTip": "Demo\\Domain\\UseCase\\UserUseCase.cs",
"ViewState": "AgIAAGAAAAAAAAAAAAApwGwAAAAZAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:13.565Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Presence.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"RelativeDocumentMoniker": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"RelativeToolTip": "Demo\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:29:52.203Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "UserConsole.cs",
"DocumentMoniker": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs",
"RelativeDocumentMoniker": "Demo\\UI\\UserConsole.cs",
"ToolTip": "C:\\Users\\prdb\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs",
"RelativeToolTip": "Demo\\UI\\UserConsole.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAgwDcAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T09:26:36.741Z",
"EditorCaption": ""
}
]
}
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.vs/presence/v17/.wsuo Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\source\\repos\\presence\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 191,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
}
]
}
]
}
]
}

View File

@ -0,0 +1,11 @@
using System;
namespace Demo.Data.Exceptions
{
public class PresenceNotFoundException : RepositoryException
{
public PresenceNotFoundException(int userId, DateOnly date, int firstLesson, int lastLesson)
: base($"Посещаемость для пользователя ID: {userId} на дату {date.ToShortDateString()}" +
$" с {firstLesson} по {lastLesson} уроки не найдена.") { }
}
}

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
{
public class AttendanceRecord
{
public int UserId { 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; }
}
}

View File

@ -11,6 +11,6 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO
{ {
public int Id { get; set; } public int Id { get; set; }
public string Name { get; set; } public string Name { get; set; }
public List<UserDao> Users { get; set; } public virtual List<UserDao> Users { get; set; }
} }
} }

View File

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
{
public class GroupAttendanceStatistics
{
public int UserCount { get; set; }
public int TotalLessons { get; set; }
public double AttendancePercentage { get; set; }
public List<UserAttendance> UserAttendanceDetails { get; set; } = new List<UserAttendance>();
}
}

View File

@ -10,7 +10,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO
{ {
public required string FIO { get; set; } public required string FIO { get; set; }
public required int UserId { get; set; } public required int UserId { get; set; }
public required int GroupId { get; set; } public int GroupId { get; set; }
public GroupDao? Group { get; set; } public GroupDao? Group { get; set; }
} }
} }

View File

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
{
public class UserAttendance
{
public int UserId { get; set; }
public double Attended { get; set; }
public double Missed { get; set; }
public double AttendanceRate { get; set; }
}
}

View File

@ -1,75 +0,0 @@
using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Data.Repository;
using Demo.domain.Models;
using System.Collections.Generic;
using System.Linq;
public class GroupRepositoryImpl: IGroupRepository
{
private List<GroupLocalEntity> _groups = LocalStaticData.groups;
public GroupLocalEntity? GetGroupById(int groupId)
{
foreach (var group in _groups)
{
if (group.Id == groupId)
{
return group;
}
}
return null;
}
// Метод для получения всех групп
public List<GroupLocalEntity> GetAllGroups() => _groups;
// Метод для добавления новой группы
public void AddGroup(GroupLocalEntity group)
{
group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1;
_groups.Add(group);
}
// Метод для обновления существующей группы
public void UpdateGroupById(int groupId, GroupLocalEntity updatedGroup)
{
var existingGroup = GetGroupById(groupId);
if (existingGroup == null) throw new GroupNotFoundException(groupId);
}
public void RemoveGroupById(int groupId)
{
var existingGroup = GetGroupById(groupId);
if (existingGroup == null) throw new GroupNotFoundException(groupId);
if (_groups.Contains(existingGroup))
{
_groups.Remove(existingGroup);
}
}
List<GroupDao> IGroupRepository.GetAllGroups()
{
throw new NotImplementedException();
}
public bool UpdateGroupById(int groupID, GroupDao updatedGroup)
{
throw new NotImplementedException();
}
GroupDao IGroupRepository.GetGroupById(int groupID)
{
throw new NotImplementedException();
}
public bool AddGroup(string Name)
{
throw new NotImplementedException();
}
}

View File

@ -2,8 +2,10 @@
using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models; using Demo.domain.Models;
using Demo.Domain.UseCase; using Demo.Domain.UseCase;
using Microsoft.EntityFrameworkCore.Metadata;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -17,5 +19,9 @@ namespace Demo.Data.Repository
List<PresenceDao> GetPresenceByGroup(int groupId); List<PresenceDao> GetPresenceByGroup(int groupId);
DateOnly? GetLastDateByGroupId(int groupId); DateOnly? GetLastDateByGroupId(int groupId);
List<PresenceDao> GetPresenceForAbsent(DateTime date, int GroupId); List<PresenceDao> GetPresenceForAbsent(DateTime date, int GroupId);
GroupAttendanceStatistics GetGeneralPresenceForGroup(int groupId);
void UpdateAtt(int userId, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance);
List<PresenceDao> GetAttendanceByGroup(int groupId);
} }
} }

View File

@ -8,6 +8,7 @@ namespace Demo.Data.Repository
{ {
List<UserDao> GetAllUsers(); List<UserDao> GetAllUsers();
bool RemoveUserById(int userId); bool RemoveUserById(int userId);
UserDao? UpdateUser(UserDao user); UserDao UpdateUser(int userId, string newFIO, int groupId);
List<UserDao> GetUserNames();
} }
} }

View File

@ -1,53 +0,0 @@
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Demo.Data.Repository
{
public class PresenceRepositoryImpl
{
private List<PresenceLocalEntity> _presences;
public PresenceRepositoryImpl()
{
_presences = new List<PresenceLocalEntity>(); // Ваши реальные данные
}
public void SavePresence(List<PresenceLocalEntity> presences)
{
foreach (var presence in presences)
{
var existingPresence = _presences.FirstOrDefault(p =>
p.Date == presence.Date &&
p.UserId == presence.UserId &&
p.LessonNumber == presence.LessonNumber);
if (existingPresence == null)
{
_presences.Add(presence);
}
else
{
existingPresence.IsAttedance = presence.IsAttedance;
}
}
}
public List<PresenceLocalEntity> GetPresenceByDateAndGroup(DateTime date, int groupId)
{
return _presences.Where(p => p.Date.Date == date.Date &&
LocalStaticData.users.Any(u => u.GroupID == groupId && u.ID == p.UserId)).ToList();
}
public List<PresenceLocalEntity> GetPresenceByGroup(int groupId)
{
return _presences.Where(p => p.GroupId == groupId).ToList();
}
}
}

View File

@ -32,22 +32,33 @@ namespace Demo.Data.Repository
// Метод для получения группы по ID // Метод для получения группы по ID
public GroupDao GetGroupById(int groupId) public GroupDao GetGroupById(int groupId)
{ {
var groupDao = _remoteDatabaseContext.Groups if (_remoteDatabaseContext.Groups.Select(g=>g.Id).Contains(groupId))
.Include(g => g.Users)
.FirstOrDefault(g => g.Id == groupId);
if (groupDao == null) return null;
return new GroupDao
{ {
Id = groupDao.Id, var groupDao = _remoteDatabaseContext.Groups
Name = groupDao.Name, .Include(g => g.Users)
Users = groupDao.Users.Select(u => new UserDao .FirstOrDefault(g => g.Id == groupId);
if (groupDao == null) return null;
return new GroupDao
{ {
UserId = u.UserId, Id = groupDao.Id,
FIO = u.FIO, Name = groupDao.Name,
GroupId = u.GroupId Users = groupDao.Users.Select(u => new UserDao
}).ToList() {
}; UserId = u.UserId,
FIO = u.FIO,
GroupId = u.GroupId
}).ToList()
};
}
else
{
return new GroupDao
{
Id=-1,
Name="Группы не существует"
};
}
} }
// Метод для получения всех групп // Метод для получения всех групп
@ -101,12 +112,6 @@ namespace Demo.Data.Repository
return true; return true;
} }
public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup)
{
throw new NotImplementedException();
}
public bool AddGroup(string Name) public bool AddGroup(string Name)
{ {

View File

@ -1,15 +1,20 @@
using Demo.Data.LocalData; using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase; using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models; using Demo.domain.Models;
using DocumentFormat.OpenXml.InkML;
using DocumentFormat.OpenXml.Spreadsheet;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Runtime.CompilerServices;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace Demo.Data.Repository namespace Demo.Data.Repository
{ {
@ -21,9 +26,28 @@ namespace Demo.Data.Repository
{ {
_remoteDatabaseContext = remoteDatabaseContext; _remoteDatabaseContext = remoteDatabaseContext;
} }
public List<PresenceDao> GetAttendanceByGroup(int groupId)
{
// Получаем записи посещаемости для указанной группы
return _remoteDatabaseContext.PresenceDaos
.Where(p => p.GroupId == groupId)
.Select(p => new PresenceDao
{
UserId = p.UserId,
GroupId = p.GroupId,
Date = p.Date,
LessonNumber = p.LessonNumber,
IsAttedance = p.IsAttedance
})
.ToList();
}
public List<PresenceDao> GetPresenceForAbsent(DateTime date, int GroupId) public List<PresenceDao> GetPresenceForAbsent(DateTime date, int GroupId)
{ {
return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == GroupId && p.Date==DateOnly.FromDateTime(date)).ToList(); return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == GroupId && p.Date == DateOnly.FromDateTime(date)).ToList();
} }
public List<PresenceDao> GetPresenceByDateAndGroup(DateTime date, int groupId) public List<PresenceDao> GetPresenceByDateAndGroup(DateTime date, int groupId)
{ {
@ -34,7 +58,9 @@ namespace Demo.Data.Repository
// Реализация метода для получения всех данных по группе // Реализация метода для получения всех данных по группе
public List<PresenceDao> GetPresenceByGroup(int groupId) public List<PresenceDao> GetPresenceByGroup(int groupId)
{ {
return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == groupId).ToList(); return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == groupId)
.OrderBy(p => p.Date)
.ThenBy(p=>p.UserId).ToList();
} }
public void SavePresence(List<PresenceDao> presences) public void SavePresence(List<PresenceDao> presences)
@ -50,6 +76,26 @@ namespace Demo.Data.Repository
_remoteDatabaseContext.SaveChanges(); _remoteDatabaseContext.SaveChanges();
} }
public void UpdateAtt(int userId, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance)
{
// Находим все записи по UserId, GroupId, LessonNumber (в диапазоне) и дате
var presences = _remoteDatabaseContext.PresenceDaos
.Where(p => p.UserId == userId
&& p.GroupId == groupId
&& p.LessonNumber >= firstLesson
&& p.LessonNumber <= lastLesson
&& p.Date == date)
.ToList();
// Обновляем значение IsAttendance для всех найденных записей
foreach (var presence in presences)
{
presence.IsAttedance = isAttendance;
}
_remoteDatabaseContext.SaveChanges(); // Сохраняем изменения в базе данных
}
public DateOnly? GetLastDateByGroupId(int groupId) public DateOnly? GetLastDateByGroupId(int groupId)
{ {
// Проверяем наличие записей о посещаемости в базе данных для данной группы. // Проверяем наличие записей о посещаемости в базе данных для данной группы.
@ -62,5 +108,123 @@ namespace Demo.Data.Repository
return lastDate == default ? (DateOnly?)null : lastDate; return lastDate == default ? (DateOnly?)null : lastDate;
} }
public List<PresenceDao> PresenceSort(List<PresenceDao> presences)
{
presences=_remoteDatabaseContext.PresenceDaos.OrderBy(p=>p.Date).ToList();
return presences;
}
public GroupAttendanceStatistics GetGeneralPresenceForGroup(int groupId)
{
var presences = _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == groupId).OrderBy(p => p.LessonNumber).ToList();
if (presences.Count != 0)
{
var dates = _remoteDatabaseContext.PresenceDaos;
var distDates = dates.Select(p => p.Date).Distinct().ToList();
int lesId = 0;
int lesNum = 1;
double att = 0;
int days = -1;
int countAllLes = 0;
DateOnly date = DateOnly.MinValue;
List<int> usersId = new List<int>();
foreach (var presence in presences)
{
if (!usersId.Contains(presence.UserId))
{
usersId.Add(presence.UserId);
}
if (presence.Date != date)
{
date = presence.Date;
lesId++;
lesNum = presence.LessonNumber;
days++;
}
if (presence.LessonNumber != lesNum && date == presence.Date)
{
lesNum = presence.LessonNumber;
countAllLes++;
lesId++;
}
if (presence.IsAttedance)
{
att++;
}
}
List<UserAttendance> a = new List<UserAttendance>();
List<int> ids = new List<int>();
double ok = 0;
double skip = 0;
int userId = 0;
foreach (var user in usersId)
{
var users = _remoteDatabaseContext.PresenceDaos.Where(p => p.UserId == user);
foreach (var usera in users)
{
userId = usera.UserId;
if (!ids.Contains(usera.UserId))
{
skip = 0;
ok = 0;
ids.Add(userId);
a.Add(new UserAttendance { UserId = userId, Attended = ok, Missed = skip });
userId = usera.UserId;
if (usera.IsAttedance)
{
a.First(a => a.UserId == usera.UserId).Attended = ok += 1;
}
else
{
a.First(a => a.UserId == usera.UserId).Missed = skip += 1;
}
}
else
{
if (usera.IsAttedance)
{
a.First(a => a.UserId == usera.UserId).Attended = ok += 1;
}
else
{
a.First(a => a.UserId == usera.UserId).Missed = skip += 1;
}
}
}
}
var statistics = new GroupAttendanceStatistics
{
UserCount = usersId.Count,
TotalLessons = (int)(a[0].Attended + a[0].Missed),
AttendancePercentage = Math.Round(att / usersId.Count / lesNum / distDates.Count() * 100, 2)
};
foreach (var user in a)
{
statistics.UserAttendanceDetails.Add(new UserAttendance
{
UserId = user.UserId,
Attended = user.Attended,
Missed = user.Missed,
AttendanceRate = Math.Round(user.Attended / (user.Missed + user.Attended) * 100, 2)
});
}
return statistics;
}
var statistic = new GroupAttendanceStatistics
{
UserCount = 0,
TotalLessons = 0,
AttendancePercentage = 0
};
return statistic;
}
} }
} }

View File

@ -24,17 +24,18 @@ namespace Demo.Data.Repository
if (user == null) throw new UserNotFoundException(userId); if (user == null) throw new UserNotFoundException(userId);
_remoteDatabaseContext.Users.Remove(user); _remoteDatabaseContext.Users.Remove(user);
_remoteDatabaseContext.SaveChanges();
return true; return true;
} }
public UserDao? UpdateUser(UserDao user) public UserDao UpdateUser(int userId, string newFio, int groupId)
{ {
var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.UserId == user.UserId); var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.UserId == userId);
if (existingUser == null) throw new UserNotFoundException(user.UserId); if (existingUser == null) throw new UserNotFoundException(userId);
// Обновляем поля существующего пользователя // Обновляем поля существующего пользователя
existingUser.FIO = user.FIO; existingUser.FIO = newFio;
existingUser.GroupId = user.GroupId; existingUser.GroupId = groupId;
_remoteDatabaseContext.SaveChanges(); _remoteDatabaseContext.SaveChanges();
return existingUser; return existingUser;
@ -45,5 +46,16 @@ namespace Demo.Data.Repository
// Возвращаем пользователей, отсортированных по UserId // Возвращаем пользователей, отсортированных по UserId
return _remoteDatabaseContext.Users.OrderBy(u => u.UserId).ToList(); return _remoteDatabaseContext.Users.OrderBy(u => u.UserId).ToList();
} }
public List<UserDao> GetUserNames()
{
var users = GetAllUsers();
List<UserDao> names = new List<UserDao>();
foreach (var user in users)
{
names.Add(new UserDao{UserId=user.UserId, FIO=user.FIO });
}
return names;
}
} }
} }

View File

@ -1,37 +0,0 @@
using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Demo.Data.Repository
{
public class UserRepositoryImpl
{
private List<UserLocalEnity> _users;
public UserRepositoryImpl()
{
_users = LocalStaticData.users;
}
public IEnumerable<UserLocalEnity> GetAllUsers => _users;
public bool RemoveUserById(int userId)
{
var user = _users.FirstOrDefault(u => u.ID == userId);
if (user == null) throw new UserNotFoundException(userId);
_users.Remove(user);
return true;
}
public UserDao? UpdateUser(UserDao user)
{
throw new NotImplementedException();
}
}
}

View File

@ -8,6 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="ClosedXML" Version="0.104.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.10" /> <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">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
@ -20,6 +21,7 @@
<ItemGroup> <ItemGroup>
<Folder Include="Data\RemoteData\RemoteApi\" /> <Folder Include="Data\RemoteData\RemoteApi\" />
<Folder Include="Migrations\" /> <Folder Include="Migrations\" />
<Folder Include="Reports\" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -7,11 +7,11 @@ namespace Demo.Domain.UseCase
{ {
public class GroupUseCase public class GroupUseCase
{ {
private readonly IGroupRepository _repositoryGroupImpl; private readonly IGroupRepository _SQLGroupRepositoryImpl;
public GroupUseCase(IGroupRepository repositoryGroupImpl) public GroupUseCase(IGroupRepository SQlGroupRepositoryImpl)
{ {
_repositoryGroupImpl = repositoryGroupImpl; _SQLGroupRepositoryImpl = SQlGroupRepositoryImpl;
} }
// Приватный метод для валидации имени группы // Приватный метод для валидации имени группы
@ -34,12 +34,13 @@ namespace Demo.Domain.UseCase
// Приватный метод для валидации существования группы по ID // Приватный метод для валидации существования группы по ID
private GroupDao ValidateGroupExistence(int groupId) private GroupDao ValidateGroupExistence(int groupId)
{ {
var existingGroup = _repositoryGroupImpl.GetAllGroups() var existingGroup = _SQLGroupRepositoryImpl.GetAllGroups()
.FirstOrDefault(g => g.Id == groupId); .FirstOrDefault(g => g.Id == groupId);
if (existingGroup == null) if (existingGroup == null)
{ {
throw new ArgumentException("Группа не найдена."); Console.WriteLine("Группа не найдена.");
return null;
} }
return existingGroup; return existingGroup;
@ -47,32 +48,17 @@ namespace Demo.Domain.UseCase
// Метод для получения списка всех групп // Метод для получения списка всех групп
public List<Group> GetAllGroups() public List<GroupDao> GetAllGroups()
{ {
return [.. _repositoryGroupImpl.GetAllGroups() return [.. _SQLGroupRepositoryImpl.GetAllGroups()
.Select(it => new Group { Id = it.Id, Name = it.Name })]; .Select(it => new GroupDao { Id = it.Id, Name = it.Name })];
} }
// Метод для получения группы по ID
public void FindGroupById(int IdGroup) public string FindGroupById(int IdGroup)
{ {
List<Group> GetAllGroups() string groups = _SQLGroupRepositoryImpl.GetGroupById(IdGroup).Name;
{ return groups;
return [.. _repositoryGroupImpl
.GetAllGroups()
.Select(
it => new Group
{ Id = it.Id, Name = it.Name }
)
];
}
foreach(var group in GetAllGroups())
{
if (IdGroup == group.Id)
{
Console.WriteLine($"ID группы: {group.Id} Название группы: {group.Name}");
}
}
} }
@ -80,26 +66,27 @@ namespace Demo.Domain.UseCase
public void AddGroup(string groupName) public void AddGroup(string groupName)
{ {
ValidateGroupName(groupName); ValidateGroupName(groupName);
GroupDao newGroup = new GroupDao
GroupLocalEntity newGroup = new GroupLocalEntity
{ {
Name = groupName Name = groupName
}; };
_repositoryGroupImpl.AddGroup(newGroup.Name); _SQLGroupRepositoryImpl.AddGroup(newGroup.Name);
} }
// Метод для изменения названия группы // Метод для изменения названия группы
public void UpdateGroup(int groupId, string newGroupName) public bool UpdateGroup(int groupId, string newGroupName)
{ {
ValidateGroupName(newGroupName); ValidateGroupName(newGroupName);
var existingGroup = ValidateGroupExistence(groupId); var existingGroup = ValidateGroupExistence(groupId);
if (existingGroup != null)
existingGroup.Name = newGroupName; {
_repositoryGroupImpl.UpdateGroupById(groupId,existingGroup); existingGroup.Name = newGroupName;
_SQLGroupRepositoryImpl.UpdateGroupById(groupId, existingGroup);
return true;
}
return false;
} }
} }
} }

View File

@ -1,4 +1,5 @@
using Demo.Data.RemoteData.RemoteDataBase.DAO; using ClosedXML.Excel;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Data.Repository; using Demo.Data.Repository;
using Demo.domain.Models; using Demo.domain.Models;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
@ -14,12 +15,96 @@ namespace Demo.Domain.UseCase
{ {
public readonly IUserRepository _userRepository; public readonly IUserRepository _userRepository;
public readonly IPresenceRepository _presenceRepository; public readonly IPresenceRepository _presenceRepository;
private readonly IGroupRepository _groupRepository;
public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository, IGroupRepository groupRepository)
public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository)
{ {
_userRepository = userRepository; _userRepository = userRepository;
_presenceRepository = presenceRepository; _presenceRepository = presenceRepository;
_groupRepository = groupRepository;
}
public Dictionary<string, List<AttendanceRecord>> GetAllAttendanceByGroups()
{
var attendanceByGroup = new Dictionary<string, List<AttendanceRecord>>();
var allGroups = _groupRepository.GetAllGroups();
foreach (var group in allGroups)
{
var groupAttendance = _presenceRepository.GetAttendanceByGroup(group.Id);
var attendanceRecords = new List<AttendanceRecord>();
foreach (var record in groupAttendance)
{
var names = _userRepository.GetUserNames().Where(u => u.UserId == record.UserId);
foreach (var name in names)
{
attendanceRecords.Add(new AttendanceRecord
{
UserName = name.FIO,
UserId = name.UserId,
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.UserId))
{
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;
worksheet.Cell(row, 5).Value = record.IsAttedance ? "Присутствует" : "Отсутствует";
row++;
lesNum = record.LessonNumber;
}
worksheet.Columns().AdjustToContents();
}
workbook.SaveAs(filePath);
}
} }
@ -30,12 +115,11 @@ namespace Demo.Domain.UseCase
return _presenceRepository.GetPresenceByDateAndGroup(date, groupId); return _presenceRepository.GetPresenceByDateAndGroup(date, groupId);
} }
public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId) public bool GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId)
{ {
try var users = _userRepository.GetAllUsers().Where(u => u.GroupId == groupId).ToList();
if (users.Count!=0)
{ {
var users = _userRepository.GetAllUsers().Where(u => u.GroupId == groupId).ToList();
// Находим последнюю дату посещаемости для данной группы // Находим последнюю дату посещаемости для данной группы
DateOnly startDate = _presenceRepository.GetLastDateByGroupId(groupId)?.AddDays(1) DateOnly startDate = _presenceRepository.GetLastDateByGroupId(groupId)?.AddDays(1)
?? DateOnly.FromDateTime(DateTime.Today); ?? DateOnly.FromDateTime(DateTime.Today);
@ -53,30 +137,15 @@ namespace Demo.Domain.UseCase
LessonNumber = lessonNumber, LessonNumber = lessonNumber,
IsAttedance = true IsAttedance = true
}; };
_presenceRepository.SavePresence(new List<PresenceDao> { presence });
try
{
_presenceRepository.SavePresence(new List<PresenceDao> { presence });
Console.WriteLine($"Посещаемость добавлена для UserId = {user.UserId}, LessonNumber = {lessonNumber} на дату {startDate}");
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка при добавлении посещаемости для UserId = {user.UserId}: {ex.Message}");
if (ex.InnerException != null)
{
Console.WriteLine($"Inner exception: {ex.InnerException.Message}");
}
}
} }
} }
return true;
} }
catch (Exception ex) else
{ {
Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); Console.WriteLine("Группы с таким ID не существует");
if (ex.InnerException != null) return false;
{
Console.WriteLine($"Inner exception: {ex.InnerException.Message}");
}
} }
} }
@ -85,28 +154,42 @@ namespace Demo.Domain.UseCase
public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime) public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime)
{ {
for (int i = 0; i < 7; i++) var users = _userRepository.GetAllUsers().Where(u => u.GroupId == groupId).ToList();
if (users.Count != 0)
{ {
DateTime currentTime = startTime.AddDays(i); for (int i = 0; i < 7; i++)
GeneratePresenceDaily(firstLesson, lastLesson, groupId); {
DateTime currentTime = startTime.AddDays(i);
GeneratePresenceDaily(firstLesson, lastLesson, groupId);
}
}
else
{
Console.WriteLine("Группы с таким ID не существует");
} }
} }
// Отметить пользователя как отсутствующего на диапазоне занятий // Отметить пользователя как отсутствующего на диапазоне занятий
public void MarkUserAbsentForLessons(int userId, int groupId, int firstLesson, int lastLesson, DateTime date) public bool MarkUserAbsentForLessons(int userId, int groupId, int firstLesson, int lastLesson, DateTime date)
{ {
List<PresenceDao> presences = _presenceRepository.GetPresenceForAbsent(date, groupId); List<PresenceDao> presences = _presenceRepository.GetPresenceForAbsent(date, groupId);
if (presences.Where(p => p.UserId == userId).Count() > 0)
// Обновляем состояние присутствия для указанных занятий
foreach (var presence in presences.Where(p => p.UserId == userId && p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson))
{ {
presence.IsAttedance = false; // Устанавливаем отсутствие // Обновляем состояние присутствия для указанных занятий
Console.WriteLine($"PresenceId: {presence.PresenceId}, UserId: {presence.UserId}, Lesson Num: {presence.LessonNumber}, Att: {presence.IsAttedance}"); foreach (var presence in presences.Where(p => p.UserId == userId && p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson))
{
presence.IsAttedance = false; // Устанавливаем отсутствие
}
// Сохраняем изменения в репозитории
_presenceRepository.UpdateAtt(userId, groupId, firstLesson, lastLesson, DateOnly.FromDateTime(date), false);
return true;
}
else
{
return false;
} }
// Сохраняем изменения в репозитории
_presenceRepository.SavePresence(presences);
} }
public List<PresenceDao> GetAllPresenceByGroup(int groupId) public List<PresenceDao> GetAllPresenceByGroup(int groupId)
@ -114,7 +197,10 @@ namespace Demo.Domain.UseCase
return _presenceRepository.GetPresenceByGroup(groupId); return _presenceRepository.GetPresenceByGroup(groupId);
} }
public GroupAttendanceStatistics GetGeneralPresence(int groupId)
{
return _presenceRepository.GetGeneralPresenceForGroup(groupId);
}

View File

@ -1,4 +1,5 @@
using Demo.Data.Exceptions; using Demo.Data.Exceptions;
using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Data.Repository; using Demo.Data.Repository;
using Demo.domain.Models; using Demo.domain.Models;
@ -9,11 +10,12 @@ namespace Demo.Domain.UseCase
{ {
private readonly IUserRepository _repositoryUserImpl; private readonly IUserRepository _repositoryUserImpl;
private readonly IGroupRepository _repositoryGroupImpl; private readonly IGroupRepository _repositoryGroupImpl;
private readonly IPresenceRepository _repositoryPresenceImpl;
public UserUseCase(IUserRepository repositoryImpl, IGroupRepository repositoryGroupImpl) public UserUseCase(IUserRepository repositoryImpl, IGroupRepository repositoryGroupImpl, IPresenceRepository presenceRepository)
{ {
_repositoryUserImpl = repositoryImpl; _repositoryUserImpl = repositoryImpl;
_repositoryGroupImpl = repositoryGroupImpl; _repositoryGroupImpl = repositoryGroupImpl;
_repositoryPresenceImpl = presenceRepository;
} }
// Приватный метод для валидации ФИО пользователя // Приватный метод для валидации ФИО пользователя
@ -25,6 +27,16 @@ namespace Demo.Domain.UseCase
} }
} }
public void RemovePresenceByUserId(int userId)
{
using (var context = new RemoteDatabaseContext())
{
var presences = context.PresenceDaos.Where(p => p.UserId == userId).ToList();
context.PresenceDaos.RemoveRange(presences);
context.SaveChanges();
}
}
// Приватный метод для валидации существования пользователя по ID // Приватный метод для валидации существования пользователя по ID
private UserDao ValidateUserExistence(int userId) private UserDao ValidateUserExistence(int userId)
{ {
@ -54,16 +66,17 @@ namespace Demo.Domain.UseCase
} }
// Вывести всех пользователей // Вывести всех пользователей
public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUsers() //упростить под ef
public List<UserDao> GetAllUsers() => _repositoryUserImpl.GetAllUsers()
.Join(_repositoryGroupImpl.GetAllGroups(), .Join(_repositoryGroupImpl.GetAllGroups(),
user => user.GroupId, // Ключ для пользователей user => user.GroupId, // Ключ для пользователей
group => group.Id, // Ключ для групп group => group.Id, // Ключ для групп
(user, group) => // Результирующий объект (user, group) => // Результирующий объект
new User new UserDao
{ {
ID = user.UserId, UserId = user.UserId,
FIO = user.FIO, FIO = user.FIO,
Group = new Group { Id = group.Id, Name = group.Name } Group = new GroupDao { Id = group.Id, Name = group.Name }
}).ToList(); }).ToList();
// Удалить пользователя по id // Удалить пользователя по id
@ -86,19 +99,19 @@ namespace Demo.Domain.UseCase
} }
// Обновить пользователя по id // Обновить пользователя по id
public UserDao UpdateUser(UserDao user) public UserDao UpdateUser(int userId, string newFio, int groupId)
{ {
ValidateUserFIO(user.FIO); ValidateUserFIO(newFio);
ValidateGroupExistence(user.GroupId); ValidateGroupExistence(groupId);
UserDao userDao = new UserDao UserDao userDao = new UserDao
{ {
UserId = user.UserId, UserId = userId,
FIO = user.FIO, FIO = newFio,
GroupId = user.GroupId GroupId = groupId
}; };
UserDao? result = _repositoryUserImpl.UpdateUser(userDao); UserDao? result = _repositoryUserImpl.UpdateUser(userId, newFio, groupId);
if (result == null) if (result == null)
{ {
@ -109,9 +122,9 @@ namespace Demo.Domain.UseCase
return new UserDao return new UserDao
{ {
UserId=user.UserId, UserId= userId,
FIO = result.FIO, FIO = newFio,
GroupId = result.GroupId GroupId = groupId
}; };
} }
@ -126,7 +139,7 @@ namespace Demo.Domain.UseCase
{ {
UserId = user.UserId, UserId = user.UserId,
FIO = user.FIO, FIO = user.FIO,
GroupId = group.Id Group = new GroupDao { Id = group.Id, Name=group.Name }
}; };
} }
} }

View File

@ -1,123 +0,0 @@
// <auto-generated />
using System;
using Demo.Data.RemoteData.RemoteDataBase;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Demo.Migrations
{
[DbContext(typeof(RemoteDatabaseContext))]
[Migration("20241025085326_InitialCreate")]
partial class InitialCreate
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.10")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Groups");
});
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b =>
{
b.Property<int>("UserId")
.HasColumnType("integer");
b.Property<DateOnly>("Date")
.HasColumnType("date");
b.Property<bool>("IsAttedance")
.HasColumnType("boolean");
b.Property<int>("LessonNumber")
.HasColumnType("integer");
b.Property<int>("GroupId")
.HasColumnType("integer");
b.Property<int>("UserDaoUserId")
.HasColumnType("integer");
b.HasKey("UserId", "Date", "IsAttedance", "LessonNumber");
b.HasIndex("UserDaoUserId");
b.ToTable("PresenceDaos");
});
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b =>
{
b.Property<int>("UserId")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("UserId"));
b.Property<string>("FIO")
.IsRequired()
.HasColumnType("text");
b.Property<int>("GroupId")
.HasColumnType("integer");
b.HasKey("UserId");
b.HasIndex("GroupId");
b.ToTable("Users");
});
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b =>
{
b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", "UserDao")
.WithMany()
.HasForeignKey("UserDaoUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("UserDao");
});
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b =>
{
b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", "Group")
.WithMany("Users")
.HasForeignKey("GroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Group");
});
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b =>
{
b.Navigation("Users");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -1,94 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Demo.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Groups",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Groups", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Users",
columns: table => new
{
UserId = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
FIO = table.Column<string>(type: "text", nullable: false),
GroupId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Users", x => x.UserId);
table.ForeignKey(
name: "FK_Users_Groups_GroupId",
column: x => x.GroupId,
principalTable: "Groups",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "PresenceDaos",
columns: table => new
{
UserId = table.Column<int>(type: "integer", nullable: false),
IsAttedance = table.Column<bool>(type: "boolean", nullable: false),
Date = table.Column<DateOnly>(type: "date", nullable: false),
LessonNumber = table.Column<int>(type: "integer", nullable: false),
UserDaoUserId = table.Column<int>(type: "integer", nullable: false),
GroupId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_PresenceDaos", x => new { x.UserId, x.Date, x.IsAttedance, x.LessonNumber });
table.ForeignKey(
name: "FK_PresenceDaos_Users_UserDaoUserId",
column: x => x.UserDaoUserId,
principalTable: "Users",
principalColumn: "UserId",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_PresenceDaos_UserDaoUserId",
table: "PresenceDaos",
column: "UserDaoUserId");
migrationBuilder.CreateIndex(
name: "IX_Users_GroupId",
table: "Users",
column: "GroupId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "PresenceDaos");
migrationBuilder.DropTable(
name: "Users");
migrationBuilder.DropTable(
name: "Groups");
}
}
}

View File

@ -12,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace Demo.Migrations namespace Demo.Migrations
{ {
[DbContext(typeof(RemoteDatabaseContext))] [DbContext(typeof(RemoteDatabaseContext))]
[Migration("20241101064613_InitialMigration")] [Migration("20241103105727_CreateDatabase")]
partial class InitialMigration partial class CreateDatabase
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)

View File

@ -7,7 +7,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace Demo.Migrations namespace Demo.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class InitialMigration : Migration public partial class CreateDatabase : Migration
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)

View File

@ -0,0 +1 @@
,prdb,prdb,14.11.2024 10:51,;

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,11 @@ namespace Demo.UI
public void FindGroupById(int IdGroup) public void FindGroupById(int IdGroup)
{ {
_groupUseCase.FindGroupById(IdGroup); var groups = _groupUseCase.FindGroupById(IdGroup);
if (groups != null)
{
Console.WriteLine(groups);
}
} }
// Метод для отображения всех групп // Метод для отображения всех групп
@ -50,8 +54,10 @@ namespace Demo.UI
// Метод для обновления названия группы // Метод для обновления названия группы
public void UpdateGroupName(int groupId, string newGroupName) public void UpdateGroupName(int groupId, string newGroupName)
{ {
_groupUseCase.UpdateGroup(groupId, newGroupName); if (_groupUseCase.UpdateGroup(groupId, newGroupName))
Console.WriteLine($"\nНазвание группы с ID {groupId} изменено на {newGroupName}.\n"); {
Console.WriteLine($"\nНазвание группы с ID {groupId} изменено на {newGroupName}.\n");
}
} }
} }
} }

View File

@ -24,6 +24,7 @@ namespace Demo.UI
{ {
Console.WriteLine("\n=-= Главное меню =-=\n"); Console.WriteLine("\n=-= Главное меню =-=\n");
// Меню команд
Console.WriteLine("=-= Команды с Пользователями =-="); Console.WriteLine("=-= Команды с Пользователями =-=");
Console.WriteLine("1. Вывести всех пользователей"); Console.WriteLine("1. Вывести всех пользователей");
Console.WriteLine("2. Удалить пользователя по id"); Console.WriteLine("2. Удалить пользователя по id");
@ -37,12 +38,15 @@ namespace Demo.UI
Console.WriteLine("7. Изменить название группы"); Console.WriteLine("7. Изменить название группы");
Console.WriteLine("8. Поиск группы по ID"); Console.WriteLine("8. Поиск группы по ID");
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("=-= Команды Presence =-="); Console.WriteLine("=-= Команды Presence =-=");
Console.WriteLine("9. Сгенерировать посещаемость на день"); Console.WriteLine("9. Сгенерировать посещаемость на день");
Console.WriteLine("10. Сгенерировать посещаемость на неделю"); Console.WriteLine("10. Сгенерировать посещаемость на неделю");
Console.WriteLine("11. Показать посещаемость"); Console.WriteLine("11. Показать посещаемость");
Console.WriteLine("12. Отметить пользователя как отсутствующего"); Console.WriteLine("12. Отметить пользователя как отсутствующего");
Console.WriteLine("13. Вывести всю посещаемость группы"); Console.WriteLine("13. Вывести всю посещаемость группы");
Console.WriteLine("14. Вывести общую информацию об посещаемости по группе");
Console.WriteLine("15. Вывести отчёт в Excel");
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("0. Выход"); Console.WriteLine("0. Выход");
@ -53,66 +57,56 @@ namespace Demo.UI
switch (comand) switch (comand)
{ {
case "1": case "1":
// Отображение всех пользователей
_userConsoleUI.DisplayAllUsers(); _userConsoleUI.DisplayAllUsers();
break; break;
case "2": case "2":
// Удаление пользователя по ID
Console.Write("Введите ID пользователя для удаления: "); Console.Write("Введите ID пользователя для удаления: ");
string inputId = Console.ReadLine(); if (int.TryParse(Console.ReadLine(), out int userId))
if (int.TryParse(inputId, out int userId))
{ {
_userConsoleUI.RemoveUserById(userId); _userConsoleUI.RemoveUserById(userId);
} }
else else
{ {
Console.WriteLine("Неверный формат ID"); Console.WriteLine("Неверный формат ID. Введите целое число.");
} }
break; break;
case "3": case "3":
// Обновление пользователя по ID
Console.Write("Введите ID пользователя для обновления: "); Console.Write("Введите ID пользователя для обновления: ");
string updateIdInput = Console.ReadLine(); if (int.TryParse(Console.ReadLine(), out int updateUserId))
if (int.TryParse(updateIdInput, out int updateUserId))
{ {
_userConsoleUI.UpdateUserById(updateUserId); _userConsoleUI.UpdateUserById(updateUserId);
} }
else else
{ {
Console.WriteLine("Неверный формат ID"); Console.WriteLine("Неверный формат ID. Введите целое число.");
} }
break; break;
case "4": case "4":
// Поиск пользователя по ID
Console.Write("Введите ID пользователя для поиска: "); Console.Write("Введите ID пользователя для поиска: ");
string findIdInput = Console.ReadLine(); if (int.TryParse(Console.ReadLine(), out int findUserId))
if (int.TryParse(findIdInput, out int findUserId))
{ {
_userConsoleUI.FindUserById(findUserId); _userConsoleUI.FindUserById(findUserId);
} }
else else
{ {
Console.WriteLine("Неверный формат ID"); Console.WriteLine("Неверный формат ID. Введите целое число.");
} }
break; break;
case "5": case "5":
// Отображение всех групп
_groupConsoleUI.DisplayAllGroups(); _groupConsoleUI.DisplayAllGroups();
break; break;
case "6": case "6":
// Добавление новой группы
Console.Write("Введите название новой группы: "); Console.Write("Введите название новой группы: ");
string newGroupName = Console.ReadLine(); string newGroupName = Console.ReadLine();
_groupConsoleUI.AddGroup(newGroupName); _groupConsoleUI.AddGroup(newGroupName);
break; break;
case "7": case "7":
// Изменение названия группы
Console.Write("Введите ID группы для изменения: "); Console.Write("Введите ID группы для изменения: ");
if (int.TryParse(Console.ReadLine(), out int groupId)) if (int.TryParse(Console.ReadLine(), out int groupId))
{ {
@ -122,97 +116,180 @@ namespace Demo.UI
} }
else else
{ {
Console.WriteLine("Неверный формат ID группы"); Console.WriteLine("Неверный формат ID группы. Введите целое число.");
} }
break; break;
case "8": case "8":
// Поиск группы
Console.Write("Введите ID группы для поиска : "); Console.Write("Введите ID группы для поиска : ");
if (int.TryParse(Console.ReadLine(), out int IdGroup)) if (int.TryParse(Console.ReadLine(), out int IdGroup))
{ {
_groupConsoleUI.FindGroupById(IdGroup); _groupConsoleUI.FindGroupById(IdGroup);
} }
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
break; break;
case "9": case "9":
// Генерация посещаемости на день
Console.Write("Введите номер первого занятия: "); Console.Write("Введите номер первого занятия: ");
int firstLesson = int.Parse(Console.ReadLine()); if (int.TryParse(Console.ReadLine(), out int firstLesson))
Console.Write("Введите номер последнего занятия: "); {
int lastLesson = int.Parse(Console.ReadLine()); Console.Write("Введите номер последнего занятия: ");
Console.Write("Введите ID группы: "); if (int.TryParse(Console.ReadLine(), out int lastLesson))
int groupIdForPresence = int.Parse(Console.ReadLine()); {
Console.Write("Введите ID группы: ");
_presenceConsoleUI.GeneratePresenceForDay(DateTime.Now, groupIdForPresence, firstLesson, lastLesson); if (int.TryParse(Console.ReadLine(), out int groupIdForPresence))
Console.WriteLine("Посещаемость на день сгенерирована."); {
_presenceConsoleUI.GeneratePresenceForDay(DateTime.Now, groupIdForPresence, firstLesson, lastLesson);
}
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат номера занятия. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат номера занятия. Введите целое число.");
}
break; break;
case "10": case "10":
// Генерация посещаемости на неделю
Console.Write("Введите номер первого занятия: "); Console.Write("Введите номер первого занятия: ");
int firstLessonForWeek = int.Parse(Console.ReadLine()); if (int.TryParse(Console.ReadLine(), out int firstLessonForWeek))
Console.Write("Введите номер последнего занятия: "); {
int lastLessonForWeek = int.Parse(Console.ReadLine()); Console.Write("Введите номер последнего занятия: ");
Console.Write("Введите ID группы: "); if (int.TryParse(Console.ReadLine(), out int lastLessonForWeek))
int groupIdForWeekPresence = int.Parse(Console.ReadLine()); {
Console.Write("Введите ID группы: ");
_presenceConsoleUI.GeneratePresenceForWeek(DateTime.Now, groupIdForWeekPresence, firstLessonForWeek, lastLessonForWeek); if (int.TryParse(Console.ReadLine(), out int groupIdForWeekPresence))
Console.WriteLine("Посещаемость на неделю сгенерирована."); {
_presenceConsoleUI.GeneratePresenceForWeek(DateTime.Now, groupIdForWeekPresence, firstLessonForWeek, lastLessonForWeek);
}
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат номера занятия. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат номера занятия. Введите целое число.");
}
break; break;
case "11": case "11":
// Отображение посещаемости
Console.Write("Введите дату (гггг-мм-дд): "); Console.Write("Введите дату (гггг-мм-дд): ");
DateTime date = DateTime.Parse(Console.ReadLine()); if (DateTime.TryParse(Console.ReadLine(), out DateTime date))
Console.Write("Введите ID группы: "); {
int groupForPresenceView = int.Parse(Console.ReadLine()); Console.Write("Введите ID группы: ");
if (int.TryParse(Console.ReadLine(), out int groupForPresenceView))
_presenceConsoleUI.DisplayPresence(date, groupForPresenceView); {
_presenceConsoleUI.DisplayPresence(date, groupForPresenceView);
}
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат даты. Введите дату в формате гггг-мм-дд.");
}
break; break;
case "12": case "12":
// Отметить пользователя как отсутствующего
Console.Write("Введите ID пользователя: "); Console.Write("Введите ID пользователя: ");
userId = int.Parse(Console.ReadLine()); if (int.TryParse(Console.ReadLine(), out userId))
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());
Console.Write("Введите дату (дд.мм.гггг): ");
string dateInput = Console.ReadLine();
DateTime absenceDate;
if (!DateTime.TryParseExact(dateInput, "d.M.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out absenceDate))
{ {
Console.WriteLine("Ошибка: Введен некорректный формат даты. Пожалуйста, используйте формат дд.мм.гггг."); Console.Write("Введите номер первого занятия: ");
return; // Завершает выполнение, если дата некорректна if (int.TryParse(Console.ReadLine(), out int firstAbsLesson))
{
Console.Write("Введите номер последнего занятия: ");
if (int.TryParse(Console.ReadLine(), out int lastAbsLesson))
{
Console.Write("Введите ID группы: ");
if (int.TryParse(Console.ReadLine(), out int absGroupId))
{
Console.Write("Введите дату (дд.мм.гггг): ");
string dateInput = Console.ReadLine();
if (DateTime.TryParseExact(dateInput, "d.M.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime absenceDate))
{
_presenceConsoleUI.MarkUserAbsent(absenceDate, absGroupId, userId, firstAbsLesson, lastAbsLesson);
}
else
{
Console.WriteLine("Неверный формат даты. Пожалуйста, используйте формат дд.мм.гггг.");
}
}
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат номера последнего занятия. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат номера первого занятия. Введите целое число.");
}
}
else
{
Console.WriteLine("Неверный формат ID пользователя. Введите целое число.");
} }
_presenceConsoleUI.MarkUserAbsent(absenceDate, absGroupId, userId, firstAbsLesson, lastAbsLesson);
Console.WriteLine("Пользователь отмечен как отсутствующий.");
break; break;
case "13": case "13":
Console.Write("Введите ID группы: "); Console.Write("Введите ID группы: ");
int groupIdForAllPresence = int.Parse(Console.ReadLine()); if (int.TryParse(Console.ReadLine(), out int groupIdForAllPresence))
_presenceConsoleUI.DisplayAllPresenceByGroup(groupIdForAllPresence); {
_presenceConsoleUI.DisplayAllPresenceByGroup(groupIdForAllPresence);
}
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
break; break;
case "14":
Console.Write("Введите ID группы: ");
if (int.TryParse(Console.ReadLine(), out int groupIdForGeneralPresence))
{
_presenceConsoleUI.DisplayGeneralPresence(groupIdForGeneralPresence);
}
else
{
Console.WriteLine("Неверный формат ID группы. Введите целое число.");
}
break;
case "15":
_presenceConsoleUI.ExportAttendanceToExcel();
Console.WriteLine("Отчёт в Excel успешно создан.");
break;
case "0": case "0":
Console.WriteLine("Выход..."); Console.WriteLine("Завершение работы.");
return; return;
default: default:
Console.WriteLine("Неверный выбор, попробуйте снова."); Console.WriteLine("Неизвестная команда. Пожалуйста, введите номер команды из списка.");
break; break;
} }
Console.WriteLine();
} }
} }
} }

View File

@ -1,4 +1,5 @@
using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.Exceptions;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models; using Demo.domain.Models;
using Demo.Domain.UseCase; using Demo.Domain.UseCase;
using System; using System;
@ -15,13 +16,30 @@ namespace Demo.UI
_presenceUseCase = presenceUseCase; _presenceUseCase = presenceUseCase;
} }
public void ExportAttendanceToExcel()
{
try
{
_presenceUseCase.ExportAttendanceToExcel();
Console.WriteLine("Данные посещаемости успешно экспортированы в Excel.");
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка при экспорте посещаемости: {ex.Message}");
}
}
// Метод для генерации посещаемости на день // Метод для генерации посещаемости на день
public void GeneratePresenceForDay(DateTime date, int groupId, int firstLesson, int lastLesson) public void GeneratePresenceForDay(DateTime date, int groupId, int firstLesson, int lastLesson)
{ {
try try
{ {
_presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId); if (_presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId))
Console.WriteLine("Посещаемость на день успешно сгенерирована."); {
Console.WriteLine("Посещаемость на день успешно сгенерирована.");
}
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -35,7 +53,6 @@ namespace Demo.UI
try try
{ {
_presenceUseCase.GenerateWeeklyPresence(firstLesson, lastLesson, groupId, date); _presenceUseCase.GenerateWeeklyPresence(firstLesson, lastLesson, groupId, date);
Console.WriteLine("Посещаемость на неделю успешно сгенерирована.");
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -85,9 +102,40 @@ namespace Demo.UI
public void MarkUserAbsent(DateTime date, int groupId, int userId, int firstLesson, int lastLesson) public void MarkUserAbsent(DateTime date, int groupId, int userId, int firstLesson, int lastLesson)
{ {
_presenceUseCase.MarkUserAbsentForLessons(userId, groupId, firstLesson, lastLesson, date); bool check=_presenceUseCase.MarkUserAbsentForLessons(userId, groupId, firstLesson, lastLesson, date);
if (check)
{
Console.WriteLine("Пользователь отмечен как осутсвующий");
}
else
{
Console.WriteLine($"Посещаемость для пользователя ID: {userId} на дату {date.ToShortDateString()}" +
$" с {firstLesson} по {lastLesson} уроки не найдена.");
}
} }
public void DisplayGeneralPresence(int groupId)
{
var statistics = _presenceUseCase.GetGeneralPresence(groupId);
if (statistics.UserCount != 0)
{
Console.WriteLine($"Человек в группе: {statistics.UserCount}, " +
$"Количество проведённых занятий: {statistics.TotalLessons}, " +
$"Общий процент посещаемости группы: {statistics.AttendancePercentage}%");
}
else
{
Console.WriteLine("Неверный ID группы");
}
foreach (var user in statistics.UserAttendanceDetails)
{
Console.ForegroundColor = user.AttendanceRate < 40 ? ConsoleColor.Red : ConsoleColor.White;
Console.WriteLine($"ID Пользователя: {user.UserId}, Посетил: {user.Attended}, " +
$"Пропустил: {user.Missed}, Процент посещаемости: {user.AttendanceRate}%");
}
Console.ForegroundColor = ConsoleColor.White;
}

View File

@ -1,4 +1,6 @@
using Demo.Domain.UseCase; using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.Repository;
using Demo.Domain.UseCase;
using System; using System;
using System.Text; using System.Text;
@ -21,7 +23,7 @@ namespace Demo.UI
foreach (var user in _userUseCase.GetAllUsers()) foreach (var user in _userUseCase.GetAllUsers())
{ {
userOutput.AppendLine($"{user.ID}\t{user.FIO}\t{user.Group.Name}"); userOutput.AppendLine($"{user.UserId}\t{user.FIO}\t{user.Group.Name}");
} }
Console.WriteLine(userOutput); Console.WriteLine(userOutput);
@ -31,6 +33,10 @@ namespace Demo.UI
// Метод для удаления пользователя по ID // Метод для удаления пользователя по ID
public void RemoveUserById(int userId) public void RemoveUserById(int userId)
{ {
// Сначала удаляем все записи о присутствии пользователя
_userUseCase.RemovePresenceByUserId(userId);
// Теперь удаляем пользователя
string output = _userUseCase.RemoveUserById(userId) ? "Пользователь удален" : "Пользователь не найден"; string output = _userUseCase.RemoveUserById(userId) ? "Пользователь удален" : "Пользователь не найден";
Console.WriteLine($"\n{output}\n"); Console.WriteLine($"\n{output}\n");
} }
@ -46,9 +52,9 @@ namespace Demo.UI
Console.WriteLine($"Текущие данные: {user.FIO}"); Console.WriteLine($"Текущие данные: {user.FIO}");
Console.Write("\nВведите новое ФИО: "); Console.Write("\nВведите новое ФИО: ");
string newFIO = Console.ReadLine(); string newFIO = Console.ReadLine();
Console.Write("\nВведите новый ID группы (или оставьте такой же): ");
user.FIO = newFIO; int GroupId = int.Parse(Console.ReadLine());
_userUseCase.UpdateUser(user); _userUseCase.UpdateUser(userId, newFIO, GroupId);
Console.WriteLine("\nПользователь обновлен.\n"); Console.WriteLine("\nПользователь обновлен.\n");
} }

Binary file not shown.

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -14,7 +14,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+5f424596e2b0fa84375965a237d76913c98a016f")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2465b092a516c19e8c3f29d570c32d13752e7448")]
[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 @@
e42cc116f635190b7c9988c97519c211c4b2432424ca6ac866ba04673b9f3fa7 4dafcc315c5b5143aebffac45bb6b1a02a9a8069862a5a3ab589c57fa4d0c6e2

View File

@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules = build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Demo build_property.RootNamespace = Demo
build_property.ProjectDir = C:\Users\adm\Source\Repos\presence\Demo\ build_property.ProjectDir = C:\Users\prdb\Source\Repos\presence\Demo\
build_property.EnableComHosting = build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -1 +1 @@
1e41011bf1bd18b43960533c1b9a8180853e639316cffb41dabd64b373687e5e 003e9888ea0d9308d5dd6d4a2d557b5c6f99d7bdf9e3c9c146b77760b979d967

View File

@ -320,3 +320,435 @@ C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.pdb C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\ref\Demo.dll C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\ref\Demo.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Humanizer.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Npgsql.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.CodeDom.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.Composition.Convention.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\ref\Demo.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Humanizer.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Npgsql.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.CodeDom.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.Convention.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\ref\Demo.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ClosedXML.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ClosedXML.Parser.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ExcelNumberFormat.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\RBush.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\SixLabors.Fonts.dll
C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.IO.Packaging.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ClosedXML.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ClosedXML.Parser.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ExcelNumberFormat.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Humanizer.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Npgsql.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\RBush.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\SixLabors.Fonts.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.CodeDom.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.Composition.Convention.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.IO.Packaging.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\adm\Source\Repos\presence123\Demo\obj\Debug\net8.0\ref\Demo.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\ClosedXML.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\ClosedXML.Parser.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\ExcelNumberFormat.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\RBush.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\SixLabors.Fonts.dll
C:\Users\adm\source\repos\presence\Demo\bin\Debug\net8.0\System.IO.Packaging.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ClosedXML.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ClosedXML.Parser.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\ExcelNumberFormat.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\RBush.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\SixLabors.Fonts.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\System.IO.Packaging.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ClosedXML.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ClosedXML.Parser.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ExcelNumberFormat.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Humanizer.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Npgsql.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\RBush.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\SixLabors.Fonts.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.CodeDom.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.Convention.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.IO.Packaging.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\prdb\Source\Repos\presence\Demo\obj\Debug\net8.0\ref\Demo.dll

Binary file not shown.

View File

@ -1 +1 @@
8d7493d59976f54fd4618a2aa5dda91cb081e5f448046094a0d285a3f37d59f2 bb731a27e918820a0d7ba57150fc70cb90d26dee6f59b233a1c533252885873c

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,20 +1,20 @@
{ {
"format": 1, "format": 1,
"restore": { "restore": {
"C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj": {} "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj": {}
}, },
"projects": { "projects": {
"C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj": { "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectUniqueName": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectName": "Demo", "projectName": "Demo",
"projectPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\", "packagesPath": "C:\\Users\\prdb\\.nuget\\packages\\",
"outputPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\obj\\", "outputPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\prdb\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
], ],
"originalTargetFrameworks": [ "originalTargetFrameworks": [
@ -45,6 +45,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

@ -5,18 +5,18 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\adm\.nuget\packages\</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\prdb\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\adm\.nuget\packages\" /> <SourceRoot Include="C:\Users\prdb\.nuget\packages\" />
</ItemGroup> </ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.10\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.10\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" /> <Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.10\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.10\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.10\build\net8.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.10\build\net8.0\Microsoft.EntityFrameworkCore.Design.props')" /> <Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.10\build\net8.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.10\build\net8.0\Microsoft.EntityFrameworkCore.Design.props')" />
</ImportGroup> </ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\adm\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers> <PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\prdb\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

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",
@ -2111,19 +2396,19 @@
] ]
}, },
"packageFolders": { "packageFolders": {
"C:\\Users\\adm\\.nuget\\packages\\": {} "C:\\Users\\prdb\\.nuget\\packages\\": {}
}, },
"project": { "project": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectUniqueName": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectName": "Demo", "projectName": "Demo",
"projectPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\", "packagesPath": "C:\\Users\\prdb\\.nuget\\packages\\",
"outputPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\obj\\", "outputPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\prdb\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
], ],
"originalTargetFrameworks": [ "originalTargetFrameworks": [
@ -2154,6 +2439,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,47 +1,55 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "1jgLqgxs2pA=", "dgSpecHash": "OF1pvuudGTM=",
"success": true, "success": true,
"projectFilePath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectFilePath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"C:\\Users\\adm\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\closedxml\\0.104.1\\closedxml.0.104.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\documentformat.openxml\\3.0.1\\documentformat.openxml.3.0.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\documentformat.openxml.framework\\3.0.1\\documentformat.openxml.framework.3.0.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\rbush\\3.2.0\\rbush.3.2.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", "C:\\Users\\prdb\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512" "C:\\Users\\prdb\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.io.packaging\\8.0.0\\system.io.packaging.8.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512"
], ],
"logs": [] "logs": []
} }