Compare commits

..

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

75 changed files with 649 additions and 2260 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,313 +0,0 @@
{
"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

@ -1,313 +0,0 @@
{
"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.

View File

@ -1,23 +0,0 @@
{
"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

@ -1,11 +0,0 @@
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

@ -1,19 +0,0 @@
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 string Name { get; set; }
public virtual List<UserDao> Users { get; set; }
public List<UserDao> Users { get; set; }
}
}

View File

@ -1,16 +0,0 @@
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 int UserId { get; set; }
public int GroupId { get; set; }
public required int GroupId { get; set; }
public GroupDao? Group { get; set; }
}
}

View File

@ -1,16 +0,0 @@
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

@ -0,0 +1,75 @@
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,10 +2,8 @@
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models;
using Demo.Domain.UseCase;
using Microsoft.EntityFrameworkCore.Metadata;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -19,9 +17,5 @@ namespace Demo.Data.Repository
List<PresenceDao> GetPresenceByGroup(int groupId);
DateOnly? GetLastDateByGroupId(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,7 +8,6 @@ namespace Demo.Data.Repository
{
List<UserDao> GetAllUsers();
bool RemoveUserById(int userId);
UserDao UpdateUser(int userId, string newFIO, int groupId);
List<UserDao> GetUserNames();
UserDao? UpdateUser(UserDao user);
}
}

View File

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

View File

@ -1,20 +1,15 @@
using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models;
using DocumentFormat.OpenXml.InkML;
using DocumentFormat.OpenXml.Spreadsheet;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace Demo.Data.Repository
{
@ -26,28 +21,9 @@ namespace Demo.Data.Repository
{
_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)
{
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)
{
@ -58,9 +34,7 @@ namespace Demo.Data.Repository
// Реализация метода для получения всех данных по группе
public List<PresenceDao> GetPresenceByGroup(int groupId)
{
return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == groupId)
.OrderBy(p => p.Date)
.ThenBy(p=>p.UserId).ToList();
return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == groupId).ToList();
}
public void SavePresence(List<PresenceDao> presences)
@ -76,26 +50,6 @@ namespace Demo.Data.Repository
_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)
{
// Проверяем наличие записей о посещаемости в базе данных для данной группы.
@ -108,123 +62,5 @@ namespace Demo.Data.Repository
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,18 +24,17 @@ namespace Demo.Data.Repository
if (user == null) throw new UserNotFoundException(userId);
_remoteDatabaseContext.Users.Remove(user);
_remoteDatabaseContext.SaveChanges();
return true;
}
public UserDao UpdateUser(int userId, string newFio, int groupId)
public UserDao? UpdateUser(UserDao user)
{
var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.UserId == userId);
if (existingUser == null) throw new UserNotFoundException(userId);
var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.UserId == user.UserId);
if (existingUser == null) throw new UserNotFoundException(user.UserId);
// Обновляем поля существующего пользователя
existingUser.FIO = newFio;
existingUser.GroupId = groupId;
existingUser.FIO = user.FIO;
existingUser.GroupId = user.GroupId;
_remoteDatabaseContext.SaveChanges();
return existingUser;
@ -46,16 +45,5 @@ namespace Demo.Data.Repository
// Возвращаем пользователей, отсортированных по UserId
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

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,123 @@
// <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

@ -0,0 +1,94 @@
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
{
[DbContext(typeof(RemoteDatabaseContext))]
[Migration("20241103105727_CreateDatabase")]
partial class CreateDatabase
[Migration("20241101064613_InitialMigration")]
partial class InitialMigration
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)

View File

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

View File

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

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

@ -1,5 +1,4 @@
using Demo.Data.Exceptions;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.domain.Models;
using Demo.Domain.UseCase;
using System;
@ -16,30 +15,13 @@ namespace Demo.UI
_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)
{
try
{
if (_presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId))
{
Console.WriteLine("Посещаемость на день успешно сгенерирована.");
}
_presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId);
Console.WriteLine("Посещаемость на день успешно сгенерирована.");
}
catch (Exception ex)
{
@ -53,6 +35,7 @@ namespace Demo.UI
try
{
_presenceUseCase.GenerateWeeklyPresence(firstLesson, lastLesson, groupId, date);
Console.WriteLine("Посещаемость на неделю успешно сгенерирована.");
}
catch (Exception ex)
{
@ -102,40 +85,9 @@ namespace Demo.UI
public void MarkUserAbsent(DateTime date, int groupId, int userId, int firstLesson, int lastLesson)
{
bool check=_presenceUseCase.MarkUserAbsentForLessons(userId, groupId, firstLesson, lastLesson, date);
if (check)
{
Console.WriteLine("Пользователь отмечен как осутсвующий");
}
else
{
Console.WriteLine($"Посещаемость для пользователя ID: {userId} на дату {date.ToShortDateString()}" +
$" с {firstLesson} по {lastLesson} уроки не найдена.");
}
_presenceUseCase.MarkUserAbsentForLessons(userId, groupId, firstLesson, lastLesson, date);
}
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,6 +1,4 @@
using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.Repository;
using Demo.Domain.UseCase;
using Demo.Domain.UseCase;
using System;
using System.Text;
@ -23,7 +21,7 @@ namespace Demo.UI
foreach (var user in _userUseCase.GetAllUsers())
{
userOutput.AppendLine($"{user.UserId}\t{user.FIO}\t{user.Group.Name}");
userOutput.AppendLine($"{user.ID}\t{user.FIO}\t{user.Group.Name}");
}
Console.WriteLine(userOutput);
@ -33,10 +31,6 @@ namespace Demo.UI
// Метод для удаления пользователя по ID
public void RemoveUserById(int userId)
{
// Сначала удаляем все записи о присутствии пользователя
_userUseCase.RemovePresenceByUserId(userId);
// Теперь удаляем пользователя
string output = _userUseCase.RemoveUserById(userId) ? "Пользователь удален" : "Пользователь не найден";
Console.WriteLine($"\n{output}\n");
}
@ -52,9 +46,9 @@ namespace Demo.UI
Console.WriteLine($"Текущие данные: {user.FIO}");
Console.Write("\nВведите новое ФИО: ");
string newFIO = Console.ReadLine();
Console.Write("\nВведите новый ID группы (или оставьте такой же): ");
int GroupId = int.Parse(Console.ReadLine());
_userUseCase.UpdateUser(userId, newFIO, GroupId);
user.FIO = newFIO;
_userUseCase.UpdateUser(user);
Console.WriteLine("\nПользователь обновлен.\n");
}

Binary file not shown.

View File

@ -8,7 +8,6 @@
".NETCoreApp,Version=v8.0": {
"Demo/1.0.0": {
"dependencies": {
"ClosedXML": "0.104.1",
"Microsoft.EntityFrameworkCore": "8.0.10",
"Microsoft.EntityFrameworkCore.Design": "8.0.10",
"Microsoft.Extensions.DependencyInjection": "8.0.1",
@ -18,60 +17,6 @@
"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": {
"runtime": {
"lib/net6.0/Humanizer.dll": {
@ -503,22 +448,6 @@
}
}
},
"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": {
"runtime": {
"lib/netstandard2.0/System.CodeDom.dll": {
@ -592,14 +521,6 @@
}
}
},
"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": {
"runtime": {
"lib/net6.0/System.IO.Pipelines.dll": {
@ -628,41 +549,6 @@
"serviceable": false,
"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": {
"type": "package",
"serviceable": true,
@ -838,20 +724,6 @@
"path": "npgsql.entityframeworkcore.postgresql/8.0.10",
"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": {
"type": "package",
"serviceable": true,
@ -908,13 +780,6 @@
"path": "system.composition.typedparts/6.0.0",
"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": {
"type": "package",
"serviceable": true,

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.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2465b092a516c19e8c3f29d570c32d13752e7448")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5f424596e2b0fa84375965a237d76913c98a016f")]
[assembly: System.Reflection.AssemblyProductAttribute("Demo")]
[assembly: System.Reflection.AssemblyTitleAttribute("Demo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
4dafcc315c5b5143aebffac45bb6b1a02a9a8069862a5a3ab589c57fa4d0c6e2
e42cc116f635190b7c9988c97519c211c4b2432424ca6ac866ba04673b9f3fa7

View File

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

View File

@ -1 +1 @@
003e9888ea0d9308d5dd6d4a2d557b5c6f99d7bdf9e3c9c146b77760b979d967
1e41011bf1bd18b43960533c1b9a8180853e639316cffb41dabd64b373687e5e

View File

@ -320,435 +320,3 @@ 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.genruntimeconfig.cache
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 @@
bb731a27e918820a0d7ba57150fc70cb90d26dee6f59b233a1c533252885873c
8d7493d59976f54fd4618a2aa5dda91cb081e5f448046094a0d285a3f37d59f2

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,20 +1,20 @@
{
"format": 1,
"restore": {
"C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj": {}
"C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj": {}
},
"projects": {
"C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj": {
"C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectName": "Demo",
"projectPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\prdb\\.nuget\\packages\\",
"outputPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\obj\\",
"projectPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\",
"outputPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\prdb\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -45,10 +45,6 @@
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"ClosedXML": {
"target": "Package",
"version": "[0.104.1, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[8.0.10, )"

View File

@ -5,18 +5,18 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\prdb\.nuget\packages\</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\adm\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\prdb\.nuget\packages\" />
<SourceRoot Include="C:\Users\adm\.nuget\packages\" />
</ItemGroup>
<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.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>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\prdb\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\adm\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup>
</Project>

View File

@ -2,85 +2,6 @@
"version": 3,
"targets": {
"net8.0": {
"ClosedXML/0.104.1": {
"type": "package",
"dependencies": {
"ClosedXML.Parser": "[1.2.0, 2.0.0)",
"DocumentFormat.OpenXml": "[3.0.1, 4.0.0)",
"ExcelNumberFormat": "1.1.0",
"RBush": "3.2.0",
"SixLabors.Fonts": "1.0.0",
"System.IO.Packaging": "8.0.0"
},
"compile": {
"lib/netstandard2.1/ClosedXML.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/netstandard2.1/ClosedXML.dll": {
"related": ".pdb;.xml"
}
}
},
"ClosedXML.Parser/1.2.0": {
"type": "package",
"compile": {
"lib/netstandard2.1/ClosedXML.Parser.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.1/ClosedXML.Parser.dll": {
"related": ".xml"
}
}
},
"DocumentFormat.OpenXml/3.0.1": {
"type": "package",
"dependencies": {
"DocumentFormat.OpenXml.Framework": "3.0.1"
},
"compile": {
"lib/net8.0/DocumentFormat.OpenXml.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/DocumentFormat.OpenXml.dll": {
"related": ".xml"
}
}
},
"DocumentFormat.OpenXml.Framework/3.0.1": {
"type": "package",
"dependencies": {
"System.IO.Packaging": "8.0.0"
},
"compile": {
"lib/net8.0/DocumentFormat.OpenXml.Framework.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/DocumentFormat.OpenXml.Framework.dll": {
"related": ".xml"
}
}
},
"ExcelNumberFormat/1.1.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/ExcelNumberFormat.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/ExcelNumberFormat.dll": {
"related": ".xml"
}
}
},
"Humanizer.Core/2.14.1": {
"type": "package",
"compile": {
@ -672,32 +593,6 @@
}
}
},
"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": {
"type": "package",
"compile": {
@ -832,22 +727,6 @@
"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": {
"type": "package",
"compile": {
@ -943,104 +822,6 @@
}
},
"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": {
"sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==",
"type": "package",
@ -2005,42 +1786,6 @@
"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": {
"sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==",
"type": "package",
@ -2217,35 +1962,6 @@
"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": {
"sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==",
"type": "package",
@ -2388,7 +2104,6 @@
},
"projectFileDependencyGroups": {
"net8.0": [
"ClosedXML >= 0.104.1",
"Microsoft.EntityFrameworkCore >= 8.0.10",
"Microsoft.EntityFrameworkCore.Design >= 8.0.10",
"Microsoft.Extensions.DependencyInjection >= 8.0.1",
@ -2396,19 +2111,19 @@
]
},
"packageFolders": {
"C:\\Users\\prdb\\.nuget\\packages\\": {}
"C:\\Users\\adm\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectName": "Demo",
"projectPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\prdb\\.nuget\\packages\\",
"outputPath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\obj\\",
"projectPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\",
"outputPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\prdb\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -2439,10 +2154,6 @@
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"ClosedXML": {
"target": "Package",
"version": "[0.104.1, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[8.0.10, )"

View File

@ -1,55 +1,47 @@
{
"version": 2,
"dgSpecHash": "OF1pvuudGTM=",
"dgSpecHash": "1jgLqgxs2pA=",
"success": true,
"projectFilePath": "C:\\Users\\prdb\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"projectFilePath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj",
"expectedPackageFiles": [
"C:\\Users\\prdb\\.nuget\\packages\\closedxml\\0.104.1\\closedxml.0.104.1.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\documentformat.openxml\\3.0.1\\documentformat.openxml.3.0.1.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\documentformat.openxml.framework\\3.0.1\\documentformat.openxml.framework.3.0.1.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.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\\prdb\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.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\\prdb\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.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\\prdb\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.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\\prdb\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.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\\prdb\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\rbush\\3.2.0\\rbush.3.2.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512",
"C:\\Users\\prdb\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.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\\prdb\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.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"
"C:\\Users\\adm\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.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\\adm\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.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\\adm\\.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.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.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\\adm\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.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\\adm\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.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\\adm\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.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\\adm\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512"
],
"logs": []
}