diff --git a/presence/.vs/ProjectEvaluation/presence.metadata.v9.bin b/presence/.vs/ProjectEvaluation/presence.metadata.v9.bin index 0d78a14..8db7c54 100644 Binary files a/presence/.vs/ProjectEvaluation/presence.metadata.v9.bin and b/presence/.vs/ProjectEvaluation/presence.metadata.v9.bin differ diff --git a/presence/.vs/ProjectEvaluation/presence.projects.v9.bin b/presence/.vs/ProjectEvaluation/presence.projects.v9.bin index 4071997..f2d4df2 100644 Binary files a/presence/.vs/ProjectEvaluation/presence.projects.v9.bin and b/presence/.vs/ProjectEvaluation/presence.projects.v9.bin differ diff --git a/presence/.vs/ProjectEvaluation/presence.strings.v9.bin b/presence/.vs/ProjectEvaluation/presence.strings.v9.bin index 690e974..be2b4bd 100644 Binary files a/presence/.vs/ProjectEvaluation/presence.strings.v9.bin and b/presence/.vs/ProjectEvaluation/presence.strings.v9.bin differ diff --git a/presence/.vs/presence/DesignTimeBuild/.dtbcache.v2 b/presence/.vs/presence/DesignTimeBuild/.dtbcache.v2 index 6ef50cc..76113d6 100644 Binary files a/presence/.vs/presence/DesignTimeBuild/.dtbcache.v2 and b/presence/.vs/presence/DesignTimeBuild/.dtbcache.v2 differ diff --git a/presence/.vs/presence/FileContentIndex/07ca1439-0773-49ab-b7c0-7dae89046f4b.vsidx b/presence/.vs/presence/FileContentIndex/07ca1439-0773-49ab-b7c0-7dae89046f4b.vsidx new file mode 100644 index 0000000..b7b310b Binary files /dev/null and b/presence/.vs/presence/FileContentIndex/07ca1439-0773-49ab-b7c0-7dae89046f4b.vsidx differ diff --git a/presence/.vs/presence/FileContentIndex/0d0f0cde-0d83-4e0a-b4a0-ba31079fc5d5.vsidx b/presence/.vs/presence/FileContentIndex/0d0f0cde-0d83-4e0a-b4a0-ba31079fc5d5.vsidx new file mode 100644 index 0000000..d2f17fa Binary files /dev/null and b/presence/.vs/presence/FileContentIndex/0d0f0cde-0d83-4e0a-b4a0-ba31079fc5d5.vsidx differ diff --git a/presence/.vs/presence/FileContentIndex/2de34cee-a26b-4bd0-8422-8f1d535fc489.vsidx b/presence/.vs/presence/FileContentIndex/2de34cee-a26b-4bd0-8422-8f1d535fc489.vsidx deleted file mode 100644 index 3ed56f9..0000000 Binary files a/presence/.vs/presence/FileContentIndex/2de34cee-a26b-4bd0-8422-8f1d535fc489.vsidx and /dev/null differ diff --git a/presence/.vs/presence/FileContentIndex/50a75f31-d6b4-46df-852f-db40d2ed4d27.vsidx b/presence/.vs/presence/FileContentIndex/50a75f31-d6b4-46df-852f-db40d2ed4d27.vsidx new file mode 100644 index 0000000..302cf04 Binary files /dev/null and b/presence/.vs/presence/FileContentIndex/50a75f31-d6b4-46df-852f-db40d2ed4d27.vsidx differ diff --git a/presence/.vs/presence/FileContentIndex/623d9fce-659a-4333-8f6a-f6599c3ac71b.vsidx b/presence/.vs/presence/FileContentIndex/623d9fce-659a-4333-8f6a-f6599c3ac71b.vsidx new file mode 100644 index 0000000..55a388e Binary files /dev/null and b/presence/.vs/presence/FileContentIndex/623d9fce-659a-4333-8f6a-f6599c3ac71b.vsidx differ diff --git a/presence/.vs/presence/FileContentIndex/6f4c6d02-7d29-4b6d-b7f3-4fabf8ec9286.vsidx b/presence/.vs/presence/FileContentIndex/6f4c6d02-7d29-4b6d-b7f3-4fabf8ec9286.vsidx deleted file mode 100644 index b2f0e0a..0000000 Binary files a/presence/.vs/presence/FileContentIndex/6f4c6d02-7d29-4b6d-b7f3-4fabf8ec9286.vsidx and /dev/null differ diff --git a/presence/.vs/presence/FileContentIndex/b3fed4a5-1f3b-4cb1-952d-f0d6162d8216.vsidx b/presence/.vs/presence/FileContentIndex/b3fed4a5-1f3b-4cb1-952d-f0d6162d8216.vsidx deleted file mode 100644 index a1d834f..0000000 Binary files a/presence/.vs/presence/FileContentIndex/b3fed4a5-1f3b-4cb1-952d-f0d6162d8216.vsidx and /dev/null differ diff --git a/presence/.vs/presence/FileContentIndex/d442cd23-c5e0-4d4d-b00f-dee7e2f55ae0.vsidx b/presence/.vs/presence/FileContentIndex/d442cd23-c5e0-4d4d-b00f-dee7e2f55ae0.vsidx new file mode 100644 index 0000000..3254d07 Binary files /dev/null and b/presence/.vs/presence/FileContentIndex/d442cd23-c5e0-4d4d-b00f-dee7e2f55ae0.vsidx differ diff --git a/presence/.vs/presence/FileContentIndex/e865ca37-d036-451d-a207-af8e65c2d9b1.vsidx b/presence/.vs/presence/FileContentIndex/e865ca37-d036-451d-a207-af8e65c2d9b1.vsidx deleted file mode 100644 index 4847ed9..0000000 Binary files a/presence/.vs/presence/FileContentIndex/e865ca37-d036-451d-a207-af8e65c2d9b1.vsidx and /dev/null differ diff --git a/presence/.vs/presence/FileContentIndex/f5eb9fc7-5ed4-4935-8b76-e4eb577c89b3.vsidx b/presence/.vs/presence/FileContentIndex/f5eb9fc7-5ed4-4935-8b76-e4eb577c89b3.vsidx deleted file mode 100644 index d6e8f85..0000000 Binary files a/presence/.vs/presence/FileContentIndex/f5eb9fc7-5ed4-4935-8b76-e4eb577c89b3.vsidx and /dev/null differ diff --git a/presence/.vs/presence/v17/.futdcache.v2 b/presence/.vs/presence/v17/.futdcache.v2 index 4018f97..13b64e7 100644 Binary files a/presence/.vs/presence/v17/.futdcache.v2 and b/presence/.vs/presence/v17/.futdcache.v2 differ diff --git a/presence/.vs/presence/v17/.suo b/presence/.vs/presence/v17/.suo index 11ff5ab..2268494 100644 Binary files a/presence/.vs/presence/v17/.suo and b/presence/.vs/presence/v17/.suo differ diff --git a/presence/.vs/presence/v17/DocumentLayout.backup.json b/presence/.vs/presence/v17/DocumentLayout.backup.json index fa4208f..97f0627 100644 --- a/presence/.vs/presence/v17/DocumentLayout.backup.json +++ b/presence/.vs/presence/v17/DocumentLayout.backup.json @@ -3,116 +3,180 @@ "WorkspaceRootPath": "C:\\Users\\User\\Desktop\\pr1\\presence\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|solutionrelative:console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\response\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\response\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\response\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\response\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\controllers\\presencecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\presencecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\controllers\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\controllers\\admincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\admincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\groupviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\groupviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\di\\servicecollectionextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\di\\servicecollectionextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\entity\\userentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\entity\\userentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\entity\\groupentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\entity\\groupentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\request\\addstudentrequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\request\\addstudentrequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\request\\addgroupwithstudent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\request\\addgroupwithstudent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\request\\addgrouprequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\request\\addgrouprequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\console_ui\\groupui.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|solutionrelative:console_ui\\groupui.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\responsemodels\\presenceresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\responsemodels\\presenceresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\responsemodels\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\responsemodels\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\presencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\presencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\iadminrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\iadminrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\userattedance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\userattedance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|solutionrelative:console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\presenceviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", @@ -123,80 +187,114 @@ "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\viewmodelbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\views\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\views\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\views\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\views\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\migrations\\20241202104632_initialcreate.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\migrations\\20241202104632_initialcreate.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\migrations\\20241202104632_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\migrations\\20241202104632_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\User\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\serviceextencions\\serviceextencions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\serviceextencions\\serviceextencions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\sqlpresencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\sqlpresencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\presence_api.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\presence_api.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\domain.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\domain.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\responsemodels\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\responsemodels\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" } ], "DocumentGroupContainers": [ { "Orientation": 0, - "VerticalTabListWidth": 170, + "VerticalTabListWidth": 117, "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 11, + "SelectedChildIndex": 16, "Children": [ - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "Program.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\Program.cs", - "RelativeDocumentMoniker": "console_ui\\Program.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\Program.cs*", - "RelativeToolTip": "console_ui\\Program.cs*", - "ViewState": "AgIAAAAAAAAAAAAAAAAAACMAAAAUAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T17:10:59.931Z", - "EditorCaption": "" - }, { "$type": "Bookmark", "Name": "ST:0:0:{e1b7d1f8-9b3c-49b1-8f4f-bfc63a88835d}" @@ -215,176 +313,597 @@ }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 15, + "Title": "UserEntity.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\UserEntity.cs", + "RelativeDocumentMoniker": "domain\\Entity\\UserEntity.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\UserEntity.cs", + "RelativeToolTip": "domain\\Entity\\UserEntity.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-23T08:50:09.246Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "GroupEntity.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\GroupEntity.cs", + "RelativeDocumentMoniker": "domain\\Entity\\GroupEntity.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\GroupEntity.cs", + "RelativeToolTip": "domain\\Entity\\GroupEntity.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-23T08:23:34.256Z" + }, + { + "$type": "Document", + "DocumentIndex": 46, + "Title": "MainWindow.axaml.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Views\\MainWindow.axaml.cs", + "RelativeDocumentMoniker": "Presence.Desktop\\Views\\MainWindow.axaml.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Views\\MainWindow.axaml.cs", + "RelativeToolTip": "Presence.Desktop\\Views\\MainWindow.axaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-22T17:33:57.387Z" + }, + { + "$type": "Document", + "DocumentIndex": 14, + "Title": "ServiceCollectionExtensions.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "RelativeDocumentMoniker": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "RelativeToolTip": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "ViewState": "AgIAABAAAAAAAAAAAAAUwCAAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-22T11:20:46.368Z" + }, + { + "$type": "Document", + "DocumentIndex": 29, + "Title": "Class1.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Class1.cs", + "RelativeDocumentMoniker": "data\\Class1.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Class1.cs", + "RelativeToolTip": "data\\Class1.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T07:16:27.429Z" + }, + { + "$type": "Document", + "DocumentIndex": 57, + "Title": "Presence.Desktop.Views.MainWindow.g.cs", + "DocumentMoniker": "C:\\Users\\User\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs", + "RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs", + "ToolTip": "C:\\Users\\User\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs [\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u0435\u043D\u0438\u0435]", + "RelativeToolTip": "..\\..\\..\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs [\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u0435\u043D\u0438\u0435]", + "ViewState": "AgIAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T07:10:19.424Z", + "EditorCaption": " [\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u0435\u043D\u0438\u0435]" + }, + { + "$type": "Document", + "DocumentIndex": 55, + "Title": "20241202104632_InitialCreate.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.cs", + "RelativeDocumentMoniker": "data\\Migrations\\20241202104632_InitialCreate.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.cs", + "RelativeToolTip": "data\\Migrations\\20241202104632_InitialCreate.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAlAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T06:31:08.755Z" + }, + { + "$type": "Document", + "DocumentIndex": 53, + "Title": "20241202104632_InitialCreate.Designer.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "RelativeDocumentMoniker": "data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "RelativeToolTip": "data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "ViewState": "AgIAAF4AAAAAAAAAAAAQwBEAAABLAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T06:30:26.149Z" + }, + { + "$type": "Document", + "DocumentIndex": 54, + "Title": "RemoteDatabaseContextModelSnapshot.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "RelativeDocumentMoniker": "data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "RelativeToolTip": "data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAYAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T06:29:45.539Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "UserResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\UserResponse.cs", + "RelativeDocumentMoniker": "presence_api\\Response\\UserResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\UserResponse.cs", + "RelativeToolTip": "presence_api\\Response\\UserResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T19:05:23.045Z" + }, + { + "$type": "Document", + "DocumentIndex": 60, + "Title": "presence_api.csproj", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\presence_api.csproj", + "RelativeDocumentMoniker": "presence_api\\presence_api.csproj", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\presence_api.csproj", + "RelativeToolTip": "presence_api\\presence_api.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAArAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-12-19T19:04:29.731Z" + }, + { + "$type": "Document", + "DocumentIndex": 61, + "Title": "domain.csproj", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj", + "RelativeDocumentMoniker": "domain\\domain.csproj", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj", + "RelativeToolTip": "domain\\domain.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-12-19T19:04:00.145Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "UserConsole.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\UserConsole.cs", + "RelativeDocumentMoniker": "ui\\UserConsole.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\UserConsole.cs", + "RelativeToolTip": "ui\\UserConsole.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAA8AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:36:17.35Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "PresenceConsole.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\PresenceConsole.cs", + "RelativeDocumentMoniker": "ui\\PresenceConsole.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\PresenceConsole.cs", + "RelativeToolTip": "ui\\PresenceConsole.cs", + "ViewState": "AgIAAHoAAAAAAAAAAAAAAI4AAAA1AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:35:16.206Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainMenu.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\MainMenu.cs", + "RelativeDocumentMoniker": "ui\\MainMenu.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\MainMenu.cs", + "RelativeToolTip": "ui\\MainMenu.cs", + "ViewState": "AgIAADMAAAAAAAAAAAAYwEQAAAARAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:33:53.859Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "GroupConsole.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\GroupConsole.cs", + "RelativeDocumentMoniker": "ui\\GroupConsole.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\GroupConsole.cs", + "RelativeToolTip": "ui\\GroupConsole.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAC0AAAAFAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:33:18.81Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Program.cs", + "RelativeDocumentMoniker": "presence_api\\Program.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Program.cs", + "RelativeToolTip": "presence_api\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAkAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:32:51.893Z" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "GroupResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\GroupResponse.cs", + "RelativeDocumentMoniker": "presence_api\\Response\\GroupResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\GroupResponse.cs", + "RelativeToolTip": "presence_api\\Response\\GroupResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:32:38.729Z" + }, + { + "$type": "Document", + "DocumentIndex": 58, + "Title": "ServiceExtencions.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "RelativeDocumentMoniker": "presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "RelativeToolTip": "presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "ViewState": "AgIAAAMAAAAAAAAAAAAAAC8AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:32:23.106Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "PresenceController.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\PresenceController.cs", + "RelativeDocumentMoniker": "presence_api\\Controllers\\PresenceController.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\PresenceController.cs", + "RelativeToolTip": "presence_api\\Controllers\\PresenceController.cs", + "ViewState": "AgIAAHMAAAAAAAAAAAAAABIAAAAFAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:31:44.859Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "GroupController.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\GroupController.cs", + "RelativeDocumentMoniker": "presence_api\\Controllers\\GroupController.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\GroupController.cs", + "RelativeToolTip": "presence_api\\Controllers\\GroupController.cs", + "ViewState": "AgIAAA4AAAAAAAAAAAAAwBYAAABnAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:31:26.873Z" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "Title": "AdminController.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\AdminController.cs", + "RelativeDocumentMoniker": "presence_api\\Controllers\\AdminController.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\AdminController.cs", + "RelativeToolTip": "presence_api\\Controllers\\AdminController.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADoAAAAyAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:31:12.794Z" + }, + { + "$type": "Document", + "DocumentIndex": 23, + "Title": "AddStudentRequest.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddStudentRequest.cs", + "RelativeDocumentMoniker": "domain\\Request\\AddStudentRequest.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddStudentRequest.cs", + "RelativeToolTip": "domain\\Request\\AddStudentRequest.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:12:57.044Z" + }, + { + "$type": "Document", + "DocumentIndex": 24, + "Title": "AddGroupWithStudent.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddGroupWithStudent.cs", + "RelativeDocumentMoniker": "domain\\Request\\AddGroupWithStudent.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddGroupWithStudent.cs", + "RelativeToolTip": "domain\\Request\\AddGroupWithStudent.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:12:43.101Z" + }, + { + "$type": "Document", + "DocumentIndex": 67, + "Title": "User.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\User.cs", + "RelativeDocumentMoniker": "domain\\Models\\User.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\User.cs", + "RelativeToolTip": "domain\\Models\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:12:09.961Z" + }, + { + "$type": "Document", + "DocumentIndex": 26, + "Title": "Presence.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Presence.cs", + "RelativeDocumentMoniker": "domain\\Models\\Presence.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Presence.cs", + "RelativeToolTip": "domain\\Models\\Presence.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:11:56.693Z" + }, + { + "$type": "Document", + "DocumentIndex": 69, + "Title": "UserResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\UserResponse.cs", + "RelativeDocumentMoniker": "domain\\Models\\ResponseModels\\UserResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\UserResponse.cs", + "RelativeToolTip": "domain\\Models\\ResponseModels\\UserResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:11:30.67Z" + }, + { + "$type": "Document", + "DocumentIndex": 27, + "Title": "PresenceResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\PresenceResponse.cs", + "RelativeDocumentMoniker": "domain\\Models\\ResponseModels\\PresenceResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\PresenceResponse.cs", + "RelativeToolTip": "domain\\Models\\ResponseModels\\PresenceResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:11:18.266Z" + }, + { + "$type": "Document", + "DocumentIndex": 28, + "Title": "GroupResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\GroupResponse.cs", + "RelativeDocumentMoniker": "domain\\Models\\ResponseModels\\GroupResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\GroupResponse.cs", + "RelativeToolTip": "domain\\Models\\ResponseModels\\GroupResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:10:58.677Z" + }, + { + "$type": "Document", + "DocumentIndex": 68, + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Group.cs", + "RelativeDocumentMoniker": "domain\\Models\\Group.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Group.cs", + "RelativeToolTip": "domain\\Models\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:10:09.156Z" + }, + { + "$type": "Document", + "DocumentIndex": 30, + "Title": "PresenceRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\PresenceRepositoryImpl.cs", + "RelativeDocumentMoniker": "data\\Repository\\PresenceRepositoryImpl.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\PresenceRepositoryImpl.cs", + "RelativeToolTip": "data\\Repository\\PresenceRepositoryImpl.cs", + "ViewState": "AgIAAFgAAAAAAAAAAAAQwFoAAAAIAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:02:38.538Z" + }, + { + "$type": "Document", + "DocumentIndex": 33, + "Title": "IUserRepository.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IUserRepository.cs", + "RelativeDocumentMoniker": "data\\Repository\\IUserRepository.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IUserRepository.cs", + "RelativeToolTip": "data\\Repository\\IUserRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:02:26.979Z" + }, + { + "$type": "Document", + "DocumentIndex": 36, + "Title": "IAdminRepository.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IAdminRepository.cs", + "RelativeDocumentMoniker": "data\\Repository\\IAdminRepository.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IAdminRepository.cs", + "RelativeToolTip": "data\\Repository\\IAdminRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:01:45.399Z" + }, + { + "$type": "Document", + "DocumentIndex": 31, + "Title": "GroupRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\GroupRepositoryImpl.cs", + "RelativeDocumentMoniker": "data\\Repository\\GroupRepositoryImpl.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\GroupRepositoryImpl.cs", + "RelativeToolTip": "data\\Repository\\GroupRepositoryImpl.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAB0AAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:01:24.944Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "RemoteDatabaseContext.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "ViewState": "AgIAABoAAAAAAAAAAAAjwCgAAAA5AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:59:10.386Z" + }, + { + "$type": "Document", + "DocumentIndex": 37, + "Title": "UserAttedance.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:59:02.313Z" + }, + { + "$type": "Document", + "DocumentIndex": 43, + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Group.cs", + "RelativeDocumentMoniker": "data\\Entity\\Group.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Group.cs", + "RelativeToolTip": "data\\Entity\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAeAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:52:30.478Z" + }, + { + "$type": "Document", + "DocumentIndex": 40, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\Program.cs", + "RelativeDocumentMoniker": "console_ui\\Program.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\Program.cs", + "RelativeToolTip": "console_ui\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAAAWAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:10:59.931Z" + }, + { + "$type": "Document", + "DocumentIndex": 32, "Title": "AdminRepositoryImp.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\AdminRepositoryImp.cs", "RelativeDocumentMoniker": "data\\Repository\\AdminRepositoryImp.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\AdminRepositoryImp.cs", "RelativeToolTip": "data\\Repository\\AdminRepositoryImp.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADkAAABxAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:26:25.929Z" }, { "$type": "Document", - "DocumentIndex": 6, - "Title": "UserNotFoundException.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\UserNotFoundException.cs", - "RelativeDocumentMoniker": "data\\Exceptions\\UserNotFoundException.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\UserNotFoundException.cs", - "RelativeToolTip": "data\\Exceptions\\UserNotFoundException.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T09:25:41.991Z" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "RepositoryException.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\RepositoryException.cs", - "RelativeDocumentMoniker": "data\\Exceptions\\RepositoryException.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\RepositoryException.cs", - "RelativeToolTip": "data\\Exceptions\\RepositoryException.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T09:25:35.312Z" - }, - { - "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 34, "Title": "IPresenceRepository.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IPresenceRepository.cs", "RelativeDocumentMoniker": "data\\Repository\\IPresenceRepository.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IPresenceRepository.cs", "RelativeToolTip": "data\\Repository\\IPresenceRepository.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:24:12.447Z" }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 42, "Title": "User.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\User.cs", - "RelativeDocumentMoniker": "data\\LocalData\\Entity\\User.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\User.cs", - "RelativeToolTip": "data\\LocalData\\Entity\\User.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAxAAAAAAAAAA==", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\User.cs", + "RelativeDocumentMoniker": "data\\Entity\\User.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\User.cs", + "RelativeToolTip": "data\\Entity\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:08:04.438Z" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 41, "Title": "Presence.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Presence.cs", - "RelativeDocumentMoniker": "data\\LocalData\\Entity\\Presence.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Presence.cs", - "RelativeToolTip": "data\\LocalData\\Entity\\Presence.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Presence.cs", + "RelativeDocumentMoniker": "data\\Entity\\Presence.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Presence.cs", + "RelativeToolTip": "data\\Entity\\Presence.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:07:30.87Z" }, { "$type": "Document", - "DocumentIndex": 0, - "Title": "Group.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Group.cs", - "RelativeDocumentMoniker": "data\\LocalData\\Entity\\Group.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Group.cs", - "RelativeToolTip": "data\\LocalData\\Entity\\Group.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAsAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T09:07:01.035Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 17, "Title": "UserUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\UserUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\UserUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\UserUseCase.cs", "RelativeToolTip": "domain\\UseCase\\UserUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAACEAAAAAAAAAAAAYwDUAAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:52:05.075Z" }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 18, "Title": "PresenceUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\PresenceUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\PresenceUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\PresenceUseCase.cs", "RelativeToolTip": "domain\\UseCase\\PresenceUseCase.cs", - "ViewState": "AgIAAC0AAAAAAAAAAAAYwPIAAAAnAAAAAAAAAA==", + "ViewState": "AgIAABMAAAAAAAAAAAAzwDgAAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:54.176Z" }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 64, "Title": "IUserUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IUserUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IUserUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IUserUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IUserUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:52.927Z" }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 65, "Title": "IPresenceUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IPresenceUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IPresenceUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IPresenceUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IPresenceUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:51.493Z" }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 19, "Title": "IAdminUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IAdminUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IAdminUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IAdminUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IAdminUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:49.193Z" }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 20, "Title": "GroupUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\GroupUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\GroupUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\GroupUseCase.cs", "RelativeToolTip": "domain\\UseCase\\GroupUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAkwBoAAAAJAAAAAAAAAA==", + "ViewState": "AgIAAAkAAAAAAAAAAAAAAB0AAAAIAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:47:29.626Z" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 21, "Title": "AdminUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\AdminUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\AdminUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\AdminUseCase.cs", "RelativeToolTip": "domain\\UseCase\\AdminUseCase.cs", - "ViewState": "AgIAACQAAAAAAAAAAAAEwB0AAAAtAAAAAAAAAA==", + "ViewState": "AgIAABsAAAAAAAAAAADwvzkAAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:41.22Z" }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 25, "Title": "AddGroupRequest.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddGroupRequest.cs", "RelativeDocumentMoniker": "domain\\Request\\AddGroupRequest.cs", @@ -396,55 +915,43 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 66, "Title": "IGroupUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IGroupUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IGroupUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IGroupUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IGroupUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAABEAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:47:56.11Z" }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 35, "Title": "IGroupRepository.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IGroupRepository.cs", "RelativeDocumentMoniker": "data\\Repository\\IGroupRepository.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IGroupRepository.cs", "RelativeToolTip": "data\\Repository\\IGroupRepository.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAANAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:44:18.211Z" }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 22, "Title": "GroupService.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Service\\GroupService.cs", "RelativeDocumentMoniker": "domain\\Service\\GroupService.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Service\\GroupService.cs", "RelativeToolTip": "domain\\Service\\GroupService.cs", - "ViewState": "AgIAABcAAAAAAAAAAAAvwCQAAAAoAAAAAAAAAA==", + "ViewState": "AgIAABYAAAAAAAAAAAAQwDIAAAAVAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:43:24.141Z" }, { "$type": "Document", - "DocumentIndex": 25, - "Title": "GroupUI.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\GroupUI.cs", - "RelativeDocumentMoniker": "console_ui\\GroupUI.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\GroupUI.cs", - "RelativeToolTip": "console_ui\\GroupUI.cs", - "ViewState": "AgIAAAsAAAAAAAAAAAAxwAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:42:40.25Z" - }, - { - "$type": "Document", - "DocumentIndex": 26, + "DocumentIndex": 59, "Title": "PresencePresenter.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\PresencePresenter.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Models\\PresencePresenter.cs", @@ -456,7 +963,7 @@ }, { "$type": "Document", - "DocumentIndex": 30, + "DocumentIndex": 49, "Title": "ViewLocator.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewLocator.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewLocator.cs", @@ -468,7 +975,7 @@ }, { "$type": "Document", - "DocumentIndex": 31, + "DocumentIndex": 63, "Title": "Program.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Program.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Program.cs", @@ -480,7 +987,7 @@ }, { "$type": "Document", - "DocumentIndex": 33, + "DocumentIndex": 70, "Title": "app.manifest", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\app.manifest", "RelativeDocumentMoniker": "Presence.Desktop\\app.manifest", @@ -492,7 +999,7 @@ }, { "$type": "Document", - "DocumentIndex": 34, + "DocumentIndex": 51, "Title": "App.axaml", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\App.axaml", "RelativeDocumentMoniker": "Presence.Desktop\\App.axaml", @@ -503,67 +1010,55 @@ }, { "$type": "Document", - "DocumentIndex": 28, + "DocumentIndex": 44, "Title": "PresenceViewModel.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\PresenceViewModel.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\PresenceViewModel.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\PresenceViewModel.cs", "RelativeToolTip": "Presence.Desktop\\ViewModels\\PresenceViewModel.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAmAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:27:55.706Z" }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 52, "Title": "UserPresenter.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\UserPresenter.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Models\\UserPresenter.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\UserPresenter.cs", "RelativeToolTip": "Presence.Desktop\\Models\\UserPresenter.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAeAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:22:59.432Z" }, { "$type": "Document", - "DocumentIndex": 36, + "DocumentIndex": 13, "Title": "GroupPresenter.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\GroupPresenter.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Models\\GroupPresenter.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\GroupPresenter.cs", "RelativeToolTip": "Presence.Desktop\\Models\\GroupPresenter.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:22:43.957Z" }, { "$type": "Document", - "DocumentIndex": 18, - "Title": "ServiceCollectionExtensions.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "RelativeDocumentMoniker": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "RelativeToolTip": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "ViewState": "AgIAAAIAAAAAAAAAAAAswBoAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:18:31.188Z" - }, - { - "$type": "Document", - "DocumentIndex": 37, + "DocumentIndex": 38, "Title": "Group.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAuwA8AAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:13:43.246Z" }, { "$type": "Document", - "DocumentIndex": 38, + "DocumentIndex": 62, "Title": "Presence.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", @@ -575,68 +1070,31 @@ }, { "$type": "Document", - "DocumentIndex": 39, + "DocumentIndex": 56, "Title": "User.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:13:34.952Z" }, { "$type": "Document", - "DocumentIndex": 41, + "DocumentIndex": 5, "Title": "UserRepositoryImpl.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\UserRepositoryImpl.cs", "RelativeDocumentMoniker": "data\\Repository\\UserRepositoryImpl.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\UserRepositoryImpl.cs", "RelativeToolTip": "data\\Repository\\UserRepositoryImpl.cs", - "ViewState": "AgIAABYAAAAAAAAAAAAlwC0AAAAqAAAAAAAAAA==", + "ViewState": "AgIAAFEAAAAAAAAAAAAowEAAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:12:48.068Z" }, { "$type": "Document", - "DocumentIndex": 40, - "Title": "SQLUserRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLUserRepositoryImpl.cs", - "RelativeDocumentMoniker": "data\\Repository\\SQLUserRepositoryImpl.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLUserRepositoryImpl.cs", - "RelativeToolTip": "data\\Repository\\SQLUserRepositoryImpl.cs", - "ViewState": "AgIAADwAAAAAAAAAAAAowBgAAAAdAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:12:45.334Z" - }, - { - "$type": "Document", - "DocumentIndex": 42, - "Title": "SQLPresenceRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLPresenceRepositoryImpl.cs", - "RelativeDocumentMoniker": "data\\Repository\\SQLPresenceRepositoryImpl.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLPresenceRepositoryImpl.cs", - "RelativeToolTip": "data\\Repository\\SQLPresenceRepositoryImpl.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:12:43.082Z" - }, - { - "$type": "Document", - "DocumentIndex": 3, - "Title": "SQLGroupRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLGroupRepositoryImpl.cs", - "RelativeDocumentMoniker": "data\\Repository\\SQLGroupRepositoryImpl.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLGroupRepositoryImpl.cs", - "RelativeToolTip": "data\\Repository\\SQLGroupRepositoryImpl.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA2AAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:12:27.096Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 32, + "DocumentIndex": 47, "Title": "MainWindow.axaml", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Views\\MainWindow.axaml", "RelativeDocumentMoniker": "Presence.Desktop\\Views\\MainWindow.axaml", @@ -647,7 +1105,7 @@ }, { "$type": "Document", - "DocumentIndex": 29, + "DocumentIndex": 45, "Title": "ViewModelBase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\ViewModelBase.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\ViewModelBase.cs", @@ -659,62 +1117,49 @@ }, { "$type": "Document", - "DocumentIndex": 27, + "DocumentIndex": 48, "Title": "MainWindowViewModel.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", "RelativeToolTip": "Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:08:30.847Z" }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 39, "Title": "LocalStaticData.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\LocalStaticData.cs", "RelativeDocumentMoniker": "data\\LocalData\\LocalStaticData.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\LocalStaticData.cs", "RelativeToolTip": "data\\LocalData\\LocalStaticData.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAcAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAAB0AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:08:14.737Z" }, { "$type": "Document", - "DocumentIndex": 1, - "Title": "GroupNotFoundException.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\GroupNotFoundException.cs", - "RelativeDocumentMoniker": "data\\Exceptions\\GroupNotFoundException.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\GroupNotFoundException.cs", - "RelativeToolTip": "data\\Exceptions\\GroupNotFoundException.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:08:10.901Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 35, + "DocumentIndex": 50, "Title": "App.axaml.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\App.axaml.cs", "RelativeDocumentMoniker": "Presence.Desktop\\App.axaml.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\App.axaml.cs", "RelativeToolTip": "Presence.Desktop\\App.axaml.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAAA1AAAAAAAAAA==", + "ViewState": "AgIAAAcAAAAAAAAAAAAAACoAAAA2AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:08:02.09Z" }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 12, "Title": "GroupViewModel.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\GroupViewModel.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\GroupViewModel.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\GroupViewModel.cs", "RelativeToolTip": "Presence.Desktop\\ViewModels\\GroupViewModel.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAE0AAAAfAAAAAAAAAA==", + "ViewState": "AgIAAAkAAAAAAAAAAAAQwBsAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:07:50.753Z" } diff --git a/presence/.vs/presence/v17/DocumentLayout.json b/presence/.vs/presence/v17/DocumentLayout.json index ec91239..493bb7c 100644 --- a/presence/.vs/presence/v17/DocumentLayout.json +++ b/presence/.vs/presence/v17/DocumentLayout.json @@ -3,116 +3,180 @@ "WorkspaceRootPath": "C:\\Users\\User\\Desktop\\pr1\\presence\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|solutionrelative:console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{24A4AF32-AB31-457F-8503-1BE0CF40652A}|ui\\ui.csproj|solutionrelative:ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\response\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\response\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\response\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\response\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\controllers\\presencecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\presencecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\controllers\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\controllers\\admincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\admincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\groupviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\groupviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\di\\servicecollectionextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\di\\servicecollectionextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\entity\\userentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\entity\\userentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\entity\\groupentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\entity\\groupentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iadminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\adminusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\service\\groupservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\request\\addstudentrequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\request\\addstudentrequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\request\\addgroupwithstudent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\request\\addgroupwithstudent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\request\\addgrouprequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\request\\addgrouprequest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\console_ui\\groupui.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|solutionrelative:console_ui\\groupui.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\responsemodels\\presenceresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\responsemodels\\presenceresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\responsemodels\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\responsemodels\\groupresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\presencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\presencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\adminrepositoryimp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\iadminrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\iadminrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\userattedance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\userattedance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|c:\\users\\user\\desktop\\pr1\\presence\\console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{240FA6D1-5D9A-4BEB-A458-7C98BE80E7C6}|console_ui\\console_ui.csproj|solutionrelative:console_ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\presenceviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", @@ -123,66 +187,113 @@ "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\viewmodelbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\views\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\views\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\views\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\views\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewmodels\\mainwindowviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\viewlocator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\grouppresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\userpresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\migrations\\20241202104632_initialcreate.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\migrations\\20241202104632_initialcreate.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\migrations\\20241202104632_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\migrations\\20241202104632_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\User\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\serviceextencions\\serviceextencions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\serviceextencions\\serviceextencions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\repository\\sqlpresencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\repository\\sqlpresencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\models\\presencepresenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence_api\\presence_api.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{A6099ADC-3949-46A0-A39C-CDFE63CB1402}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\presence_api.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\domain.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\domain.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + }, + { + "AbsoluteMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|c:\\users\\user\\desktop\\pr1\\presence\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3272AF99-318B-49A4-AF98-9DC92F4A169E}|data\\data.csproj|solutionrelative:data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\iuserusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\ipresenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\usecase\\igroupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|c:\\users\\user\\desktop\\pr1\\presence\\domain\\models\\responsemodels\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{9AE8F8C6-D947-4CFB-978D-152433354812}|domain\\domain.csproj|solutionrelative:domain\\models\\responsemodels\\userresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|c:\\users\\user\\desktop\\pr1\\presence\\presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{9325CC1B-7AA4-45CA-9822-DBFE9BE3AEAB}|Presence.Desktop\\Presence.Desktop.csproj|solutionrelative:presence.desktop\\app.manifest||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" } ], "DocumentGroupContainers": [ { "Orientation": 0, - "VerticalTabListWidth": 170, + "VerticalTabListWidth": 117, "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 4, + "SelectedChildIndex": 16, "Children": [ { "$type": "Bookmark", @@ -200,192 +311,599 @@ "$type": "Bookmark", "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "UserEntity.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\UserEntity.cs", + "RelativeDocumentMoniker": "domain\\Entity\\UserEntity.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\UserEntity.cs", + "RelativeToolTip": "domain\\Entity\\UserEntity.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-23T08:50:09.246Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "GroupEntity.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\GroupEntity.cs", + "RelativeDocumentMoniker": "domain\\Entity\\GroupEntity.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Entity\\GroupEntity.cs", + "RelativeToolTip": "domain\\Entity\\GroupEntity.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-23T08:23:34.256Z" + }, + { + "$type": "Document", + "DocumentIndex": 46, + "Title": "MainWindow.axaml.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Views\\MainWindow.axaml.cs", + "RelativeDocumentMoniker": "Presence.Desktop\\Views\\MainWindow.axaml.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Views\\MainWindow.axaml.cs", + "RelativeToolTip": "Presence.Desktop\\Views\\MainWindow.axaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-22T17:33:57.387Z" + }, + { + "$type": "Document", + "DocumentIndex": 14, + "Title": "ServiceCollectionExtensions.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "RelativeDocumentMoniker": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "RelativeToolTip": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", + "ViewState": "AgIAABAAAAAAAAAAAAAUwCAAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-22T11:20:46.368Z" + }, + { + "$type": "Document", + "DocumentIndex": 29, + "Title": "Class1.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Class1.cs", + "RelativeDocumentMoniker": "data\\Class1.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Class1.cs", + "RelativeToolTip": "data\\Class1.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T07:16:27.429Z" + }, + { + "$type": "Document", + "DocumentIndex": 57, + "Title": "Presence.Desktop.Views.MainWindow.g.cs", + "DocumentMoniker": "C:\\Users\\User\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs", + "RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs", + "ToolTip": "C:\\Users\\User\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs [\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u0435\u043D\u0438\u0435]", + "RelativeToolTip": "..\\..\\..\\AppData\\Local\\Temp\\.vsdbgsrc\\8e7df027effb2704e1e5ffcd032349d26f68f683\\Presence.Desktop.Views.MainWindow.g.cs [\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u0435\u043D\u0438\u0435]", + "ViewState": "AgIAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T07:10:19.424Z", + "EditorCaption": " [\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u0435\u043D\u0438\u0435]" + }, + { + "$type": "Document", + "DocumentIndex": 55, + "Title": "20241202104632_InitialCreate.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.cs", + "RelativeDocumentMoniker": "data\\Migrations\\20241202104632_InitialCreate.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.cs", + "RelativeToolTip": "data\\Migrations\\20241202104632_InitialCreate.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAlAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T06:31:08.755Z" + }, + { + "$type": "Document", + "DocumentIndex": 53, + "Title": "20241202104632_InitialCreate.Designer.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "RelativeDocumentMoniker": "data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "RelativeToolTip": "data\\Migrations\\20241202104632_InitialCreate.Designer.cs", + "ViewState": "AgIAAF4AAAAAAAAAAAAQwBEAAABLAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T06:30:26.149Z" + }, + { + "$type": "Document", + "DocumentIndex": 54, + "Title": "RemoteDatabaseContextModelSnapshot.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "RelativeDocumentMoniker": "data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "RelativeToolTip": "data\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAYAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-20T06:29:45.539Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "UserResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\UserResponse.cs", + "RelativeDocumentMoniker": "presence_api\\Response\\UserResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\UserResponse.cs", + "RelativeToolTip": "presence_api\\Response\\UserResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T19:05:23.045Z" + }, + { + "$type": "Document", + "DocumentIndex": 60, + "Title": "presence_api.csproj", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\presence_api.csproj", + "RelativeDocumentMoniker": "presence_api\\presence_api.csproj", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\presence_api.csproj", + "RelativeToolTip": "presence_api\\presence_api.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAArAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-12-19T19:04:29.731Z" + }, + { + "$type": "Document", + "DocumentIndex": 61, + "Title": "domain.csproj", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj", + "RelativeDocumentMoniker": "domain\\domain.csproj", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj", + "RelativeToolTip": "domain\\domain.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-12-19T19:04:00.145Z" + }, { "$type": "Document", "DocumentIndex": 0, + "Title": "UserConsole.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\UserConsole.cs", + "RelativeDocumentMoniker": "ui\\UserConsole.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\UserConsole.cs", + "RelativeToolTip": "ui\\UserConsole.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAhAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:36:17.35Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "PresenceConsole.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\PresenceConsole.cs", + "RelativeDocumentMoniker": "ui\\PresenceConsole.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\PresenceConsole.cs", + "RelativeToolTip": "ui\\PresenceConsole.cs", + "ViewState": "AgIAAHoAAAAAAAAAAAAAAI4AAAA1AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:35:16.206Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainMenu.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\MainMenu.cs", + "RelativeDocumentMoniker": "ui\\MainMenu.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\MainMenu.cs", + "RelativeToolTip": "ui\\MainMenu.cs", + "ViewState": "AgIAADMAAAAAAAAAAAAYwEQAAAARAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:33:53.859Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "GroupConsole.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\GroupConsole.cs", + "RelativeDocumentMoniker": "ui\\GroupConsole.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\ui\\GroupConsole.cs", + "RelativeToolTip": "ui\\GroupConsole.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAC0AAAAFAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:33:18.81Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Program.cs", + "RelativeDocumentMoniker": "presence_api\\Program.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Program.cs", + "RelativeToolTip": "presence_api\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAkAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:32:51.893Z" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "GroupResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\GroupResponse.cs", + "RelativeDocumentMoniker": "presence_api\\Response\\GroupResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Response\\GroupResponse.cs", + "RelativeToolTip": "presence_api\\Response\\GroupResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:32:38.729Z" + }, + { + "$type": "Document", + "DocumentIndex": 58, + "Title": "ServiceExtencions.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "RelativeDocumentMoniker": "presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "RelativeToolTip": "presence_api\\ServiceExtencions\\ServiceExtencions.cs", + "ViewState": "AgIAAAMAAAAAAAAAAAAAAC8AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:32:23.106Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "PresenceController.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\PresenceController.cs", + "RelativeDocumentMoniker": "presence_api\\Controllers\\PresenceController.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\PresenceController.cs", + "RelativeToolTip": "presence_api\\Controllers\\PresenceController.cs", + "ViewState": "AgIAAHMAAAAAAAAAAAAAABIAAAAFAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:31:44.859Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "GroupController.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\GroupController.cs", + "RelativeDocumentMoniker": "presence_api\\Controllers\\GroupController.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\GroupController.cs", + "RelativeToolTip": "presence_api\\Controllers\\GroupController.cs", + "ViewState": "AgIAAA4AAAAAAAAAAAAAwBYAAABnAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:31:26.873Z" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "Title": "AdminController.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\AdminController.cs", + "RelativeDocumentMoniker": "presence_api\\Controllers\\AdminController.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\Controllers\\AdminController.cs", + "RelativeToolTip": "presence_api\\Controllers\\AdminController.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADoAAAAyAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:31:12.794Z" + }, + { + "$type": "Document", + "DocumentIndex": 23, + "Title": "AddStudentRequest.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddStudentRequest.cs", + "RelativeDocumentMoniker": "domain\\Request\\AddStudentRequest.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddStudentRequest.cs", + "RelativeToolTip": "domain\\Request\\AddStudentRequest.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:12:57.044Z" + }, + { + "$type": "Document", + "DocumentIndex": 24, + "Title": "AddGroupWithStudent.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddGroupWithStudent.cs", + "RelativeDocumentMoniker": "domain\\Request\\AddGroupWithStudent.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddGroupWithStudent.cs", + "RelativeToolTip": "domain\\Request\\AddGroupWithStudent.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:12:43.101Z" + }, + { + "$type": "Document", + "DocumentIndex": 67, + "Title": "User.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\User.cs", + "RelativeDocumentMoniker": "domain\\Models\\User.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\User.cs", + "RelativeToolTip": "domain\\Models\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:12:09.961Z" + }, + { + "$type": "Document", + "DocumentIndex": 26, + "Title": "Presence.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Presence.cs", + "RelativeDocumentMoniker": "domain\\Models\\Presence.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Presence.cs", + "RelativeToolTip": "domain\\Models\\Presence.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:11:56.693Z" + }, + { + "$type": "Document", + "DocumentIndex": 69, + "Title": "UserResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\UserResponse.cs", + "RelativeDocumentMoniker": "domain\\Models\\ResponseModels\\UserResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\UserResponse.cs", + "RelativeToolTip": "domain\\Models\\ResponseModels\\UserResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:11:30.67Z" + }, + { + "$type": "Document", + "DocumentIndex": 27, + "Title": "PresenceResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\PresenceResponse.cs", + "RelativeDocumentMoniker": "domain\\Models\\ResponseModels\\PresenceResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\PresenceResponse.cs", + "RelativeToolTip": "domain\\Models\\ResponseModels\\PresenceResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:11:18.266Z" + }, + { + "$type": "Document", + "DocumentIndex": 28, + "Title": "GroupResponse.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\GroupResponse.cs", + "RelativeDocumentMoniker": "domain\\Models\\ResponseModels\\GroupResponse.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\ResponseModels\\GroupResponse.cs", + "RelativeToolTip": "domain\\Models\\ResponseModels\\GroupResponse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:10:58.677Z" + }, + { + "$type": "Document", + "DocumentIndex": 68, + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Group.cs", + "RelativeDocumentMoniker": "domain\\Models\\Group.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Models\\Group.cs", + "RelativeToolTip": "domain\\Models\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:10:09.156Z" + }, + { + "$type": "Document", + "DocumentIndex": 30, + "Title": "PresenceRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\PresenceRepositoryImpl.cs", + "RelativeDocumentMoniker": "data\\Repository\\PresenceRepositoryImpl.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\PresenceRepositoryImpl.cs", + "RelativeToolTip": "data\\Repository\\PresenceRepositoryImpl.cs", + "ViewState": "AgIAAFgAAAAAAAAAAAAQwFoAAAAIAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:02:38.538Z" + }, + { + "$type": "Document", + "DocumentIndex": 33, + "Title": "IUserRepository.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IUserRepository.cs", + "RelativeDocumentMoniker": "data\\Repository\\IUserRepository.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IUserRepository.cs", + "RelativeToolTip": "data\\Repository\\IUserRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:02:26.979Z" + }, + { + "$type": "Document", + "DocumentIndex": 36, + "Title": "IAdminRepository.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IAdminRepository.cs", + "RelativeDocumentMoniker": "data\\Repository\\IAdminRepository.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IAdminRepository.cs", + "RelativeToolTip": "data\\Repository\\IAdminRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:01:45.399Z" + }, + { + "$type": "Document", + "DocumentIndex": 31, + "Title": "GroupRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\GroupRepositoryImpl.cs", + "RelativeDocumentMoniker": "data\\Repository\\GroupRepositoryImpl.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\GroupRepositoryImpl.cs", + "RelativeToolTip": "data\\Repository\\GroupRepositoryImpl.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAB0AAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T18:01:24.944Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "RemoteDatabaseContext.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "ViewState": "AgIAABoAAAAAAAAAAAAjwCgAAAA5AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:59:10.386Z" + }, + { + "$type": "Document", + "DocumentIndex": 37, + "Title": "UserAttedance.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\DAO\\UserAttedance.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:59:02.313Z" + }, + { + "$type": "Document", + "DocumentIndex": 43, + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Group.cs", + "RelativeDocumentMoniker": "data\\Entity\\Group.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Group.cs", + "RelativeToolTip": "data\\Entity\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAeAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-19T17:52:30.478Z" + }, + { + "$type": "Document", + "DocumentIndex": 40, "Title": "Program.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\Program.cs", "RelativeDocumentMoniker": "console_ui\\Program.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\Program.cs", "RelativeToolTip": "console_ui\\Program.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAFAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAAAWAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T17:10:59.931Z", - "EditorCaption": "" + "WhenOpened": "2024-12-19T17:10:59.931Z" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 32, "Title": "AdminRepositoryImp.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\AdminRepositoryImp.cs", "RelativeDocumentMoniker": "data\\Repository\\AdminRepositoryImp.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\AdminRepositoryImp.cs", "RelativeToolTip": "data\\Repository\\AdminRepositoryImp.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADkAAABxAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:26:25.929Z" }, { "$type": "Document", - "DocumentIndex": 6, - "Title": "UserNotFoundException.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\UserNotFoundException.cs", - "RelativeDocumentMoniker": "data\\Exceptions\\UserNotFoundException.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\UserNotFoundException.cs", - "RelativeToolTip": "data\\Exceptions\\UserNotFoundException.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T09:25:41.991Z" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "RepositoryException.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\RepositoryException.cs", - "RelativeDocumentMoniker": "data\\Exceptions\\RepositoryException.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\RepositoryException.cs", - "RelativeToolTip": "data\\Exceptions\\RepositoryException.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T09:25:35.312Z" - }, - { - "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 34, "Title": "IPresenceRepository.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IPresenceRepository.cs", "RelativeDocumentMoniker": "data\\Repository\\IPresenceRepository.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IPresenceRepository.cs", "RelativeToolTip": "data\\Repository\\IPresenceRepository.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:24:12.447Z" }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 42, "Title": "User.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\User.cs", - "RelativeDocumentMoniker": "data\\LocalData\\Entity\\User.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\User.cs", - "RelativeToolTip": "data\\LocalData\\Entity\\User.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAxAAAAAAAAAA==", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\User.cs", + "RelativeDocumentMoniker": "data\\Entity\\User.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\User.cs", + "RelativeToolTip": "data\\Entity\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:08:04.438Z" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 41, "Title": "Presence.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Presence.cs", - "RelativeDocumentMoniker": "data\\LocalData\\Entity\\Presence.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Presence.cs", - "RelativeToolTip": "data\\LocalData\\Entity\\Presence.cs", + "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Presence.cs", + "RelativeDocumentMoniker": "data\\Entity\\Presence.cs", + "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Entity\\Presence.cs", + "RelativeToolTip": "data\\Entity\\Presence.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T09:07:30.87Z" }, { "$type": "Document", - "DocumentIndex": 2, - "Title": "Group.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Group.cs", - "RelativeDocumentMoniker": "data\\LocalData\\Entity\\Group.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\Entity\\Group.cs", - "RelativeToolTip": "data\\LocalData\\Entity\\Group.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAsAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T09:07:01.035Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 17, "Title": "UserUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\UserUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\UserUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\UserUseCase.cs", "RelativeToolTip": "domain\\UseCase\\UserUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAACEAAAAAAAAAAAAYwDUAAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:52:05.075Z" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 18, "Title": "PresenceUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\PresenceUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\PresenceUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\PresenceUseCase.cs", "RelativeToolTip": "domain\\UseCase\\PresenceUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAALIAAAArAAAAAAAAAA==", + "ViewState": "AgIAABMAAAAAAAAAAAAzwDgAAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:51:54.176Z", - "EditorCaption": "" + "WhenOpened": "2024-12-19T07:51:54.176Z" }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 64, "Title": "IUserUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IUserUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IUserUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IUserUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IUserUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:52.927Z" }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 65, "Title": "IPresenceUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IPresenceUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IPresenceUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IPresenceUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IPresenceUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:51.493Z" }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 19, "Title": "IAdminUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IAdminUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IAdminUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IAdminUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IAdminUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:49.193Z" }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 20, "Title": "GroupUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\GroupUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\GroupUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\GroupUseCase.cs", "RelativeToolTip": "domain\\UseCase\\GroupUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAkwBoAAAAJAAAAAAAAAA==", + "ViewState": "AgIAAAkAAAAAAAAAAAAAAB0AAAAIAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:47:29.626Z" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 21, "Title": "AdminUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\AdminUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\AdminUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\AdminUseCase.cs", "RelativeToolTip": "domain\\UseCase\\AdminUseCase.cs", - "ViewState": "AgIAACQAAAAAAAAAAAAEwB0AAAAtAAAAAAAAAA==", + "ViewState": "AgIAABsAAAAAAAAAAADwvzkAAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:51:41.22Z" }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 25, "Title": "AddGroupRequest.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Request\\AddGroupRequest.cs", "RelativeDocumentMoniker": "domain\\Request\\AddGroupRequest.cs", @@ -397,55 +915,43 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 66, "Title": "IGroupUseCase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IGroupUseCase.cs", "RelativeDocumentMoniker": "domain\\UseCase\\IGroupUseCase.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\UseCase\\IGroupUseCase.cs", "RelativeToolTip": "domain\\UseCase\\IGroupUseCase.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAABEAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:47:56.11Z" }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 35, "Title": "IGroupRepository.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IGroupRepository.cs", "RelativeDocumentMoniker": "data\\Repository\\IGroupRepository.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\IGroupRepository.cs", "RelativeToolTip": "data\\Repository\\IGroupRepository.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAANAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:44:18.211Z" }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 22, "Title": "GroupService.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Service\\GroupService.cs", "RelativeDocumentMoniker": "domain\\Service\\GroupService.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\Service\\GroupService.cs", "RelativeToolTip": "domain\\Service\\GroupService.cs", - "ViewState": "AgIAABcAAAAAAAAAAAAvwCQAAAAoAAAAAAAAAA==", + "ViewState": "AgIAABYAAAAAAAAAAAAQwDIAAAAVAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:43:24.141Z" }, { "$type": "Document", - "DocumentIndex": 25, - "Title": "GroupUI.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\GroupUI.cs", - "RelativeDocumentMoniker": "console_ui\\GroupUI.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\console_ui\\GroupUI.cs", - "RelativeToolTip": "console_ui\\GroupUI.cs", - "ViewState": "AgIAAAsAAAAAAAAAAAAxwAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:42:40.25Z" - }, - { - "$type": "Document", - "DocumentIndex": 26, + "DocumentIndex": 59, "Title": "PresencePresenter.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\PresencePresenter.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Models\\PresencePresenter.cs", @@ -457,7 +963,7 @@ }, { "$type": "Document", - "DocumentIndex": 30, + "DocumentIndex": 49, "Title": "ViewLocator.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewLocator.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewLocator.cs", @@ -469,7 +975,7 @@ }, { "$type": "Document", - "DocumentIndex": 31, + "DocumentIndex": 63, "Title": "Program.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Program.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Program.cs", @@ -481,7 +987,7 @@ }, { "$type": "Document", - "DocumentIndex": 33, + "DocumentIndex": 70, "Title": "app.manifest", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\app.manifest", "RelativeDocumentMoniker": "Presence.Desktop\\app.manifest", @@ -493,7 +999,7 @@ }, { "$type": "Document", - "DocumentIndex": 34, + "DocumentIndex": 51, "Title": "App.axaml", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\App.axaml", "RelativeDocumentMoniker": "Presence.Desktop\\App.axaml", @@ -504,67 +1010,55 @@ }, { "$type": "Document", - "DocumentIndex": 28, + "DocumentIndex": 44, "Title": "PresenceViewModel.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\PresenceViewModel.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\PresenceViewModel.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\PresenceViewModel.cs", "RelativeToolTip": "Presence.Desktop\\ViewModels\\PresenceViewModel.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAmAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:27:55.706Z" }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 52, "Title": "UserPresenter.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\UserPresenter.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Models\\UserPresenter.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\UserPresenter.cs", "RelativeToolTip": "Presence.Desktop\\Models\\UserPresenter.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAeAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:22:59.432Z" }, { "$type": "Document", - "DocumentIndex": 36, + "DocumentIndex": 13, "Title": "GroupPresenter.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\GroupPresenter.cs", "RelativeDocumentMoniker": "Presence.Desktop\\Models\\GroupPresenter.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Models\\GroupPresenter.cs", "RelativeToolTip": "Presence.Desktop\\Models\\GroupPresenter.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:22:43.957Z" }, { "$type": "Document", - "DocumentIndex": 18, - "Title": "ServiceCollectionExtensions.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "RelativeDocumentMoniker": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "RelativeToolTip": "Presence.Desktop\\DI\\ServiceCollectionExtensions.cs", - "ViewState": "AgIAAAIAAAAAAAAAAAAswBoAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:18:31.188Z" - }, - { - "$type": "Document", - "DocumentIndex": 37, + "DocumentIndex": 38, "Title": "Group.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAuwA8AAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:13:43.246Z" }, { "$type": "Document", - "DocumentIndex": 38, + "DocumentIndex": 62, "Title": "Presence.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", @@ -576,68 +1070,31 @@ }, { "$type": "Document", - "DocumentIndex": 39, + "DocumentIndex": 56, "Title": "User.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", "RelativeDocumentMoniker": "data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", "RelativeToolTip": "data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:13:34.952Z" }, { "$type": "Document", - "DocumentIndex": 41, + "DocumentIndex": 5, "Title": "UserRepositoryImpl.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\UserRepositoryImpl.cs", "RelativeDocumentMoniker": "data\\Repository\\UserRepositoryImpl.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\UserRepositoryImpl.cs", "RelativeToolTip": "data\\Repository\\UserRepositoryImpl.cs", - "ViewState": "AgIAABYAAAAAAAAAAAAlwC0AAAAqAAAAAAAAAA==", + "ViewState": "AgIAAFEAAAAAAAAAAAAowEAAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:12:48.068Z" }, { "$type": "Document", - "DocumentIndex": 40, - "Title": "SQLUserRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLUserRepositoryImpl.cs", - "RelativeDocumentMoniker": "data\\Repository\\SQLUserRepositoryImpl.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLUserRepositoryImpl.cs", - "RelativeToolTip": "data\\Repository\\SQLUserRepositoryImpl.cs", - "ViewState": "AgIAADwAAAAAAAAAAAAowBgAAAAdAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:12:45.334Z" - }, - { - "$type": "Document", - "DocumentIndex": 42, - "Title": "SQLPresenceRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLPresenceRepositoryImpl.cs", - "RelativeDocumentMoniker": "data\\Repository\\SQLPresenceRepositoryImpl.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLPresenceRepositoryImpl.cs", - "RelativeToolTip": "data\\Repository\\SQLPresenceRepositoryImpl.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:12:43.082Z" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "SQLGroupRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLGroupRepositoryImpl.cs", - "RelativeDocumentMoniker": "data\\Repository\\SQLGroupRepositoryImpl.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Repository\\SQLGroupRepositoryImpl.cs", - "RelativeToolTip": "data\\Repository\\SQLGroupRepositoryImpl.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA2AAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:12:27.096Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 32, + "DocumentIndex": 47, "Title": "MainWindow.axaml", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\Views\\MainWindow.axaml", "RelativeDocumentMoniker": "Presence.Desktop\\Views\\MainWindow.axaml", @@ -648,7 +1105,7 @@ }, { "$type": "Document", - "DocumentIndex": 29, + "DocumentIndex": 45, "Title": "ViewModelBase.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\ViewModelBase.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\ViewModelBase.cs", @@ -660,62 +1117,49 @@ }, { "$type": "Document", - "DocumentIndex": 27, + "DocumentIndex": 48, "Title": "MainWindowViewModel.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", "RelativeToolTip": "Presence.Desktop\\ViewModels\\MainWindowViewModel.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:08:30.847Z" }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 39, "Title": "LocalStaticData.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\LocalStaticData.cs", "RelativeDocumentMoniker": "data\\LocalData\\LocalStaticData.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\LocalData\\LocalStaticData.cs", "RelativeToolTip": "data\\LocalData\\LocalStaticData.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAcAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAAB0AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:08:14.737Z" }, { "$type": "Document", - "DocumentIndex": 3, - "Title": "GroupNotFoundException.cs", - "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\GroupNotFoundException.cs", - "RelativeDocumentMoniker": "data\\Exceptions\\GroupNotFoundException.cs", - "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\Exceptions\\GroupNotFoundException.cs", - "RelativeToolTip": "data\\Exceptions\\GroupNotFoundException.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-19T07:08:10.901Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 35, + "DocumentIndex": 50, "Title": "App.axaml.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\App.axaml.cs", "RelativeDocumentMoniker": "Presence.Desktop\\App.axaml.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\App.axaml.cs", "RelativeToolTip": "Presence.Desktop\\App.axaml.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAAA1AAAAAAAAAA==", + "ViewState": "AgIAAAcAAAAAAAAAAAAAACoAAAA2AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:08:02.09Z" }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 12, "Title": "GroupViewModel.cs", "DocumentMoniker": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\GroupViewModel.cs", "RelativeDocumentMoniker": "Presence.Desktop\\ViewModels\\GroupViewModel.cs", "ToolTip": "C:\\Users\\User\\Desktop\\pr1\\presence\\Presence.Desktop\\ViewModels\\GroupViewModel.cs", "RelativeToolTip": "Presence.Desktop\\ViewModels\\GroupViewModel.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAE0AAAAfAAAAAAAAAA==", + "ViewState": "AgIAAAkAAAAAAAAAAAAQwBsAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-19T07:07:50.753Z" } diff --git a/presence/Presence.Desktop/App.axaml.cs b/presence/Presence.Desktop/App.axaml.cs index 6b5d1ba..a601e28 100644 --- a/presence/Presence.Desktop/App.axaml.cs +++ b/presence/Presence.Desktop/App.axaml.cs @@ -2,6 +2,7 @@ using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Microsoft.Extensions.DependencyInjection; +using presence.domain.UseCase; using Presence.Desktop.DI; using Presence.Desktop.ViewModels; using Presence.Desktop.Views; @@ -19,14 +20,23 @@ namespace Presence.Desktop { var serviceCollection = new ServiceCollection(); serviceCollection.AddCommonService(); + + + serviceCollection.AddSingleton(); + + var services = serviceCollection.BuildServiceProvider(); - var mainViewModel = services.GetRequiredService(); + + + var groupUseCase = services.GetRequiredService(); + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { + desktop.MainWindow = new MainWindow() { - DataContext = mainViewModel + DataContext = new MainWindowViewModel(services), }; } diff --git a/presence/Presence.Desktop/DI/ServiceCollectionExtensions.cs b/presence/Presence.Desktop/DI/ServiceCollectionExtensions.cs index 3034298..e8dd11d 100644 --- a/presence/Presence.Desktop/DI/ServiceCollectionExtensions.cs +++ b/presence/Presence.Desktop/DI/ServiceCollectionExtensions.cs @@ -1,12 +1,16 @@ -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; +using data; +using data.Repository; using domain.Service; using domain.UseCase; using Microsoft.Extensions.DependencyInjection; +using presence.data.RemoteData.RemoteDataBase; +using presence.data.Repository; +using presence.domain.UseCase; using Presence.Desktop.ViewModels; using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; @@ -17,10 +21,13 @@ namespace Presence.Desktop.DI public static void AddCommonService(this IServiceCollection collection) { collection - .AddDbContext() - .AddSingleton() - .AddTransient() - .AddTransient(); + .AddDbContext() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddTransient(); } } -} +} \ No newline at end of file diff --git a/presence/Presence.Desktop/Models/GroupPresenter.cs b/presence/Presence.Desktop/Models/GroupPresenter.cs index 78a23d3..9d12bac 100644 --- a/presence/Presence.Desktop/Models/GroupPresenter.cs +++ b/presence/Presence.Desktop/Models/GroupPresenter.cs @@ -1,4 +1,5 @@ -using Presence.Desktop.ViewModels; +using Avalonia.Controls; +using ReactiveUI; using System; using System.Collections.Generic; using System.Linq; @@ -13,4 +14,4 @@ namespace Presence.Desktop.Models public string Name { get; set; } public IEnumerable? Users { get; set; } = null; } -} +} \ No newline at end of file diff --git a/presence/Presence.Desktop/ViewModels/GroupViewModel.cs b/presence/Presence.Desktop/ViewModels/GroupViewModel.cs index a712ec1..44a0100 100644 --- a/presence/Presence.Desktop/ViewModels/GroupViewModel.cs +++ b/presence/Presence.Desktop/ViewModels/GroupViewModel.cs @@ -1,4 +1,6 @@ using domain.UseCase; +using DynamicData; +using DynamicData.Binding; using Presence.Desktop.Models; using ReactiveUI; using System; @@ -6,9 +8,9 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Reactive.Linq; -using System.Text; using System.Threading.Tasks; using System.Windows.Input; +using Tmds.DBus.Protocol; namespace Presence.Desktop.ViewModels { @@ -118,6 +120,5 @@ namespace Presence.Desktop.ViewModels Console.WriteLine("clock"); SelectedFile = await _SelectFileInteraction.Handle("Chose csv file"); } - } } \ No newline at end of file diff --git a/presence/Presence.Desktop/ViewModels/MainWindowViewModel.cs b/presence/Presence.Desktop/ViewModels/MainWindowViewModel.cs index 82c680e..0f74b0b 100644 --- a/presence/Presence.Desktop/ViewModels/MainWindowViewModel.cs +++ b/presence/Presence.Desktop/ViewModels/MainWindowViewModel.cs @@ -1,7 +1,11 @@ -using domain.UseCase; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; +using presence.data.RemoteData.RemoteDataBase; +using presence.domain.UseCase; using ReactiveUI; -using System; namespace Presence.Desktop.ViewModels { @@ -11,8 +15,9 @@ namespace Presence.Desktop.ViewModels public MainWindowViewModel(IServiceProvider serviceProvider) { - var groupViewModel = serviceProvider.GetRequiredService(); - Router.Navigate.Execute(groupViewModel); + var groupUseCase = serviceProvider.GetRequiredService(); + var presenceUseCase = serviceProvider.GetRequiredService(); + var remoteDatabaseContext = serviceProvider.GetRequiredService(); } } } \ No newline at end of file diff --git a/presence/Presence.Desktop/ViewModels/PresenceViewModel.cs b/presence/Presence.Desktop/ViewModels/PresenceViewModel.cs index 1eead8a..2508e62 100644 --- a/presence/Presence.Desktop/ViewModels/PresenceViewModel.cs +++ b/presence/Presence.Desktop/ViewModels/PresenceViewModel.cs @@ -5,13 +5,13 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Presence.Desktop.ViewModels +namespace Presence.Desktop.ViewModels; + +public class PresenceViewModel : ViewModelBase, IRoutableViewModel { - public class PresenceViewModel : ViewModelBase, IRoutableViewModel - { - public string? UrlPathSegment { get; } - public IScreen HostScreen { get; } + public string? UrlPathSegment { get; } + public IScreen HostScreen { get; } - } -} \ No newline at end of file +} + diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions — копия.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions — копия.dll new file mode 100644 index 0000000..2169cf8 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions — копия.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll new file mode 100644 index 0000000..2169cf8 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..f8c58d0 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000..b628ed6 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 0000000..99aac98 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Caching.Memory.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000..077b1b6 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 0000000..a5ab313 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000..bd71a2b Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000..f9d1dc6 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000..35905b6 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Options.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000..a7b3f21 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Options.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll new file mode 100644 index 0000000..c24f2a0 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll new file mode 100644 index 0000000..4b4f0fc Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Npgsql.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Npgsql.dll new file mode 100644 index 0000000..fde1387 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/Npgsql.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.deps.json b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.deps.json index 6380a29..0b37cbb 100644 --- a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.deps.json +++ b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.deps.json @@ -14,7 +14,9 @@ "Avalonia.Fonts.Inter": "11.2.1", "Avalonia.ReactiveUI": "11.2.1", "Avalonia.Themes.Fluent": "11.2.1", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "data": "1.0.0", + "domain": "1.0.0" }, "runtime": { "Presence.Desktop.dll": {} @@ -359,6 +361,89 @@ } } }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { "runtime": { "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { @@ -367,6 +452,75 @@ } } }, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Npgsql/8.0.5": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.5.0", + "fileVersion": "8.0.5.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.10.0" + } + } + }, "ReactiveUI/20.1.1": { "dependencies": { "DynamicData": "8.4.1", @@ -483,6 +637,29 @@ "fileVersion": "0.20.0.0" } } + }, + "data/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, + "runtime": { + "data.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "domain/1.0.0": { + "dependencies": { + "data": "1.0.0" + }, + "runtime": { + "domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } } } }, @@ -660,6 +837,62 @@ "path": "microcom.runtime/0.11.0", "hashPath": "microcom.runtime.0.11.0.nupkg.sha512" }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "path": "microsoft.entityframeworkcore/8.0.10", + "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { "type": "package", "serviceable": true, @@ -667,6 +900,48 @@ "path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0", "hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512" }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Npgsql/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "path": "npgsql/8.0.5", + "hashPath": "npgsql.8.0.5.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" + }, "ReactiveUI/20.1.1": { "type": "package", "serviceable": true, @@ -743,6 +1018,16 @@ "sha512": "sha512-2gkt2kuYPhDKd8gtl34jZSJOnn4nRJfFngCDcTZT/uySbK++ua0YQx2418l9Rn1Y4dE5XNq6zG9ZsE5ltLlNNw==", "path": "tmds.dbus.protocol/0.20.0", "hashPath": "tmds.dbus.protocol.0.20.0.nupkg.sha512" + }, + "data/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" } } } \ No newline at end of file diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.dll b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.dll index d07ec82..d97d0fe 100644 Binary files a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.dll and b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.exe b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.exe index 50f57d1..b795de6 100644 Binary files a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.exe and b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.exe differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.pdb b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.pdb index ee11b8e..a68e749 100644 Binary files a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.pdb and b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.pdb differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.runtimeconfig.json b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.runtimeconfig.json index 61e5180..3a4aba4 100644 --- a/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.runtimeconfig.json +++ b/presence/Presence.Desktop/bin/Debug/net8.0/Presence.Desktop.runtimeconfig.json @@ -6,6 +6,7 @@ "version": "8.0.0" }, "configProperties": { + "System.Reflection.NullabilityInfoContext.IsSupported": true, "System.Runtime.InteropServices.BuiltInComInterop.IsSupported": true, "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false } diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/data.dll b/presence/Presence.Desktop/bin/Debug/net8.0/data.dll new file mode 100644 index 0000000..6496a07 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/data.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/data.pdb b/presence/Presence.Desktop/bin/Debug/net8.0/data.pdb new file mode 100644 index 0000000..fdf6791 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/data.pdb differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/domain.dll b/presence/Presence.Desktop/bin/Debug/net8.0/domain.dll new file mode 100644 index 0000000..b249384 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/domain.dll differ diff --git a/presence/Presence.Desktop/bin/Debug/net8.0/domain.pdb b/presence/Presence.Desktop/bin/Debug/net8.0/domain.pdb new file mode 100644 index 0000000..6ead826 Binary files /dev/null and b/presence/Presence.Desktop/bin/Debug/net8.0/domain.pdb differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.dll b/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.dll index d07ec82..d97d0fe 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.dll and b/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.dll differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.pdb b/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.pdb index ee11b8e..a68e749 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.pdb and b/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/Presence.Desktop.pdb differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/references b/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/references index 51c7ebd..41eb476 100644 --- a/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/references +++ b/presence/Presence.Desktop/obj/Debug/net8.0/Avalonia/references @@ -23,17 +23,32 @@ C:\Users\User\.nuget\packages\avalonia.themes.simple\11.2.1\lib\net8.0\Avalonia. C:\Users\User\.nuget\packages\avalonia\11.2.1\ref\net8.0\Avalonia.Vulkan.dll C:\Users\User\.nuget\packages\avalonia.win32\11.2.1\lib\net8.0\Avalonia.Win32.dll C:\Users\User\.nuget\packages\avalonia.x11\11.2.1\lib\net8.0\Avalonia.X11.dll +C:\Users\User\Desktop\pr1\presence\data\obj\Debug\net8.0\ref\data.dll +C:\Users\User\Desktop\pr1\presence\domain\obj\Debug\net8.0\ref\domain.dll C:\Users\User\.nuget\packages\dynamicdata\8.4.1\lib\net8.0\DynamicData.dll C:\Users\User\.nuget\packages\harfbuzzsharp\7.3.0.2\lib\net6.0\HarfBuzzSharp.dll C:\Users\User\.nuget\packages\microcom.runtime\0.11.0\lib\net5.0\MicroCom.Runtime.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\Microsoft.CSharp.dll +C:\Users\User\.nuget\packages\microsoft.entityframeworkcore.abstractions\8.0.10\lib\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\User\.nuget\packages\microsoft.entityframeworkcore\8.0.10\lib\net8.0\Microsoft.EntityFrameworkCore.dll +C:\Users\User\.nuget\packages\microsoft.entityframeworkcore.relational\8.0.10\lib\net8.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\User\.nuget\packages\microsoft.extensions.caching.abstractions\8.0.0\lib\net8.0\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\User\.nuget\packages\microsoft.extensions.caching.memory\8.0.1\lib\net8.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\User\.nuget\packages\microsoft.extensions.configuration.abstractions\8.0.0\lib\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll C:\Users\User\.nuget\packages\microsoft.extensions.dependencyinjection.abstractions\9.0.0\lib\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\User\.nuget\packages\microsoft.extensions.dependencyinjection\8.0.1\lib\net8.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\User\.nuget\packages\microsoft.extensions.logging.abstractions\8.0.2\lib\net8.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\User\.nuget\packages\microsoft.extensions.logging\8.0.1\lib\net8.0\Microsoft.Extensions.Logging.dll +C:\Users\User\.nuget\packages\microsoft.extensions.options\8.0.2\lib\net8.0\Microsoft.Extensions.Options.dll +C:\Users\User\.nuget\packages\microsoft.extensions.primitives\8.0.0\lib\net8.0\Microsoft.Extensions.Primitives.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\Microsoft.VisualBasic.Core.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\Microsoft.VisualBasic.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\Microsoft.Win32.Primitives.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\Microsoft.Win32.Registry.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\mscorlib.dll C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0\netstandard.dll +C:\Users\User\.nuget\packages\npgsql\8.0.5\lib\net8.0\Npgsql.dll +C:\Users\User\.nuget\packages\npgsql.entityframeworkcore.postgresql\8.0.10\lib\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll C:\Users\User\.nuget\packages\reactiveui\20.1.1\lib\net8.0\ReactiveUI.dll C:\Users\User\.nuget\packages\skiasharp\2.88.8\lib\net6.0\SkiaSharp.dll C:\Users\User\.nuget\packages\splat\15.1.1\lib\net8.0\Splat.dll diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfo.cs b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfo.cs index 8f962e0..cc2c57f 100644 --- a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfo.cs +++ b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Presence.Desktop")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a55a118f4f90ec351b8e7060cdde62bebbb8d3e4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a4cadaa09fb0d2c5ec082f80517b9033fa58f0e")] [assembly: System.Reflection.AssemblyProductAttribute("Presence.Desktop")] [assembly: System.Reflection.AssemblyTitleAttribute("Presence.Desktop")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfoInputs.cache b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfoInputs.cache index b2b0032..214ee0b 100644 --- a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfoInputs.cache +++ b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.AssemblyInfoInputs.cache @@ -1 +1 @@ -80815b050dbf0b90d51a852a7f83e1186e72295c305d9d34013511b1ea56fd73 +6fbf21d94bfd0c8a896e001b50c7c355beac72cbf9863bd6b2ae32c2ffd9317f diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.AssemblyReference.cache b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.AssemblyReference.cache index 2d1453e..96444ae 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.AssemblyReference.cache and b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.AssemblyReference.cache differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.FileListAbsolute.txt b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.FileListAbsolute.txt index 6d19030..ce7da0b 100644 --- a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.FileListAbsolute.txt +++ b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.csproj.FileListAbsolute.txt @@ -71,6 +71,20 @@ C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\refint\Aval C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\Presence.C94E1B86.Up2Date C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\Presence.Desktop.genruntimeconfig.cache C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\ref\Presence.Desktop.dll -C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\Presence.Desktop.dll -C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\refint\Presence.Desktop.dll -C:\Users\User\Desktop\pr1\presence\Presence.Desktop\obj\Debug\net8.0\Presence.Desktop.pdb +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Options.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Npgsql.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\data.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\domain.dll +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\data.pdb +C:\Users\User\Desktop\pr1\presence\Presence.Desktop\bin\Debug\net8.0\domain.pdb diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.dll b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.dll index 96ac1be..10b05b6 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.dll and b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.dll differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.genruntimeconfig.cache b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.genruntimeconfig.cache index 098eff3..35dc7df 100644 --- a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.genruntimeconfig.cache +++ b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.genruntimeconfig.cache @@ -1 +1 @@ -9eafcab75abfdaff54d6ac67f73e2b7342b254f8678de8bc178aebc9bd21fda3 +9406b6d011999cda5ad0f24678dc62e1b04e7ac834b923140c780a2ce2144962 diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.pdb b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.pdb index e02869f..d199049 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.pdb and b/presence/Presence.Desktop/obj/Debug/net8.0/Presence.Desktop.pdb differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/apphost.exe b/presence/Presence.Desktop/obj/Debug/net8.0/apphost.exe index 50f57d1..b795de6 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/apphost.exe and b/presence/Presence.Desktop/obj/Debug/net8.0/apphost.exe differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/ref/Presence.Desktop.dll b/presence/Presence.Desktop/obj/Debug/net8.0/ref/Presence.Desktop.dll index ee7cb7c..0c5dfe2 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/ref/Presence.Desktop.dll and b/presence/Presence.Desktop/obj/Debug/net8.0/ref/Presence.Desktop.dll differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/refint/Avalonia/Presence.Desktop.dll b/presence/Presence.Desktop/obj/Debug/net8.0/refint/Avalonia/Presence.Desktop.dll index ee7cb7c..0c5dfe2 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/refint/Avalonia/Presence.Desktop.dll and b/presence/Presence.Desktop/obj/Debug/net8.0/refint/Avalonia/Presence.Desktop.dll differ diff --git a/presence/Presence.Desktop/obj/Debug/net8.0/refint/Presence.Desktop.dll b/presence/Presence.Desktop/obj/Debug/net8.0/refint/Presence.Desktop.dll index 974d4b1..6867555 100644 Binary files a/presence/Presence.Desktop/obj/Debug/net8.0/refint/Presence.Desktop.dll and b/presence/Presence.Desktop/obj/Debug/net8.0/refint/Presence.Desktop.dll differ diff --git a/presence/console_ui/GroupUI.cs b/presence/console_ui/GroupUI.cs deleted file mode 100644 index a09260d..0000000 --- a/presence/console_ui/GroupUI.cs +++ /dev/null @@ -1,43 +0,0 @@ -using domain.Request; -using domain.Service; -using domain.UseCase; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace console_ui -{ - class GroupUI - { - private readonly IGroupUseCase _groupService; - public GroupUI(IGroupUseCase groupService) - { - _groupService = groupService; - } - - public void AddGroup() - { - Console.WriteLine("Введите имя группы"); - _groupService.AddGroup(new AddGroupRequest { Name = Console.ReadLine() }); - } - public void AddGroupWithStudents() - { - Console.WriteLine("Введите имя группы"); - AddGroupRequest addGroupRequest = new AddGroupRequest { Name = Console.ReadLine() }; - List addStudentRequests = new List() { - new AddStudentRequest{StudentName = "123" }, - new AddStudentRequest{StudentName = "312" }, - new AddStudentRequest{StudentName = "222" }, - new AddStudentRequest{StudentName = "444" }, - }; - AddGroupWithStudentsRequest addGroupWithStudents = new AddGroupWithStudentsRequest - { - addGroupRequest = addGroupRequest, - AddStudentRequests = addStudentRequests - }; - _groupService.AddGroupWithSutdents(addGroupWithStudents); - } - } -} diff --git a/presence/console_ui/Program.cs b/presence/console_ui/Program.cs index 2e80da6..237889c 100644 --- a/presence/console_ui/Program.cs +++ b/presence/console_ui/Program.cs @@ -1,38 +1,28 @@ -using console_ui; -using data; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; -using Demo.Domain.UseCase; -using Demo.UI; -using domain.Service; -using domain.UseCase; +using presence.data.Repository; +using presence.domain.UseCase; +using presence.ui; using Microsoft.Extensions.DependencyInjection; +using System.Text.RegularExpressions; +using presence.data.RemoteData.RemoteDataBase; -void printAllGroups(IGroupRepository groupRepository) -{ - foreach (var item in groupRepository.GetAllGroup()) - { - Console.WriteLine($"{item.Id} {item.Name}"); - } -} +IServiceCollection services = new ServiceCollection(); -IServiceCollection serviceCollection = new ServiceCollection(); - -serviceCollection +services .AddDbContext() .AddSingleton() - .AddSingleton() + .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() + .AddSingleton() .AddSingleton(); +// Создание провайдера сервисов +var serviceProvider = services.BuildServiceProvider(); -var serivceProvider = serviceCollection.BuildServiceProvider(); - -var groupUi = serivceProvider.GetService(); - -groupUi?.AddGroup(); - +// Получение экземпляра главного пользовательского интерфейса +MainMenuUI mainMenuUI = serviceProvider.GetService(); +// Вывод главного меню +mainMenuUI.DisplayMenu(); \ No newline at end of file diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.Abstractions.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.Abstractions.dll new file mode 100644 index 0000000..2169cf8 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.Abstractions.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.Relational.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..f8c58d0 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000..b628ed6 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.EntityFrameworkCore.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Caching.Abstractions.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 0000000..99aac98 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Caching.Memory.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000..077b1b6 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 0000000..a5ab313 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000..81ed3de Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000..bd71a2b Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000..f9d1dc6 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000..35905b6 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Options.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000..a7b3f21 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Options.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll new file mode 100644 index 0000000..c24f2a0 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/presence/console_ui/bin/Debug/net9.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll new file mode 100644 index 0000000..4b4f0fc Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/Npgsql.dll b/presence/console_ui/bin/Debug/net9.0/Npgsql.dll new file mode 100644 index 0000000..fde1387 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/Npgsql.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/console_ui.deps.json b/presence/console_ui/bin/Debug/net9.0/console_ui.deps.json new file mode 100644 index 0000000..a5f5b02 --- /dev/null +++ b/presence/console_ui/bin/Debug/net9.0/console_ui.deps.json @@ -0,0 +1,343 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v9.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v9.0": { + "console_ui/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "data": "1.0.0", + "domain": "1.0.0", + "ui": "1.0.0" + }, + "runtime": { + "console_ui.dll": {} + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Npgsql/8.0.5": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.5.0", + "fileVersion": "8.0.5.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.10.0" + } + } + }, + "data/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, + "runtime": { + "data.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "domain/1.0.0": { + "dependencies": { + "data": "1.0.0" + }, + "runtime": { + "domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "ui/1.0.0": { + "dependencies": { + "domain": "1.0.0" + }, + "runtime": { + "ui.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "console_ui/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "path": "microsoft.entityframeworkcore/8.0.10", + "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Npgsql/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "path": "npgsql/8.0.5", + "hashPath": "npgsql.8.0.5.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" + }, + "data/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ui/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/presence/console_ui/bin/Debug/net9.0/console_ui.dll b/presence/console_ui/bin/Debug/net9.0/console_ui.dll new file mode 100644 index 0000000..7568887 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/console_ui.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/console_ui.exe b/presence/console_ui/bin/Debug/net9.0/console_ui.exe new file mode 100644 index 0000000..3caceb9 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/console_ui.exe differ diff --git a/presence/console_ui/bin/Debug/net9.0/console_ui.pdb b/presence/console_ui/bin/Debug/net9.0/console_ui.pdb new file mode 100644 index 0000000..0a5a51a Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/console_ui.pdb differ diff --git a/presence/data/bin/Debug/net9.0/data.runtimeconfig.json b/presence/console_ui/bin/Debug/net9.0/console_ui.runtimeconfig.json similarity index 100% rename from presence/data/bin/Debug/net9.0/data.runtimeconfig.json rename to presence/console_ui/bin/Debug/net9.0/console_ui.runtimeconfig.json diff --git a/presence/console_ui/bin/Debug/net9.0/data.dll b/presence/console_ui/bin/Debug/net9.0/data.dll new file mode 100644 index 0000000..33fe2f3 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/data.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/data.pdb b/presence/console_ui/bin/Debug/net9.0/data.pdb new file mode 100644 index 0000000..b9c12c6 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/data.pdb differ diff --git a/presence/console_ui/bin/Debug/net9.0/domain.dll b/presence/console_ui/bin/Debug/net9.0/domain.dll new file mode 100644 index 0000000..c981f77 Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/domain.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/domain.pdb b/presence/console_ui/bin/Debug/net9.0/domain.pdb new file mode 100644 index 0000000..409adbc Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/domain.pdb differ diff --git a/presence/console_ui/bin/Debug/net9.0/ui.dll b/presence/console_ui/bin/Debug/net9.0/ui.dll new file mode 100644 index 0000000..796c94a Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/ui.dll differ diff --git a/presence/console_ui/bin/Debug/net9.0/ui.pdb b/presence/console_ui/bin/Debug/net9.0/ui.pdb new file mode 100644 index 0000000..6e056da Binary files /dev/null and b/presence/console_ui/bin/Debug/net9.0/ui.pdb differ diff --git a/presence/console_ui/obj/Debug/net9.0/apphost.exe b/presence/console_ui/obj/Debug/net9.0/apphost.exe new file mode 100644 index 0000000..3caceb9 Binary files /dev/null and b/presence/console_ui/obj/Debug/net9.0/apphost.exe differ diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfo.cs b/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfo.cs index 1dae1e1..58878cd 100644 --- a/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfo.cs +++ b/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("console_ui")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a55a118f4f90ec351b8e7060cdde62bebbb8d3e4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a4cadaa09fb0d2c5ec082f80517b9033fa58f0e")] [assembly: System.Reflection.AssemblyProductAttribute("console_ui")] [assembly: System.Reflection.AssemblyTitleAttribute("console_ui")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfoInputs.cache b/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfoInputs.cache index 2de160a..73a6772 100644 --- a/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfoInputs.cache +++ b/presence/console_ui/obj/Debug/net9.0/console_ui.AssemblyInfoInputs.cache @@ -1 +1 @@ -0b919fac6145ff2be3201372ec1f1aea13c6986425039d00c6b7fced81215e00 +7bf34b4fcb4b3c0c6eebfffc7381e9b40b01baab55aebf70ea22159b8e1cf789 diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.AssemblyReference.cache b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.AssemblyReference.cache index 47e25c2..011ffac 100644 Binary files a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.AssemblyReference.cache and b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.AssemblyReference.cache differ diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.CoreCompileInputs.cache b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.CoreCompileInputs.cache index 2eddb06..97e085a 100644 --- a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.CoreCompileInputs.cache +++ b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -0c491b1e3dd8ffe5e72fd0f85d40e3c3639d451c11c9e70de739cbf6df22c2c9 +03d4a7c045a588b70cc376d11791abd249e6eb38d01b1b0b2e069751c3cb402b diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.FileListAbsolute.txt b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.FileListAbsolute.txt index a693094..1f1490e 100644 --- a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.FileListAbsolute.txt +++ b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.FileListAbsolute.txt @@ -3,3 +3,34 @@ C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.Genera C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.AssemblyInfoInputs.cache C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.AssemblyInfo.cs C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.csproj.CoreCompileInputs.cache +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\console_ui.exe +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\console_ui.deps.json +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\console_ui.runtimeconfig.json +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\console_ui.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\console_ui.pdb +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Configuration.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Logging.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Options.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Microsoft.Extensions.Primitives.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Npgsql.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\data.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\domain.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\ui.dll +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\domain.pdb +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\data.pdb +C:\Users\User\Desktop\pr1\presence\console_ui\bin\Debug\net9.0\ui.pdb +C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.csproj.Up2Date +C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.dll +C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\refint\console_ui.dll +C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.pdb +C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\console_ui.genruntimeconfig.cache +C:\Users\User\Desktop\pr1\presence\console_ui\obj\Debug\net9.0\ref\console_ui.dll diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.Up2Date b/presence/console_ui/obj/Debug/net9.0/console_ui.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.dll b/presence/console_ui/obj/Debug/net9.0/console_ui.dll new file mode 100644 index 0000000..7568887 Binary files /dev/null and b/presence/console_ui/obj/Debug/net9.0/console_ui.dll differ diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.genruntimeconfig.cache b/presence/console_ui/obj/Debug/net9.0/console_ui.genruntimeconfig.cache new file mode 100644 index 0000000..9ef307c --- /dev/null +++ b/presence/console_ui/obj/Debug/net9.0/console_ui.genruntimeconfig.cache @@ -0,0 +1 @@ +1e22793e5761f030b4d7672a67fce98d74d1f228c5d67ee3e0250c8ee54658fa diff --git a/presence/console_ui/obj/Debug/net9.0/console_ui.pdb b/presence/console_ui/obj/Debug/net9.0/console_ui.pdb new file mode 100644 index 0000000..0a5a51a Binary files /dev/null and b/presence/console_ui/obj/Debug/net9.0/console_ui.pdb differ diff --git a/presence/console_ui/obj/Debug/net9.0/ref/console_ui.dll b/presence/console_ui/obj/Debug/net9.0/ref/console_ui.dll new file mode 100644 index 0000000..dcb7680 Binary files /dev/null and b/presence/console_ui/obj/Debug/net9.0/ref/console_ui.dll differ diff --git a/presence/console_ui/obj/Debug/net9.0/refint/console_ui.dll b/presence/console_ui/obj/Debug/net9.0/refint/console_ui.dll new file mode 100644 index 0000000..dcb7680 Binary files /dev/null and b/presence/console_ui/obj/Debug/net9.0/refint/console_ui.dll differ diff --git a/presence/data/LocalData/Entity/Group.cs b/presence/data/Entity/Group.cs similarity index 89% rename from presence/data/LocalData/Entity/Group.cs rename to presence/data/Entity/Group.cs index d4ec69c..2ecbc2d 100644 --- a/presence/data/LocalData/Entity/Group.cs +++ b/presence/data/Entity/Group.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.domain.Models +namespace presence.data.Entity { public class GroupLocalEntity { diff --git a/presence/data/LocalData/Entity/Presence.cs b/presence/data/Entity/Presence.cs similarity index 90% rename from presence/data/LocalData/Entity/Presence.cs rename to presence/data/Entity/Presence.cs index abded35..b73ba26 100644 --- a/presence/data/LocalData/Entity/Presence.cs +++ b/presence/data/Entity/Presence.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.domain.Models +namespace presence.data.LocalData.Entity { public class PresenceLocalEntity { diff --git a/presence/data/LocalData/Entity/User.cs b/presence/data/Entity/User.cs similarity index 74% rename from presence/data/LocalData/Entity/User.cs rename to presence/data/Entity/User.cs index ae98995..b28bb08 100644 --- a/presence/data/LocalData/Entity/User.cs +++ b/presence/data/Entity/User.cs @@ -4,18 +4,18 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.domain.Models +namespace presence.data.LocalData.Entity { public class UserLocalEntity : IEquatable { public required string FIO { get; set; } public Guid Guid { get; set; } - public required int GroupID { get; set; } + public required int GroupId { get; set; } public bool Equals(UserLocalEntity? other) { if (other == null) return false; - return this.Guid.Equals(other.Guid); + return Guid.Equals(other.Guid); } } } \ No newline at end of file diff --git a/presence/data/Exceptions/GroupNotFoundException.cs b/presence/data/Exceptions/GroupNotFoundException.cs deleted file mode 100644 index bac3b00..0000000 --- a/presence/data/Exceptions/GroupNotFoundException.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace Demo.Data.Exceptions -{ - public class GroupNotFoundException : RepositoryException - { - public GroupNotFoundException(int groupId) - : base($"Ошибка: группа с идентификатором {groupId} не найдена. Проверьте, правильный ли ID.") { } - } -} \ No newline at end of file diff --git a/presence/data/Exceptions/RepositoryException.cs b/presence/data/Exceptions/RepositoryException.cs deleted file mode 100644 index 5732bc4..0000000 --- a/presence/data/Exceptions/RepositoryException.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace Demo.Data.Exceptions -{ - public class RepositoryException : Exception - { - public RepositoryException(string message) : base(message) { } - } -} \ No newline at end of file diff --git a/presence/data/Exceptions/UserNotFoundException.cs b/presence/data/Exceptions/UserNotFoundException.cs deleted file mode 100644 index b82b3b5..0000000 --- a/presence/data/Exceptions/UserNotFoundException.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace Demo.Data.Exceptions -{ - public class UserNotFoundException : RepositoryException - { - public UserNotFoundException(Guid userGuid) - : base($"Ошибка: пользователь с GUID {userGuid} не найден. Проверьте правильность введенного идентификатора.") { } - } -} \ No newline at end of file diff --git a/presence/data/LocalData/LocalStaticData.cs b/presence/data/LocalData/LocalStaticData.cs index 9d1d317..d7928ec 100644 --- a/presence/data/LocalData/LocalStaticData.cs +++ b/presence/data/LocalData/LocalStaticData.cs @@ -1,12 +1,13 @@ -using Demo.domain.Models; -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net.NetworkInformation; using System.Text; using System.Threading.Tasks; +using presence.data.Entity; +using presence.data.LocalData.Entity; -namespace Demo.Data.LocalData +namespace presence.data.LocalData { public static class LocalStaticData { @@ -20,17 +21,19 @@ namespace Demo.Data.LocalData public static List users => new List { - new UserLocalEntity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupID = 1 }, - new UserLocalEntity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 }, - new UserLocalEntity{Guid=Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "RandomFio2", GroupID = 3 }, - new UserLocalEntity{Guid=Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "RandomFio3", GroupID = 1 }, - new UserLocalEntity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupID = 2 }, - new UserLocalEntity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupID = 3 }, + new UserLocalEntity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupId = 1 }, + new UserLocalEntity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupId = 2 }, + new UserLocalEntity{Guid=Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "RandomFio2", GroupId = 3 }, + new UserLocalEntity{Guid=Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "RandomFio3", GroupId = 1 }, + new UserLocalEntity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupId = 2 }, + new UserLocalEntity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupId = 3 }, }; - public static List presences => new List + public static List presences = new List { - + new PresenceLocalEntity{Date= new DateOnly(2024, 12, 31), ClassNumber=1, UserGuid = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9")}, + new PresenceLocalEntity{Date= new DateOnly(2024, 12, 31), ClassNumber=2, UserGuid = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9")}, + new PresenceLocalEntity{Date= new DateOnly(2024, 12, 31), ClassNumber=3, IsAttendence=false, UserGuid = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9")} }; } -} +} \ No newline at end of file diff --git a/presence/data/Migrations/20241202104632_InitialCreate.Designer.cs b/presence/data/Migrations/20241202104632_InitialCreate.Designer.cs index 8e5ce84..2c9f4c8 100644 --- a/presence/data/Migrations/20241202104632_InitialCreate.Designer.cs +++ b/presence/data/Migrations/20241202104632_InitialCreate.Designer.cs @@ -1,11 +1,10 @@ -// -using System; -using Demo.Data.RemoteData.RemoteDataBase; +using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using presence.data.RemoteData.RemoteDataBase; #nullable disable diff --git a/presence/data/Migrations/RemoteDatabaseContextModelSnapshot.cs b/presence/data/Migrations/RemoteDatabaseContextModelSnapshot.cs index c117971..5ab28af 100644 --- a/presence/data/Migrations/RemoteDatabaseContextModelSnapshot.cs +++ b/presence/data/Migrations/RemoteDatabaseContextModelSnapshot.cs @@ -1,10 +1,10 @@ // using System; -using Demo.Data.RemoteData.RemoteDataBase; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using presence.data.RemoteData.RemoteDataBase; #nullable disable diff --git a/presence/data/RemoteData/RemoteDataBase/DAO/Group.cs b/presence/data/RemoteData/RemoteDataBase/DAO/Group.cs index 8151f04..42af261 100644 --- a/presence/data/RemoteData/RemoteDataBase/DAO/Group.cs +++ b/presence/data/RemoteData/RemoteDataBase/DAO/Group.cs @@ -4,12 +4,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.Data.RemoteData.RemoteDataBase.DAO +namespace presence.data.RemoteData.RemoteDataBase.DAO { public class GroupDao { public int Id { get; set; } public string Name { get; set; } - public virtual IEnumerable Users { get; set; } + public virtual IEnumerable User { get; set; } } } diff --git a/presence/data/RemoteData/RemoteDataBase/DAO/Presence.cs b/presence/data/RemoteData/RemoteDataBase/DAO/Presence.cs index de565ed..2170fed 100644 --- a/presence/data/RemoteData/RemoteDataBase/DAO/Presence.cs +++ b/presence/data/RemoteData/RemoteDataBase/DAO/Presence.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.Data.RemoteData.RemoteDataBase.DAO +namespace presence.data.RemoteData.RemoteDataBase.DAO { public class PresenceDao { diff --git a/presence/data/RemoteData/RemoteDataBase/DAO/User.cs b/presence/data/RemoteData/RemoteDataBase/DAO/User.cs index 7dcedcb..eafcbd9 100644 --- a/presence/data/RemoteData/RemoteDataBase/DAO/User.cs +++ b/presence/data/RemoteData/RemoteDataBase/DAO/User.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.Data.RemoteData.RemoteDataBase.DAO +namespace presence.data.RemoteData.RemoteDataBase.DAO { public class UserDao { @@ -14,4 +14,4 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO public GroupDao Group { get; set; } public IEnumerable Presences { get; set; } } -} +} \ No newline at end of file diff --git a/presence/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs b/presence/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs index fd2596c..8118cba 100644 --- a/presence/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs +++ b/presence/data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs @@ -1,12 +1,12 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using presence.data.RemoteData.RemoteDataBase.DAO; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.Data.RemoteData.RemoteDataBase +namespace presence.data.RemoteData.RemoteDataBase { public class RemoteDatabaseContext : DbContext { diff --git a/presence/data/Repository/AdminRepositoryImp.cs b/presence/data/Repository/AdminRepositoryImp.cs index 7f46cfd..9cfb6a6 100644 --- a/presence/data/Repository/AdminRepositoryImp.cs +++ b/presence/data/Repository/AdminRepositoryImp.cs @@ -1,10 +1,11 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.RemoteData.RemoteDataBase; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using presence.data.RemoteData; +using presence.data.RemoteData.RemoteDataBase; +using presence.data.RemoteData.RemoteDataBase.DAO; +using presence.data.Repository; namespace data.Repository { @@ -12,47 +13,57 @@ namespace data.Repository { private readonly RemoteDatabaseContext _remoteDataBaseContext; + // Конструктор, принимающий контекст базы данных public AdminRepositoryImp(RemoteDatabaseContext remoteDataBaseContext) { _remoteDataBaseContext = remoteDataBaseContext; } - public bool AddStudents(GroupDao group, List students) - { - _remoteDataBaseContext.Groups.Add(group); - _remoteDataBaseContext.SaveChanges(); - foreach (UserDao student in students) - { - _remoteDataBaseContext.Users.Add(student); - } - _remoteDataBaseContext.SaveChanges(); - return true; - } - - public IEnumerable GetAllGroupsWithStudents() - { - return _remoteDataBaseContext.Groups.Select(x => new GroupDao - { - Id = x.Id, - Name = x.Name, - Users = _remoteDataBaseContext.Users.Where(it => it.GroupId == x.Id).ToList() - }).ToList(); - } - - public UserDao GetStudentInfo(int userId) + public UserDao GetStudentInfo(int userId) // Метод для получения информации о студенте по его идентификатору { return _remoteDataBaseContext.Users.Where(x => x.UserId == userId).FirstOrDefault(); } - public bool RemoveUserById(int userId, int groupId) + public bool AddStudents(GroupDao group, List students) // Метод для добавления студентов в группу { + // Добавляем группу в контекст + _remoteDataBaseContext.Groups.Add(group); + _remoteDataBaseContext.SaveChanges(); // Сохраняем изменения в базе данных + + // Добавляем студентов в контекст + foreach (UserDao student in students) + { + _remoteDataBaseContext.Users.Add(student); + } + _remoteDataBaseContext.SaveChanges(); // Сохраняем изменения в базе данных + + return true; // Возвращаем true, если добавление прошло успешно + } + + public bool RemoveUserById(int userId, int groupId) // Метод для удаления пользователя по его идентификатору и идентификатору группы + { + // Находим пользователя в контексте var userLocal = _remoteDataBaseContext.Users .Where(x => x.UserId == userId && x.GroupId == groupId).FirstOrDefault(); + if (userLocal == null) return false; + // Удаляем пользователя из контекста _remoteDataBaseContext.Users.Remove(userLocal); - _remoteDataBaseContext.SaveChanges(); + _remoteDataBaseContext.SaveChanges(); // Сохраняем изменения в базе данных + return true; } + + public IEnumerable GetAllGroupsWithStudents() // Метод для получения всех групп с их студентами + { + // Получаем группы и их студентов + return _remoteDataBaseContext.Groups.Select(x => new GroupDao + { + Id = x.Id, // Идентификатор группы + Name = x.Name, // Название группы + User = _remoteDataBaseContext.Users.Where(it => it.GroupId == x.Id).ToList() // Список студентов в группе + }).ToList(); + } } } diff --git a/presence/data/Repository/GroupRepositoryImpl.cs b/presence/data/Repository/GroupRepositoryImpl.cs index e5266b9..84a7325 100644 --- a/presence/data/Repository/GroupRepositoryImpl.cs +++ b/presence/data/Repository/GroupRepositoryImpl.cs @@ -1,86 +1,127 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; +using presence.data.Entity; +using presence.data.LocalData; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase; +using presence.data.RemoteData.RemoteDataBase.DAO; -namespace data.Repository +namespace presence.data.Repository { public class SQLGroupRepositoryImpl : IGroupRepository { private readonly RemoteDatabaseContext _remoteDatabaseContext; + // Конструктор для инициализации контекста базы данных public SQLGroupRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) { _remoteDatabaseContext = remoteDatabaseContext; } - public bool AddGroup(GroupDao group) + public async Task> getAllGroupAsync() // Метод для получения всех групп { + // Получаем список всех групп и связанных пользователей асинхронно + return await _remoteDatabaseContext.Groups + .Include(group => group.User) + .ToListAsync(); + } + public List GetAllGroup() // Метод для получения всех групп + { + return _remoteDatabaseContext.Groups + .Include(g => g.User) + .Select(g => new GroupDao + { + Name = g.Name, + Id = g.Id, + User = g.User.Select(u => new UserDao + { + FIO = u.FIO, + UserId = u.UserId, + GroupId = u.GroupId + }).ToList() // Формируем список пользователей группы + }).ToList(); + } + + public GroupDao GetGroupById(int groupID) // Метод для получения группы по ID + { + var groupLocal = _remoteDatabaseContext.Groups + .Where(g => g.Id == groupID).FirstOrDefault(); + + return groupLocal; + } + + + public bool AddGroup(GroupDao group) // Метод для добавления новой группы + { + // Создаем новый объект группы с указанным именем var groupDao = new GroupDao { Name = group.Name }; + + // Добавляем группу в контекст и сохраняем изменения _remoteDatabaseContext.Groups.Add(groupDao); _remoteDatabaseContext.SaveChanges(); return true; } - public List GetAllGroup() - { - return _remoteDatabaseContext.Groups - .Include(g => g.Users) - .Select(g => new GroupDao - { - Name = g.Name, - Id = g.Id, - Users = g.Users.Select(u => new UserDao - { - FIO = u.FIO, - UserId = u.UserId, - GroupId = u.GroupId - }).ToList() - }).ToList(); - } - - public GroupDao GetGroupById(int groupID) - { - var groupLocal = _remoteDatabaseContext.Groups - .Where(g => g.Id == groupID).FirstOrDefault(); - if (groupLocal == null) return null; - return groupLocal; - } - - public bool RemoveGroupById(int groupID) + public bool RemoveGroupById(int groupID) // Метод для удаления группы по ID { + // Ищем группу по заданному ID var groupLocal = _remoteDatabaseContext.Groups .Where(x => x.Id == groupID).FirstOrDefault(); + + // Если группа не найдена, возвращаем false if (groupLocal == null) return false; - var userLocal = _remoteDatabaseContext.Users.Where(x => x.GroupId == groupID).ToList(); - if (userLocal == null) return false; + + // Ищем пользователей, связанные с группой + var userLocal = _remoteDatabaseContext.Users + .Where(x => x.GroupId == groupID).ToList(); + + // Если пользователи не найдены, это не ошибка foreach (var user in userLocal) { - _remoteDatabaseContext.Users.Remove(user); + _remoteDatabaseContext.Users.Remove(user); // Удаляем каждого пользователя } + + // Удаляем саму группу _remoteDatabaseContext.Groups.Remove(groupLocal); + _remoteDatabaseContext.SaveChanges(); // Сохраняем изменения + return true; + } + + public bool AddStudents(GroupDao group, List students)// Метод для добавления студентов в группу + { + // Добавляем группу в контекст + _remoteDatabaseContext.Groups.Add(group); + _remoteDatabaseContext.SaveChanges(); // Сохраняем изменения + + // Добавляем студентов в контекст + foreach (UserDao student in students) + { + + _remoteDatabaseContext.Users.Add(student); + } + + // Сохраняем изменения после добавления студентов _remoteDatabaseContext.SaveChanges(); return true; } - public bool UpdateGroupById(int groupID, string name) + public bool UpdateGroupById(int groupID, string name) // Метод для обновления группы по ID { + // Ищем группу по ID и загружаем связанных пользователей var groupLocal = _remoteDatabaseContext.Groups - .Include(g => g.Users) - .Where(x => x.Id == groupID).FirstOrDefault(); - if (groupLocal == null) return false; + .Include(g => g.User) + .Where(x => x.Id == groupID).FirstOrDefault(); + if (groupLocal == null) return false; groupLocal.Name = name; - groupLocal.Users = _remoteDatabaseContext.Users + groupLocal.User = _remoteDatabaseContext.Users .Where(x => x.GroupId == groupLocal.Id) .Select(user => new UserDao { @@ -89,25 +130,8 @@ namespace data.Repository GroupId = user.GroupId }).ToList(); - - _remoteDatabaseContext.SaveChanges(); + _remoteDatabaseContext.SaveChanges(); // Сохраняем изменения return true; } - - public bool AddStudents(GroupDao group, List students) - { - _remoteDatabaseContext.Groups.Add(group); - _remoteDatabaseContext.SaveChanges(); - foreach (UserDao student in students) - { - _remoteDatabaseContext.Users.Add(student); - } - _remoteDatabaseContext.SaveChanges(); - return true; - } - public async Task> getAllGroupAsync() - { - return await _remoteDatabaseContext.Groups.Include(group => group.Users).ToListAsync(); - } } -} +} \ No newline at end of file diff --git a/presence/data/Repository/IAdminRepository.cs b/presence/data/Repository/IAdminRepository.cs index eebfd12..fd68151 100644 --- a/presence/data/Repository/IAdminRepository.cs +++ b/presence/data/Repository/IAdminRepository.cs @@ -1,9 +1,8 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using presence.data.RemoteData.RemoteDataBase.DAO; namespace data.Repository { @@ -14,4 +13,4 @@ namespace data.Repository UserDao GetStudentInfo(int userId); bool RemoveUserById(int userId, int groupId); } -} +} \ No newline at end of file diff --git a/presence/data/Repository/IGroupRepository.cs b/presence/data/Repository/IGroupRepository.cs index 7de9d40..5f7e382 100644 --- a/presence/data/Repository/IGroupRepository.cs +++ b/presence/data/Repository/IGroupRepository.cs @@ -1,12 +1,13 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.domain.Models; -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using presence.data.Entity; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase.DAO; -namespace Demo.Data.Repository +namespace presence.data.Repository { public interface IGroupRepository { diff --git a/presence/data/Repository/IPresenceRepository.cs b/presence/data/Repository/IPresenceRepository.cs index 51ed1ed..95b381e 100644 --- a/presence/data/Repository/IPresenceRepository.cs +++ b/presence/data/Repository/IPresenceRepository.cs @@ -1,10 +1,11 @@ -using data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.domain.Models; -using System; +using System; using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase.DAO; -namespace Demo.Data.Repository +namespace presence.data.Repository { public interface IPresenceRepository { @@ -16,5 +17,7 @@ namespace Demo.Data.Repository bool DeletePresenceByGroup(int groupId); bool DeletePresenceByUser(int userId); bool DeletePresenceByDate(DateOnly startData, DateOnly endData); + + } -} +} \ No newline at end of file diff --git a/presence/data/Repository/IUserRepository.cs b/presence/data/Repository/IUserRepository.cs index ba4fc1a..8474c85 100644 --- a/presence/data/Repository/IUserRepository.cs +++ b/presence/data/Repository/IUserRepository.cs @@ -1,9 +1,12 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.domain.Models; -using System; +using System; using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase.DAO; -namespace Demo.Data.Repository +namespace presence.data.Repository { public interface IUserRepository { @@ -13,4 +16,4 @@ namespace Demo.Data.Repository bool UpdateUser(UserDao userUpdate); bool UpdateUserById(int userId, string fio, int groupId); } -} +} \ No newline at end of file diff --git a/presence/data/Repository/PresenceRepositoryImpl.cs b/presence/data/Repository/PresenceRepositoryImpl.cs index e6671ab..a282312 100644 --- a/presence/data/Repository/PresenceRepositoryImpl.cs +++ b/presence/data/Repository/PresenceRepositoryImpl.cs @@ -1,13 +1,14 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using presence.data.LocalData; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase; +using presence.data.RemoteData.RemoteDataBase.DAO; -namespace data.Repository +namespace presence.data.Repository { public class SQLPresenceRepositoryImpl : IPresenceRepository { @@ -18,7 +19,7 @@ namespace data.Repository _remoteDatabaseContext = remoteDatabaseContext; } - public bool AddPresence(PresenceDao presence) + public bool AddPresence(PresenceDao presence) //Метод добавления посещения { var presenceDao = new PresenceDao { @@ -27,35 +28,90 @@ namespace data.Repository UserId = presence.UserId, GroupId = presence.GroupId }; - _remoteDatabaseContext.PresenceDaos.Add(presenceDao); + _remoteDatabaseContext.Presences.Add(presenceDao); _remoteDatabaseContext.SaveChanges(); return true; } - public List GetPresence(int GroupId, DateOnly startData, DateOnly endData, int UserId) + public List GetPresence(int GroupId, DateOnly startData, DateOnly endData, int UserId) // Метод для получения присутствий по группе и диапазону дат { - var presenceList = _remoteDatabaseContext.PresenceDaos.Where(presence => presence.GroupId == GroupId + var presenceList = _remoteDatabaseContext.Presences.Where(presence => presence.GroupId == GroupId && presence.UserId == UserId && presence.Date >= startData && presence.Date <= endData).ToList(); return presenceList; } - public List GetPresenceByGroup(int groupId) + public List GetPresenceByGroup(int groupId) // Метод для получения всех присутствий по ID группы { - var listPresences = _remoteDatabaseContext.PresenceDaos + var listPresences = _remoteDatabaseContext.Presences .Where(x => x.GroupId == groupId).ToList(); return listPresences; } - public List GetPresenceByGroupAndDate(int groupId, DateOnly date) + public List GetPresenceByGroupAndDate(int groupId, DateOnly date) // Метод для получения присутствий по группе и дате { - var listPresences = _remoteDatabaseContext.PresenceDaos + var listPresences = _remoteDatabaseContext.Presences .Where(x => x.GroupId == groupId && x.Date == date).ToList(); return listPresences; } - public bool UncheckAttendence(int firstClass, int lastClass, DateOnly date, int userId) + public bool DeletePresenceByGroup(int groupId) // Метод для удаления всех присутствий по ID группы { - var presToUpdate = _remoteDatabaseContext.PresenceDaos + var presenceToDelete = _remoteDatabaseContext.Presences.Where(x => x.GroupId == groupId).ToList(); + + if (presenceToDelete.Count > 0) + { + foreach (var presence in presenceToDelete) + { + _remoteDatabaseContext.Presences.Remove(presence); + } + + _remoteDatabaseContext.SaveChanges(); + return true; + } + return false; + } + + public bool DeletePresenceByUser(int userId) // Метод для удаления присутствий по ID пользователя + { + var presenceToDelete = _remoteDatabaseContext.Presences.Where(x => x.UserId == userId).ToList(); + + if (presenceToDelete.Count > 0) + { + foreach (var presence in presenceToDelete) + { + _remoteDatabaseContext.Presences.Remove(presence); + } + + _remoteDatabaseContext.SaveChanges(); + return true; + } + return false; + } + + public bool DeletePresenceByDate(DateOnly startData, DateOnly endData) // Метод для удаления присутствий в заданном диапазоне дат + { + var PresenceToDelete = _remoteDatabaseContext.Presences.Where(x => x.Date == startData).ToList(); + for (var i = startData; i < endData; i = i.AddDays(1)) + { + PresenceToDelete.AddRange(_remoteDatabaseContext.Presences.Where(x => x.Date == i).ToList()); + } + if (PresenceToDelete.Count > 0) + { + foreach (var presence in PresenceToDelete) + { + _remoteDatabaseContext.Presences.Remove(presence); + } + + _remoteDatabaseContext.SaveChanges(); + return true; + } + + return false; + } + + public bool UncheckAttendence(int firstClass, int lastClass, DateOnly date, int userId) // Метод для отмены регистрации посещаемости в заданном диапазоне классов + { + var presToUpdate = _remoteDatabaseContext.Presences .Where(x => x.UserId == userId && x.ClassNumber >= firstClass && x.ClassNumber <= lastClass && x.Date == date).ToList(); @@ -66,60 +122,5 @@ namespace data.Repository _remoteDatabaseContext.SaveChanges(); return true; } - - public bool DeletePresenceByGroup(int groupId) - { - var presenceToDelete = _remoteDatabaseContext.PresenceDaos.Where(x => x.GroupId == groupId).ToList(); - - if (presenceToDelete.Count > 0) - { - foreach (var presence in presenceToDelete) - { - _remoteDatabaseContext.PresenceDaos.Remove(presence); - } - - _remoteDatabaseContext.SaveChanges(); - return true; - } - return false; - } - - public bool DeletePresenceByUser(int userId) - { - var presenceToDelete = _remoteDatabaseContext.PresenceDaos.Where(x => x.UserId == userId).ToList(); - - if (presenceToDelete.Count > 0) - { - foreach (var presence in presenceToDelete) - { - _remoteDatabaseContext.PresenceDaos.Remove(presence); - } - - _remoteDatabaseContext.SaveChanges(); - return true; - } - return false; - } - - public bool DeletePresenceByDate(DateOnly startData, DateOnly endData) - { - var PresenceToDelete = _remoteDatabaseContext.PresenceDaos.Where(x => x.Date == startData).ToList(); - for (var i = startData; i < endData; i = i.AddDays(1)) - { - PresenceToDelete.AddRange(_remoteDatabaseContext.PresenceDaos.Where(x => x.Date == i).ToList()); - } - if (PresenceToDelete.Count > 0) - { - foreach (var presence in PresenceToDelete) - { - _remoteDatabaseContext.PresenceDaos.Remove(presence); - } - - _remoteDatabaseContext.SaveChanges(); - return true; - } - - return false; - } } -} +} \ No newline at end of file diff --git a/presence/data/Repository/SQLGroupRepositoryImpl.cs b/presence/data/Repository/SQLGroupRepositoryImpl.cs deleted file mode 100644 index 2771152..0000000 --- a/presence/data/Repository/SQLGroupRepositoryImpl.cs +++ /dev/null @@ -1,126 +0,0 @@ -using Demo.Data.Exceptions; -using Demo.Data.LocalData; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.Repository; -using Demo.domain.Models; -using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; -using System.Linq; - -public class SQLGroupRepositoryImpl : IGroupRepository -{ - private readonly RemoteDatabaseContext _remoteDatabaseContext; - - public SQLGroupRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) - { - _remoteDatabaseContext = remoteDatabaseContext; - } - - - public GroupLocalEntity? GetGroupById(int groupId) - { - var groupDao = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupId); - return groupDao != null ? new GroupLocalEntity { Id = groupDao.Id, Name = groupDao.Name } : null; - } - - - public List GetAllGroup() - { - return _remoteDatabaseContext.Groups - .Select(g => new GroupLocalEntity { Id = g.Id, Name = g.Name }) - .ToList(); - } - - - public int AddGroup(GroupDao group) - { - if (_remoteDatabaseContext.Groups.Any(g => g.Name == group.Name)) - return -1; // Например, если группа с таким именем уже существует, возвращаем -1 - - _remoteDatabaseContext.Groups.Add(group); - _remoteDatabaseContext.SaveChanges(); - - return group.Id; // Возвращаем ID добавленной группы - } - - - - public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup) - { - var existingGroup = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupID); - if (existingGroup == null) - return false; - - existingGroup.Name = updatedGroup.Name; - _remoteDatabaseContext.SaveChanges(); - return true; - } - - - public bool RemoveGroupById(int groupID) - { - var existingGroup = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupID); - if (existingGroup == null) - return false; - - _remoteDatabaseContext.Groups.Remove(existingGroup); - _remoteDatabaseContext.SaveChanges(); - return true; - } - - public List GetAllGroupWithStident() - { - // Убедитесь, что загружаются все пользователи, связанные с группами - return _remoteDatabaseContext.Groups - .Include(g => g.Users) // Загружаем пользователей вместе с группами - .ToList(); - } - - public void RemoveAllStudentsFromGroup(int groupId) - { - var group = _remoteDatabaseContext.Groups.Include(g => g.Users).FirstOrDefault(g => g.Id == groupId); - if (group != null) - { - // Удаляем всех студентов из группы - var userList = group.Users.ToList(); - foreach (var user in userList) - { - _remoteDatabaseContext.Entry(user).State = EntityState.Deleted; - } - _remoteDatabaseContext.SaveChanges(); - } - else - { - throw new ArgumentException($"Группа с ID {groupId} не найдена."); - } - } - - public void AddStudentToGroup(int groupId, UserDao student) - { - var group = _remoteDatabaseContext.Groups.Include(g => g.Users).FirstOrDefault(g => g.Id == groupId); - if (group != null) - { - // Проверка на уникальность студента - if (group.Users.Any(u => u.Guid == student.Guid)) - { - throw new ArgumentException($"Студент с GUID {student.Guid} уже добавлен в эту группу."); - } - - // Создаём нового студента и добавляем его в контекст - _remoteDatabaseContext.Users.Add(student); // Добавляем нового студента в Users - - // Привязываем студента к группе - student.GroupId = group.Id; // Устанавливаем внешний ключ (или ссылку на группу) - - // Сохраняем изменения в контексте - _remoteDatabaseContext.SaveChanges(); - } - else - { - throw new ArgumentException($"Группа с ID {groupId} не найдена."); - } - } - - -} \ No newline at end of file diff --git a/presence/data/Repository/SQLPresenceRepositoryImpl.cs b/presence/data/Repository/SQLPresenceRepositoryImpl.cs deleted file mode 100644 index 80838b2..0000000 --- a/presence/data/Repository/SQLPresenceRepositoryImpl.cs +++ /dev/null @@ -1,224 +0,0 @@ -using data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.domain.Models; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Demo.Data.Repository -{ - public class SQLPresenceRepositoryImpl : IPresenceRepository - { - private readonly RemoteDatabaseContext _remoteDatabaseContext; - - public SQLPresenceRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) - { - _remoteDatabaseContext = remoteDatabaseContext; - } - - public void SavePresence(List presences) - { - foreach (var presence in presences) - { - // Проверяем, существует ли запись с указанными датой, пользователем и номером занятия - var existing = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => - p.Date == DateOnly.FromDateTime(presence.Date) && - p.UserGuid == presence.UserGuid && - p.LessonNumber == presence.LessonNumber); - - if (existing == null) - { - // Добавляем запись, если её не существует - _remoteDatabaseContext.PresenceDaos.Add(new PresenceDao - { - Date = DateOnly.FromDateTime(presence.Date), - IsAttedance = presence.IsAttedance, - LessonNumber = presence.LessonNumber, - UserGuid = presence.UserGuid - }); - } - else - { - // Обновляем запись, если она уже существует - existing.IsAttedance = presence.IsAttedance; - } - } - - _remoteDatabaseContext.SaveChanges(); - } - - public void AddPresence(PresenceLocalEntity presence) - { - if (presence == null) throw new ArgumentNullException(nameof(presence)); - - var newPresence = new PresenceDao - { - Date = DateOnly.FromDateTime(presence.Date), - UserGuid = presence.UserGuid, - LessonNumber = presence.LessonNumber, - IsAttedance = presence.IsAttedance - }; - _remoteDatabaseContext.PresenceDaos.Add(newPresence); - } - - public List GetPresenceByGroup(int groupId) - { - return _remoteDatabaseContext.PresenceDaos.Include(user => user.UserDao) - .Where(p => p.UserDao != null && p.UserDao.GroupID == groupId) // Проверяем на null - .Select(p => new PresenceLocalEntity - { - Date = p.Date.ToDateTime(TimeOnly.MinValue), - UserGuid = p.UserGuid, - LessonNumber = p.LessonNumber, - IsAttedance = p.IsAttedance - }) - .ToList(); - } - - public List GetPresenceByGroupAndDate(int groupId, DateTime date) - { - return _remoteDatabaseContext.PresenceDaos - .Where(p => p.UserDao != null && p.UserDao.GroupID == groupId && p.Date == DateOnly.FromDateTime(date)) - .Select(p => new PresenceLocalEntity - { - Date = p.Date.ToDateTime(TimeOnly.MinValue), - UserGuid = p.UserGuid, - LessonNumber = p.LessonNumber, - IsAttedance = p.IsAttedance - }) - .ToList(); - } - - public void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber) - { - foreach (var lesson in Enumerable.Range(firstLessonNumber, lastLessonNumber - firstLessonNumber + 1)) - { - var presence = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => - p.UserGuid == userGuid && - p.LessonNumber == lesson); - - if (presence != null) - { - presence.IsAttedance = false; - } - } - } - - public DateOnly? GetLastDateByGroupId(int groupId) - { - // Проверим наличие записей о посещаемости в бд - var lastDate = _remoteDatabaseContext.PresenceDaos - .Where(p => p.UserDao.GroupID == groupId) - .OrderByDescending(p => p.Date) - .Select(p => p.Date) - .FirstOrDefault(); - - return lastDate == default ? (DateOnly?)null : lastDate; - } - - public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId) - { - var presences = _remoteDatabaseContext.PresenceDaos - .Where(p => p.UserDao.GroupID == groupId) - .OrderBy(p => p.Date).ThenBy(p => p.LessonNumber) - .ToList(); - - - var distinctLessonDates = presences - .Select(p => new { p.Date, p.LessonNumber }) - .Distinct() - .ToList(); - - int lessonCount = distinctLessonDates.Count; - - - var userGuids = presences - .Select(p => p.UserGuid) - .Distinct() - .ToHashSet(); - - double totalAttendance = presences.Count(p => p.IsAttedance); - double totalPossibleAttendance = userGuids.Count * lessonCount; - - var userAttendances = userGuids.Select(userGuid => - { - var userPresences = presences.Where(p => p.UserGuid == userGuid).ToList(); - double attended = userPresences.Count(p => p.IsAttedance); - double missed = userPresences.Count(p => !p.IsAttedance); - - return new UserAttendance - { - UserGuid = userGuid, - Attended = attended, - Missed = missed, - AttendanceRate = (attended / (attended + missed)) * 100 - }; - }).ToList(); - - // Рассчитываем процент посещаемости в заданной группе - double totalAttendancePercentage = (totalAttendance / totalPossibleAttendance) * 100; - - return new GroupPresenceSummary - { - UserCount = userGuids.Count, - LessonCount = lessonCount, - TotalAttendancePercentage = totalAttendancePercentage, - UserAttendances = userAttendances - }; - } - - - - - - public bool UpdateAttention(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance) - { - var presences = _remoteDatabaseContext.PresenceDaos - .Where(p => p.UserGuid == UserGuid && p.UserDao.GroupID == groupId && - p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson && p.Date == date) - .ToList(); - - if (presences.Any()) - { - foreach (var presence in presences) - { - presence.IsAttedance = isAttendance; - } - _remoteDatabaseContext.SaveChanges(); - return true; - } - return false; // анлак - } - public List GetAttendanceByGroup(int groupId) - { - - var userGuidsInGroup = _remoteDatabaseContext.Users - .Where(u => u.GroupID == groupId) - .Select(u => u.Guid) - .ToList(); - - // Фильтруем посещаемость по пользователям из этой группы - return _remoteDatabaseContext.PresenceDaos - .Where(p => userGuidsInGroup.Contains(p.UserGuid)) - .Select(p => new PresenceDao - { - UserGuid = p.UserGuid, - Id = p.Id, - Date = p.Date, - LessonNumber = p.LessonNumber, - IsAttedance = p.IsAttedance - }) - .ToList(); - } - - public void ClearAllPresence() - { - var allPresenceRecords = _remoteDatabaseContext.PresenceDaos.ToList(); - _remoteDatabaseContext.PresenceDaos.RemoveRange(allPresenceRecords); - _remoteDatabaseContext.SaveChanges(); - } - - } -} \ No newline at end of file diff --git a/presence/data/Repository/SQLUserRepositoryImpl.cs b/presence/data/Repository/SQLUserRepositoryImpl.cs deleted file mode 100644 index a40b06a..0000000 --- a/presence/data/Repository/SQLUserRepositoryImpl.cs +++ /dev/null @@ -1,105 +0,0 @@ -using Demo.Data.Exceptions; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.domain.Models; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Demo.Data.Repository -{ - public class SQLUserRepositoryImpl : IUserRepository - { - private readonly RemoteDatabaseContext _remoteDatabaseContext; - - public SQLUserRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) - { - _remoteDatabaseContext = remoteDatabaseContext; - } - - - public IEnumerable GetAllUsers => _remoteDatabaseContext.Users - .Select(u => new UserLocalEnity - { - Guid = u.Guid, - FIO = u.FIO, - GroupID = u.GroupID - }) - .ToList(); - - public bool RemoveUserByGuid(Guid userGuid) - { - var user = _remoteDatabaseContext.Users.FirstOrDefault(u => u.Guid == userGuid); - if (user == null) throw new UserNotFoundException(userGuid); - - _remoteDatabaseContext.Users.Remove(user); - _remoteDatabaseContext.SaveChanges(); - return true; - } - - public UserLocalEnity? UpdateUser(UserLocalEnity user) - { - var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.Guid == user.Guid); - if (existingUser == null) throw new UserNotFoundException(user.Guid); - - existingUser.FIO = user.FIO; - existingUser.GroupID = user.GroupID; - _remoteDatabaseContext.SaveChanges(); - - // Возвращаем обновленный объект UserLocalEnity - return new UserLocalEnity - { - Guid = existingUser.Guid, - FIO = existingUser.FIO, - GroupID = existingUser.GroupID - }; - } - - // Дополнительный метод для DAO, если требуется - public IEnumerable GetAllUsersDao => _remoteDatabaseContext.Users.ToList(); - - public List GetUserNames() - { - return _remoteDatabaseContext.Users - .Select(u => new UserDao { Guid = u.Guid, FIO = u.FIO }) - .ToList(); - } - - - public UserDao GetUserInfo(Guid userGuid) - { - return _remoteDatabaseContext.Users - .Include(u => u.Group) - .FirstOrDefault(u => u.Guid == userGuid); - } - - public bool AddUser(UserDao user) - { - try - { - - var userDao = new UserDao - { - Guid = user.Guid, - FIO = user.FIO, - GroupID = user.GroupID // Привязываем к группе - }; - - // Добавляем пользователя в контекст базы данных - _remoteDatabaseContext.Users.Add(userDao); - _remoteDatabaseContext.SaveChanges(); // Сохраняем изменения - - return true; - } - catch (System.Exception ex) - { - // Логирование ошибки (при необходимости) - Console.WriteLine($"Ошибка при добавлении пользователя: {ex.Message}"); - return false; - } - } - - - } -} \ No newline at end of file diff --git a/presence/data/Repository/UserRepositoryImpl.cs b/presence/data/Repository/UserRepositoryImpl.cs index 0986b80..fcf11b3 100644 --- a/presence/data/Repository/UserRepositoryImpl.cs +++ b/presence/data/Repository/UserRepositoryImpl.cs @@ -1,24 +1,29 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore.Infrastructure; +using presence.data.LocalData; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase; +using presence.data.RemoteData.RemoteDataBase.DAO; -namespace data.Repository +namespace presence.data.Repository { public class SQLUserRepositoryImpl : IUserRepository { private readonly RemoteDatabaseContext _remoteDatabaseContext; + + // Конструктор для инициализации контекста базы данных public SQLUserRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) { _remoteDatabaseContext = remoteDatabaseContext; } - public List GetAllUser() + public List GetAllUser() //Метод для получения списка всех пользователей { + // Запрашиваем всех пользователей и преобразуем их в список UserDao return _remoteDatabaseContext.Users.Select(u => new UserDao { FIO = u.FIO, @@ -27,50 +32,68 @@ namespace data.Repository }).ToList(); } - - public bool RemoveUserById(int userId) - { - var userLocal = _remoteDatabaseContext.Users - .Where(x => x.UserId == userId).FirstOrDefault(); - if (userLocal == null) return false; - - _remoteDatabaseContext.Users.Remove(userLocal); - _remoteDatabaseContext.SaveChanges(); - return true; - } - - public UserDao GetUserById(int userId) + public UserDao GetUserById(int userId) //Метод для получения пользователя по его Id { + // Находим пользователя по ID var userLocal = _remoteDatabaseContext.Users .Where(x => x.UserId == userId).FirstOrDefault(); + + // Если пользователь не найден, возвращаем null if (userLocal == null) return null; return userLocal; } - public bool UpdateUser(UserDao userUpdate) + public bool UpdateUser(UserDao userUpdate) //Метод для обновления пользователя { + // Находим пользователя по ID для обновления var userLocal = _remoteDatabaseContext.Users .Where(x => x.UserId == userUpdate.UserId).FirstOrDefault(); + + // Если пользователь не найден, возвращаем false if (userLocal == null) return false; + + // Обновляем информацию о пользователе userLocal.FIO = userUpdate.FIO; userLocal.GroupId = userUpdate.GroupId; - _remoteDatabaseContext.SaveChanges(); - return true; + // Сохраняем изменения + _remoteDatabaseContext.SaveChanges(); + return true; } - public bool UpdateUserById(int userId, string fio, int groupId) + public bool UpdateUserById(int userId, string fio, int groupId) //Метод для обновления пользователя по его Id { + // Находим пользователя по ID var userLocal = _remoteDatabaseContext.Users .Where(x => x.UserId == userId).FirstOrDefault(); + + // Если пользователь не найден, возвращаем false if (userLocal == null) return false; + // Обновляем информацию о пользователе userLocal.FIO = fio; userLocal.GroupId = groupId; - _remoteDatabaseContext.SaveChanges(); + // Сохраняем изменения + _remoteDatabaseContext.SaveChanges(); + return true; + } + + public bool RemoveUserById(int userId) //Метод для удаления пользователя по его Id + { + // Находим пользователя по ID + var userLocal = _remoteDatabaseContext.Users + .Where(x => x.UserId == userId).FirstOrDefault(); + + // Если пользователь не найден, возвращаем false + if (userLocal == null) return false; + + // Удаляем пользователя из контекста и сохраняем изменения + _remoteDatabaseContext.Users.Remove(userLocal); + _remoteDatabaseContext.SaveChanges(); return true; } + } -} +} \ No newline at end of file diff --git a/presence/data/bin/Debug/net8.0/data.dll b/presence/data/bin/Debug/net8.0/data.dll index 34eaf5e..6496a07 100644 Binary files a/presence/data/bin/Debug/net8.0/data.dll and b/presence/data/bin/Debug/net8.0/data.dll differ diff --git a/presence/data/bin/Debug/net8.0/data.pdb b/presence/data/bin/Debug/net8.0/data.pdb index fbcd706..fdf6791 100644 Binary files a/presence/data/bin/Debug/net8.0/data.pdb and b/presence/data/bin/Debug/net8.0/data.pdb differ diff --git a/presence/data/bin/Debug/net9.0/data.deps.json b/presence/data/bin/Debug/net9.0/data.deps.json deleted file mode 100644 index cdd047e..0000000 --- a/presence/data/bin/Debug/net9.0/data.deps.json +++ /dev/null @@ -1,811 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v9.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v9.0": { - "data/1.0.0": { - "dependencies": { - "Microsoft.EntityFrameworkCore": "8.0.10", - "Microsoft.EntityFrameworkCore.Design": "8.0.10", - "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" - }, - "runtime": { - "data.dll": {} - } - }, - "Humanizer.Core/2.14.1": { - "runtime": { - "lib/net6.0/Humanizer.dll": { - "assemblyVersion": "2.14.0.0", - "fileVersion": "2.14.1.48190" - } - } - }, - "Microsoft.Bcl.AsyncInterfaces/6.0.0": { - "runtime": { - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "Microsoft.CodeAnalysis.Analyzers/3.3.3": {}, - "Microsoft.CodeAnalysis.Common/4.5.0": { - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "3.3.3", - "System.Collections.Immutable": "6.0.0", - "System.Reflection.Metadata": "6.0.1", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encoding.CodePages": "6.0.0" - }, - "runtime": { - "lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll": { - "assemblyVersion": "4.5.0.0", - "fileVersion": "4.500.23.10905" - } - }, - "resources": { - "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.resources.dll": { - "locale": "cs" - }, - "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.resources.dll": { - "locale": "de" - }, - "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.resources.dll": { - "locale": "es" - }, - "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.resources.dll": { - "locale": "fr" - }, - "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.resources.dll": { - "locale": "it" - }, - "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.resources.dll": { - "locale": "ja" - }, - "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.resources.dll": { - "locale": "ko" - }, - "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.resources.dll": { - "locale": "pl" - }, - "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.resources.dll": { - "locale": "pt-BR" - }, - "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.resources.dll": { - "locale": "ru" - }, - "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.resources.dll": { - "locale": "tr" - }, - "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.resources.dll": { - "locale": "zh-Hans" - }, - "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.resources.dll": { - "locale": "zh-Hant" - } - } - }, - "Microsoft.CodeAnalysis.CSharp/4.5.0": { - "dependencies": { - "Microsoft.CodeAnalysis.Common": "4.5.0" - }, - "runtime": { - "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll": { - "assemblyVersion": "4.5.0.0", - "fileVersion": "4.500.23.10905" - } - }, - "resources": { - "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "cs" - }, - "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "de" - }, - "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "es" - }, - "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "fr" - }, - "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "it" - }, - "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "ja" - }, - "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "ko" - }, - "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "pl" - }, - "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "pt-BR" - }, - "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "ru" - }, - "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "tr" - }, - "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "zh-Hans" - }, - "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "zh-Hant" - } - } - }, - "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { - "dependencies": { - "Humanizer.Core": "2.14.1", - "Microsoft.CodeAnalysis.CSharp": "4.5.0", - "Microsoft.CodeAnalysis.Common": "4.5.0", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.5.0" - }, - "runtime": { - "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.dll": { - "assemblyVersion": "4.5.0.0", - "fileVersion": "4.500.23.10905" - } - }, - "resources": { - "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "cs" - }, - "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "de" - }, - "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "es" - }, - "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "fr" - }, - "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "it" - }, - "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "ja" - }, - "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "ko" - }, - "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "pl" - }, - "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "pt-BR" - }, - "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "ru" - }, - "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "tr" - }, - "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "zh-Hans" - }, - "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { - "locale": "zh-Hant" - } - } - }, - "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { - "dependencies": { - "Humanizer.Core": "2.14.1", - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "Microsoft.CodeAnalysis.Common": "4.5.0", - "System.Composition": "6.0.0", - "System.IO.Pipelines": "6.0.3", - "System.Threading.Channels": "6.0.0" - }, - "runtime": { - "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.dll": { - "assemblyVersion": "4.5.0.0", - "fileVersion": "4.500.23.10905" - } - }, - "resources": { - "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "cs" - }, - "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "de" - }, - "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "es" - }, - "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "fr" - }, - "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "it" - }, - "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "ja" - }, - "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "ko" - }, - "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "pl" - }, - "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "pt-BR" - }, - "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "ru" - }, - "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "tr" - }, - "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "zh-Hans" - }, - "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll": { - "locale": "zh-Hant" - } - } - }, - "Microsoft.EntityFrameworkCore/8.0.10": { - "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", - "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", - "Microsoft.Extensions.Caching.Memory": "8.0.1", - "Microsoft.Extensions.Logging": "8.0.1" - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { - "assemblyVersion": "8.0.10.0", - "fileVersion": "8.0.1024.46708" - } - } - }, - "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { - "assemblyVersion": "8.0.10.0", - "fileVersion": "8.0.1024.46708" - } - } - }, - "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, - "Microsoft.EntityFrameworkCore.Design/8.0.10": { - "dependencies": { - "Humanizer.Core": "2.14.1", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", - "Microsoft.EntityFrameworkCore.Relational": "8.0.10", - "Microsoft.Extensions.DependencyModel": "8.0.2", - "Mono.TextTemplating": "2.2.1" - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Design.dll": { - "assemblyVersion": "8.0.10.0", - "fileVersion": "8.0.1024.46708" - } - } - }, - "Microsoft.EntityFrameworkCore.Relational/8.0.10": { - "dependencies": { - "Microsoft.EntityFrameworkCore": "8.0.10", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { - "assemblyVersion": "8.0.10.0", - "fileVersion": "8.0.1024.46708" - } - } - }, - "Microsoft.Extensions.Caching.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Caching.Memory/8.0.1": { - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", - "Microsoft.Extensions.Logging.Abstractions": "8.0.2", - "Microsoft.Extensions.Options": "8.0.2", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.DependencyInjection/8.0.1": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.DependencyModel/8.0.2": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { - "assemblyVersion": "8.0.0.2", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.Logging/8.0.1": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.1", - "Microsoft.Extensions.Logging.Abstractions": "8.0.2", - "Microsoft.Extensions.Options": "8.0.2" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.Logging.Abstractions/8.0.2": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.Options/8.0.2": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Options.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.224.6711" - } - } - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Mono.TextTemplating/2.2.1": { - "dependencies": { - "System.CodeDom": "4.4.0" - }, - "runtime": { - "lib/netstandard2.0/Mono.TextTemplating.dll": { - "assemblyVersion": "2.2.0.0", - "fileVersion": "2.2.1.1" - } - } - }, - "Npgsql/8.0.5": { - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "8.0.2" - }, - "runtime": { - "lib/net8.0/Npgsql.dll": { - "assemblyVersion": "8.0.5.0", - "fileVersion": "8.0.5.0" - } - } - }, - "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { - "dependencies": { - "Microsoft.EntityFrameworkCore": "8.0.10", - "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", - "Microsoft.EntityFrameworkCore.Relational": "8.0.10", - "Npgsql": "8.0.5" - }, - "runtime": { - "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { - "assemblyVersion": "8.0.10.0", - "fileVersion": "8.0.10.0" - } - } - }, - "System.CodeDom/4.4.0": { - "runtime": { - "lib/netstandard2.0/System.CodeDom.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "4.6.25519.3" - } - } - }, - "System.Collections.Immutable/6.0.0": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Composition/6.0.0": { - "dependencies": { - "System.Composition.AttributedModel": "6.0.0", - "System.Composition.Convention": "6.0.0", - "System.Composition.Hosting": "6.0.0", - "System.Composition.Runtime": "6.0.0", - "System.Composition.TypedParts": "6.0.0" - } - }, - "System.Composition.AttributedModel/6.0.0": { - "runtime": { - "lib/net6.0/System.Composition.AttributedModel.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "System.Composition.Convention/6.0.0": { - "dependencies": { - "System.Composition.AttributedModel": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Composition.Convention.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "System.Composition.Hosting/6.0.0": { - "dependencies": { - "System.Composition.Runtime": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Composition.Hosting.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "System.Composition.Runtime/6.0.0": { - "runtime": { - "lib/net6.0/System.Composition.Runtime.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "System.Composition.TypedParts/6.0.0": { - "dependencies": { - "System.Composition.AttributedModel": "6.0.0", - "System.Composition.Hosting": "6.0.0", - "System.Composition.Runtime": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Composition.TypedParts.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "System.IO.Pipelines/6.0.3": {}, - "System.Reflection.Metadata/6.0.1": { - "dependencies": { - "System.Collections.Immutable": "6.0.0" - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, - "System.Text.Encoding.CodePages/6.0.0": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Threading.Channels/6.0.0": {} - } - }, - "libraries": { - "data/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Humanizer.Core/2.14.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", - "path": "humanizer.core/2.14.1", - "hashPath": "humanizer.core.2.14.1.nupkg.sha512" - }, - "Microsoft.Bcl.AsyncInterfaces/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "path": "microsoft.bcl.asyncinterfaces/6.0.0", - "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.Analyzers/3.3.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==", - "path": "microsoft.codeanalysis.analyzers/3.3.3", - "hashPath": "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.Common/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==", - "path": "microsoft.codeanalysis.common/4.5.0", - "hashPath": "microsoft.codeanalysis.common.4.5.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.CSharp/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==", - "path": "microsoft.codeanalysis.csharp/4.5.0", - "hashPath": "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==", - "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0", - "hashPath": "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==", - "path": "microsoft.codeanalysis.workspaces.common/4.5.0", - "hashPath": "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512" - }, - "Microsoft.EntityFrameworkCore/8.0.10": { - "type": "package", - "serviceable": true, - "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", - "path": "microsoft.entityframeworkcore/8.0.10", - "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" - }, - "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { - "type": "package", - "serviceable": true, - "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", - "path": "microsoft.entityframeworkcore.abstractions/8.0.10", - "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" - }, - "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { - "type": "package", - "serviceable": true, - "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", - "path": "microsoft.entityframeworkcore.analyzers/8.0.10", - "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" - }, - "Microsoft.EntityFrameworkCore.Design/8.0.10": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uGNjfKvAsql2KHRqxlK5wHo8mMC60G/FecrFKEjJgeIxtUAbSXGOgKGw/gD9flO5Fzzt1C7uxfIcr6ZsMmFkeg==", - "path": "microsoft.entityframeworkcore.design/8.0.10", - "hashPath": "microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512" - }, - "Microsoft.EntityFrameworkCore.Relational/8.0.10": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", - "path": "microsoft.entityframeworkcore.relational/8.0.10", - "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" - }, - "Microsoft.Extensions.Caching.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", - "path": "microsoft.extensions.caching.abstractions/8.0.0", - "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Caching.Memory/8.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", - "path": "microsoft.extensions.caching.memory/8.0.1", - "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", - "path": "microsoft.extensions.configuration.abstractions/8.0.0", - "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection/8.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", - "path": "microsoft.extensions.dependencyinjection/8.0.1", - "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", - "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", - "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyModel/8.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==", - "path": "microsoft.extensions.dependencymodel/8.0.2", - "hashPath": "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512" - }, - "Microsoft.Extensions.Logging/8.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", - "path": "microsoft.extensions.logging/8.0.1", - "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Abstractions/8.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", - "path": "microsoft.extensions.logging.abstractions/8.0.2", - "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" - }, - "Microsoft.Extensions.Options/8.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", - "path": "microsoft.extensions.options/8.0.2", - "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", - "path": "microsoft.extensions.primitives/8.0.0", - "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" - }, - "Mono.TextTemplating/2.2.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", - "path": "mono.texttemplating/2.2.1", - "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512" - }, - "Npgsql/8.0.5": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", - "path": "npgsql/8.0.5", - "hashPath": "npgsql.8.0.5.nupkg.sha512" - }, - "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { - "type": "package", - "serviceable": true, - "sha512": "sha512-gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", - "path": "npgsql.entityframeworkcore.postgresql/8.0.10", - "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" - }, - "System.CodeDom/4.4.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", - "path": "system.codedom/4.4.0", - "hashPath": "system.codedom.4.4.0.nupkg.sha512" - }, - "System.Collections.Immutable/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", - "path": "system.collections.immutable/6.0.0", - "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" - }, - "System.Composition/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", - "path": "system.composition/6.0.0", - "hashPath": "system.composition.6.0.0.nupkg.sha512" - }, - "System.Composition.AttributedModel/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==", - "path": "system.composition.attributedmodel/6.0.0", - "hashPath": "system.composition.attributedmodel.6.0.0.nupkg.sha512" - }, - "System.Composition.Convention/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==", - "path": "system.composition.convention/6.0.0", - "hashPath": "system.composition.convention.6.0.0.nupkg.sha512" - }, - "System.Composition.Hosting/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==", - "path": "system.composition.hosting/6.0.0", - "hashPath": "system.composition.hosting.6.0.0.nupkg.sha512" - }, - "System.Composition.Runtime/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==", - "path": "system.composition.runtime/6.0.0", - "hashPath": "system.composition.runtime.6.0.0.nupkg.sha512" - }, - "System.Composition.TypedParts/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==", - "path": "system.composition.typedparts/6.0.0", - "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512" - }, - "System.IO.Pipelines/6.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", - "path": "system.io.pipelines/6.0.3", - "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512" - }, - "System.Reflection.Metadata/6.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==", - "path": "system.reflection.metadata/6.0.1", - "hashPath": "system.reflection.metadata.6.0.1.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" - }, - "System.Text.Encoding.CodePages/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", - "path": "system.text.encoding.codepages/6.0.0", - "hashPath": "system.text.encoding.codepages.6.0.0.nupkg.sha512" - }, - "System.Threading.Channels/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==", - "path": "system.threading.channels/6.0.0", - "hashPath": "system.threading.channels.6.0.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/presence/data/bin/Debug/net9.0/data.dll b/presence/data/bin/Debug/net9.0/data.dll deleted file mode 100644 index 15c3860..0000000 Binary files a/presence/data/bin/Debug/net9.0/data.dll and /dev/null differ diff --git a/presence/data/bin/Debug/net9.0/data.pdb b/presence/data/bin/Debug/net9.0/data.pdb deleted file mode 100644 index 17de836..0000000 Binary files a/presence/data/bin/Debug/net9.0/data.pdb and /dev/null differ diff --git a/presence/data/obj/Debug/net8.0/data.AssemblyInfo.cs b/presence/data/obj/Debug/net8.0/data.AssemblyInfo.cs index 3254a3e..ce03475 100644 --- a/presence/data/obj/Debug/net8.0/data.AssemblyInfo.cs +++ b/presence/data/obj/Debug/net8.0/data.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("data")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a55a118f4f90ec351b8e7060cdde62bebbb8d3e4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a4cadaa09fb0d2c5ec082f80517b9033fa58f0e")] [assembly: System.Reflection.AssemblyProductAttribute("data")] [assembly: System.Reflection.AssemblyTitleAttribute("data")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/presence/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache b/presence/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache index bcdcad1..4fa8636 100644 --- a/presence/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache +++ b/presence/data/obj/Debug/net8.0/data.AssemblyInfoInputs.cache @@ -1 +1 @@ -3f9065aa2fe61992f8380c86968205b96681d76f6a7c6748edd5be2e88e409f4 +dd74c12302a3dded8ff05ad5cd20fbe8a9ef6ddbda500a8580d777de58716749 diff --git a/presence/data/obj/Debug/net8.0/data.csproj.CoreCompileInputs.cache b/presence/data/obj/Debug/net8.0/data.csproj.CoreCompileInputs.cache index 6646a83..cc9d977 100644 --- a/presence/data/obj/Debug/net8.0/data.csproj.CoreCompileInputs.cache +++ b/presence/data/obj/Debug/net8.0/data.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -0d76d734030a7c3a2021ac03b9019279b9dd67fc9499d835792f8cb69ddcfc7f +07b165ea468902dd8a4c7404e1bfe23706d7409e7425c11ab511ba53e2fc7cb4 diff --git a/presence/data/obj/Debug/net8.0/data.dll b/presence/data/obj/Debug/net8.0/data.dll index 34eaf5e..6496a07 100644 Binary files a/presence/data/obj/Debug/net8.0/data.dll and b/presence/data/obj/Debug/net8.0/data.dll differ diff --git a/presence/data/obj/Debug/net8.0/data.pdb b/presence/data/obj/Debug/net8.0/data.pdb index fbcd706..fdf6791 100644 Binary files a/presence/data/obj/Debug/net8.0/data.pdb and b/presence/data/obj/Debug/net8.0/data.pdb differ diff --git a/presence/data/obj/Debug/net8.0/ref/data.dll b/presence/data/obj/Debug/net8.0/ref/data.dll index 4c8373c..3c4b3a8 100644 Binary files a/presence/data/obj/Debug/net8.0/ref/data.dll and b/presence/data/obj/Debug/net8.0/ref/data.dll differ diff --git a/presence/data/obj/Debug/net8.0/refint/data.dll b/presence/data/obj/Debug/net8.0/refint/data.dll index 4c8373c..3c4b3a8 100644 Binary files a/presence/data/obj/Debug/net8.0/refint/data.dll and b/presence/data/obj/Debug/net8.0/refint/data.dll differ diff --git a/presence/domain/Models/Group.cs b/presence/domain/Models/Group.cs index 37b3400..f38f113 100644 --- a/presence/domain/Models/Group.cs +++ b/presence/domain/Models/Group.cs @@ -4,13 +4,11 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.domain.Models +namespace presence.domain.Models { public class Group { public required int Id { get; set; } public required string Name { get; set; } - public List Users { get; set; } = new List(); - } -} +} \ No newline at end of file diff --git a/presence/domain/Models/Presence.cs b/presence/domain/Models/Presence.cs index 5561dfe..7779274 100644 --- a/presence/domain/Models/Presence.cs +++ b/presence/domain/Models/Presence.cs @@ -4,16 +4,13 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.domain.Models +namespace presence.domain.Models { public class Presence { - + public required DateOnly Date { get; set; } + public int ClassNumber { get; set; } + public bool IsAttendence { get; set; } public required User User { get; set; } - public required int GroupId { get; set; } - public bool IsAttedance { get; set; } = true; - public required DateTime Date { get; set; } - - public required int LessonNumber { get; set; } } -} +} \ No newline at end of file diff --git a/presence/domain/Models/ResponseModels/GroupResponse.cs b/presence/domain/Models/ResponseModels/GroupResponse.cs index d0605e5..9f64d06 100644 --- a/presence/domain/Models/ResponseModels/GroupResponse.cs +++ b/presence/domain/Models/ResponseModels/GroupResponse.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; namespace domain.Models.ResponseModels diff --git a/presence/domain/Models/User.cs b/presence/domain/Models/User.cs index 8a7b92d..da7e75e 100644 --- a/presence/domain/Models/User.cs +++ b/presence/domain/Models/User.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Demo.domain.Models +namespace presence.domain.Models { public class User { @@ -12,4 +12,4 @@ namespace Demo.domain.Models public int Id { get; set; } public required Group GroupId { get; set; } } -} +} \ No newline at end of file diff --git a/presence/domain/Service/GroupService.cs b/presence/domain/Service/GroupService.cs index 502667e..dfe8c8e 100644 --- a/presence/domain/Service/GroupService.cs +++ b/presence/domain/Service/GroupService.cs @@ -1,10 +1,10 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.Repository; -using Demo.Domain.UseCase; -using domain.Entity; +using data.Repository; using domain.Models.ResponseModels; using domain.Request; using domain.UseCase; +using presence.data.RemoteData.RemoteDataBase.DAO; +using presence.data.Repository; +using presence.domain.Models; using System; using System.Collections.Generic; using System.Linq; @@ -16,37 +16,68 @@ namespace domain.Service public class GroupService : IGroupUseCase { private readonly IGroupRepository _groupRepository; + + // Конструктор, инициализирующий репозиторий групп public GroupService(IGroupRepository groupRepository) { _groupRepository = groupRepository; } - public void AddGroup(AddGroupRequest addGroupRequest) + + public void AddGroup(AddGroupRequest addGroupRequest) //Метод для добавления новой группы { + // Создаем новый объект GroupDao и добавляем его через репозиторий _groupRepository.AddGroup(new GroupDao { Name = addGroupRequest.Name }); } - - - public void AddGroupWithStudents(AddGroupWithStudentsRequest addGroupWithStudents) + public void AddGroupWithStudents(AddGroupWithStudentsRequest addGroupWithStudents) //Метод для добавления группы вместе со студентами { + // Создаем объект GroupDao для группы GroupDao groupDAO = new GroupDao { Name = addGroupWithStudents.addGroupRequest.Name }; + + // Преобразуем список студентов в список объектов UserDao List users = addGroupWithStudents .AddStudentRequests .Select(it => new UserDao { FIO = it.StudentName }) .ToList(); + + // Добавляем группу и студентов через репозиторий _groupRepository.AddStudents(groupDAO, users); } - public async Task> GetGroupsWithStudentsAsync() + public IEnumerable GetGroupsWithStudents() //Метод для получения групп с их студентами синхронно { + // Получаем все группы из репозитория + return _groupRepository.GetAllGroup().Select( + group => new GroupResponse + { + Id = group.Id, + Name = group.Name, + User = group.User != null ? group.User.Select( + user => new UserResponse + { + Id = user.UserId, + FIO = user.FIO, + Group = new GroupResponse + { + Id = group.Id, + Name = group.Name, + } + }).ToList() : new List() // Возвращаем пустой список, если нет студентов + }).ToList(); + } + + public async Task> GetGroupsWithStudentsAsync() // Асинхронный метод для получения групп с их студентами + { + // Запрашиваем все группы асинхронно из репозитория var result = await _groupRepository.getAllGroupAsync(); + // Преобразуем результаты в список GroupResponse с необходимыми данными return result.Select( group => new GroupResponse { Id = group.Id, Name = group.Name, - User = group.Users.Select( + User = group.User.Select( user => new UserResponse { Id = user.UserId, @@ -60,25 +91,5 @@ namespace domain.Service }).ToList(); } - public IEnumerable GetGroupsWithStudents() - { - return _groupRepository.GetAllGroup().Select( - group => new GroupResponse - { - Id = group.Id, - Name = group.Name, - User = group.Users != null ? group.Users.Select( - user => new UserResponse - { - Id = user.UserId, - FIO = user.FIO, - Group = new GroupResponse - { - Id = group.Id, - Name = group.Name, - } - }).ToList() : new List() - }).ToList(); - } } -} +} \ No newline at end of file diff --git a/presence/domain/UseCase/AdminUseCase.cs b/presence/domain/UseCase/AdminUseCase.cs index 78ad417..36ef3e9 100644 --- a/presence/domain/UseCase/AdminUseCase.cs +++ b/presence/domain/UseCase/AdminUseCase.cs @@ -1,12 +1,13 @@ -using data.Repository; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.Repository; -using domain.Models.ResponseModels; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; +using System.Security.Cryptography.X509Certificates; using System.Threading.Tasks; +using data.Repository; +using domain.Models.ResponseModels; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase.DAO; +using presence.data.Repository; namespace domain.UseCase { @@ -15,48 +16,73 @@ namespace domain.UseCase private readonly IAdminRepository _adminRepository; private readonly IGroupRepository _groupRepository; - + // Конструктор, инициализирующий оба репозитория public AdminUseCase(IAdminRepository adminRepository, IGroupRepository groupRepository) { _adminRepository = adminRepository; _groupRepository = groupRepository; } + // Метод для получения всех групп с их студентами public IEnumerable GetAllGroupsWithStudents() => _adminRepository.GetAllGroupsWithStudents().Select(it => new GroupResponse { Name = it.Name, Id = it.Id, - User = it.Users.Where(u => u.GroupId == it.Id) + // Фильтруем пользователей по идентификатору группы и создаем список UserResponse + User = it.User.Where(u => u.GroupId == it.Id) .Select(u => new UserResponse { Id = u.UserId, FIO = u.FIO }) .ToList() }) .ToList(); - public UserResponse GetStudentInfo(int userId) + public bool AddStudents(string GroupName, List Students) //Метод для добавления студента в существующую группу { + // Создаем объект GroupDao для группы + GroupDao groupDao = new GroupDao { Name = GroupName }; + List users = new List(); + // Проходим по списку студентов и создаем объекты UserDao + foreach (string student in Students) + { + var user = new UserDao + { + FIO = student, + Group = groupDao // Привязываем студента к группе + }; + users.Add(user); + } + + // Добавляем студентов в репозиторий и возвращаем результат операции + return _adminRepository.AddStudents(groupDao, users); + } + + public UserResponse GetStudentInfo(int userId) //Метод для получения информации о студенте по его Id + { + // Запрашиваем информацию о студенте из репозитория var studentInfo = _adminRepository.GetStudentInfo(userId); + + // Если информация не найдена, возвращаем null if (studentInfo == null) return null; + // Создаем объект UserResponse с данными студента UserResponse user = new UserResponse { Id = userId, - FIO = _adminRepository.GetStudentInfo(userId).FIO, - GroupId = _adminRepository.GetStudentInfo(userId).GroupId + FIO = studentInfo.FIO, + GroupId = studentInfo.GroupId }; return user; } - public bool AddStudents(string GroupName, List Students) - { - GroupDao groupDao = new GroupDao { Name = GroupName }; - return _adminRepository.AddStudents(groupDao, Students); - } + // Метод для удаления группы по идентификатору + public bool DeleteGroup(int groupId) => + _groupRepository.RemoveGroupById(groupId); - public bool DeleteGroup(int groupId) => _groupRepository.RemoveGroupById(groupId); - - public bool DeleteUserFromGroup(int userId, int groupId) => _adminRepository.RemoveUserById(userId, groupId); + // Метод для удаления пользователя из группы по их идентификаторам + public bool DeleteUserFromGroup(int userId, int groupId) => + _adminRepository.RemoveUserById(userId, groupId); } + } diff --git a/presence/domain/UseCase/GroupUseCase.cs b/presence/domain/UseCase/GroupUseCase.cs index 97ab796..817e1ba 100644 --- a/presence/domain/UseCase/GroupUseCase.cs +++ b/presence/domain/UseCase/GroupUseCase.cs @@ -1,11 +1,15 @@ -using Demo.Data.Exceptions; -using Demo.Data.LocalData; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.Repository; -using Demo.domain.Models; -using domain.Models.ResponseModels; +using domain.Models.ResponseModels; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase.DAO; +using presence.data.Repository; +using presence.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; -namespace Demo.Domain.UseCase +namespace presence.domain.UseCase { public class GroupUseCase { @@ -16,14 +20,15 @@ namespace Demo.Domain.UseCase _repositoryGroupImpl = repositoryGroupImpl; } - public List GetAllGroups() => _repositoryGroupImpl.GetAllGroup() + public List GetAllGroups() => _repositoryGroupImpl.GetAllGroup() // Метод для получения списка всех групп .Select(it => new GroupResponse { Id = it.Id, Name = it.Name }).ToList(); - public bool UpdateGroupName(String id, String name1) + public bool UpdateGroupName(String id, String name1) //Метод для обновления названия группы { return _repositoryGroupImpl.UpdateGroupById(int.Parse(id), name1); } - public bool AddGroup(String name, int id) + + public bool AddGroup(String name, int id) //Метод для добавления новой группы { return _repositoryGroupImpl.AddGroup(new GroupDao { Name = name, Id = id }); } diff --git a/presence/domain/UseCase/IAdminUseCase.cs b/presence/domain/UseCase/IAdminUseCase.cs index d909ad7..4f61628 100644 --- a/presence/domain/UseCase/IAdminUseCase.cs +++ b/presence/domain/UseCase/IAdminUseCase.cs @@ -1,9 +1,8 @@ -using domain.Models.ResponseModels; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using domain.Models.ResponseModels; namespace domain.UseCase { @@ -15,4 +14,4 @@ namespace domain.UseCase bool DeleteGroup(int groupId); bool DeleteUserFromGroup(int userId, int groupId); } -} +} \ No newline at end of file diff --git a/presence/domain/UseCase/IGroupUseCase.cs b/presence/domain/UseCase/IGroupUseCase.cs index f19b03c..24998cc 100644 --- a/presence/domain/UseCase/IGroupUseCase.cs +++ b/presence/domain/UseCase/IGroupUseCase.cs @@ -1,11 +1,10 @@ -using domain.Entity; -using domain.Models.ResponseModels; -using domain.Request; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using domain.Models.ResponseModels; +using domain.Request; +using presence.domain.Models; namespace domain.UseCase { diff --git a/presence/domain/UseCase/IPresenceUseCase.cs b/presence/domain/UseCase/IPresenceUseCase.cs index 07330fe..f349ee1 100644 --- a/presence/domain/UseCase/IPresenceUseCase.cs +++ b/presence/domain/UseCase/IPresenceUseCase.cs @@ -1,10 +1,9 @@ -using Demo.domain.Models; -using domain.Models.ResponseModels; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using domain.Models.ResponseModels; +using presence.domain.Models; namespace domain.UseCase { @@ -21,5 +20,6 @@ namespace domain.UseCase bool DeletePresenceByGroup(int groupId); bool DeletePresenceByUser(int UserId); bool DeletePresenceByDate(DateOnly startData, DateOnly endData); + } -} +} \ No newline at end of file diff --git a/presence/domain/UseCase/IUserUseCase.cs b/presence/domain/UseCase/IUserUseCase.cs index 6f4cd0a..eec8cf7 100644 --- a/presence/domain/UseCase/IUserUseCase.cs +++ b/presence/domain/UseCase/IUserUseCase.cs @@ -1,14 +1,16 @@ -using domain.Models.ResponseModels; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; +using domain.Models.ResponseModels; +using presence.domain.Models; namespace domain.UseCase { public interface IUserUseCase { public IEnumerable GetStudents(); + + } -} +} \ No newline at end of file diff --git a/presence/domain/UseCase/PresenceUseCase.cs b/presence/domain/UseCase/PresenceUseCase.cs index 814e4f6..01d9a01 100644 --- a/presence/domain/UseCase/PresenceUseCase.cs +++ b/presence/domain/UseCase/PresenceUseCase.cs @@ -1,15 +1,15 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.Repository; -using Demo.domain.Models; -using domain.Models.ResponseModels; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Text.RegularExpressions; +using System.Runtime.CompilerServices; +using System.Security.Cryptography.X509Certificates; using System.Threading.Tasks; +using domain.Models.ResponseModels; +using presence.data.RemoteData.RemoteDataBase.DAO; +using presence.data.Repository; +using presence.domain.Models; -namespace domain.UseCase +namespace presence.domain.UseCase { public class PresenceUseCase { @@ -26,7 +26,7 @@ namespace domain.UseCase _groupRepository = groupRepositoryImpl; } - public List GetPresence(int GroupId, DateOnly startData, DateOnly endData, int UserId) + public List GetPresence(int GroupId, DateOnly startData, DateOnly endData, int UserId) // Метод для получения присутствия пользователей в группе за определенный период времени { var users = _userRepository.GetAllUser().Where(x => x.GroupId == GroupId).ToList(); @@ -47,7 +47,7 @@ namespace domain.UseCase return presence; } - public List GetPresenceByGroup(int groupId) + public List GetPresenceByGroup(int groupId) // Метод для получения присутствия по группе { var users = _userRepository.GetAllUser().Where(x => x.GroupId == groupId).ToList(); @@ -68,13 +68,13 @@ namespace domain.UseCase return presenceByGroup; } - public List GetPresenceByGroupAndDate(int groupId, DateOnly date) + public List GetPresenceByGroupAndDate(int groupId, DateOnly date) // Метод для получения присутствия по группе и дате { var users = _userRepository.GetAllUser().Where(x => x.GroupId == groupId).ToList(); var presenceByGroupAndDate = _presenceRepository.GetPresenceByGroupAndDate(groupId, date) .Where(x => users.Any(user => user.UserId == x.UserId && x.Date == date)) - .Select(presence => new PresenceDao + .Select(presence => new Presence { User = new User { @@ -89,12 +89,12 @@ namespace domain.UseCase return presenceByGroupAndDate; } - public bool UncheckAttendence(int firstClass, int lastClass, DateOnly date, int userId) + public bool UncheckAttendence(int firstClass, int lastClass, DateOnly date, int userId) // Метод для отмены отметки о посещении { return _presenceRepository.UncheckAttendence(firstClass, lastClass, date, userId); } - public void AddPresence(int firstClass, int lastClass, int groupId, DateOnly date) + public void AddPresence(int firstClass, int lastClass, int groupId, DateOnly date) //Метод для добавления посещения { var users = _userRepository.GetAllUser().Where(x => x.GroupId == groupId).ToList(); List presenceList = new List(); @@ -102,7 +102,7 @@ namespace domain.UseCase { foreach (var user in users) { - Presence pres = new PresenceDao + Presence pres = new Presence { ClassNumber = i, Date = date, @@ -122,7 +122,7 @@ namespace domain.UseCase } } - public List AddPresenceByDate(String startDate, String endDate, int groupId) + public List AddPresenceByDate(String startDate, String endDate, int groupId) // Метод для добавления посещаемости на заданный диапазон дат { var users = _userRepository.GetAllUser().Where(x => x.GroupId == groupId).ToList(); List presenceList = new List(); @@ -155,7 +155,7 @@ namespace domain.UseCase return presenceList; } - public Dictionary GetPresenceStatsByGroup(int groupId) + public Dictionary GetPresenceStatsByGroup(int groupId) // Метод для получения статистики посещаемости по группе { var stats = new Dictionary(); @@ -191,24 +191,20 @@ namespace domain.UseCase return stats; } - public void GenerateWeeklyPresence(int firstClass, int lastClass, int groupId, DateOnly startDate) + public void GenerateWeeklyPresence(int firstClass, int lastClass, int groupId, DateOnly startDate) // Метод для генерации посещаемости на неделю для заданной группы { - // Получаем всех студентов группы var users = _userRepository.GetAllUser().Where(x => x.GroupId == groupId).ToList(); - - // Генерируем посещаемость на 7 дней for (int day = 0; day < 7; day++) { var currentDate = startDate.AddDays(day); - // Пропускаем выходные дни (суббота и воскресенье) + // Пропускаем субботу и воскресенье if (currentDate.DayOfWeek == DayOfWeek.Saturday || currentDate.DayOfWeek == DayOfWeek.Sunday) { continue; } - // Для каждой пары в диапазоне for (int classNum = firstClass; classNum <= lastClass; classNum++) { foreach (var user in users) @@ -228,20 +224,19 @@ namespace domain.UseCase } } - public bool DeletePresenceByGroup(int groupId) + public bool DeletePresenceByGroup(int groupId) // Метод для удаления всех записей посещаемости по идентификатору группы { return _presenceRepository.DeletePresenceByGroup(groupId); } - public bool DeletePresenceByUser(int UserId) - { - return _presenceRepository.DeletePresenceByUser(UserId); - } - - public bool DeletePresenceByDate(DateOnly startData, DateOnly endData) + public bool DeletePresenceByDate(DateOnly startData, DateOnly endData) // Метод для удаления посещения по дате { return _presenceRepository.DeletePresenceByDate(startData, endData); } + + public bool DeletePresenceByUser(int UserId) // Метод для удаления посещения по юзеру + { + return _presenceRepository.DeletePresenceByUser(UserId); + } } } - diff --git a/presence/domain/UseCase/UserUseCase.cs b/presence/domain/UseCase/UserUseCase.cs index 3164298..220dee6 100644 --- a/presence/domain/UseCase/UserUseCase.cs +++ b/presence/domain/UseCase/UserUseCase.cs @@ -1,9 +1,15 @@ -using Demo.Data.Exceptions; -using Demo.Data.RemoteData.RemoteDataBase.DAO; -using Demo.Data.Repository; -using Demo.domain.Models; +using domain.Models.ResponseModels; +using presence.data.LocalData.Entity; +using presence.data.RemoteData.RemoteDataBase.DAO; +using presence.data.Repository; +using presence.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; -namespace Demo.Domain.UseCase +namespace presence.domain.UseCase { public class UserUseCase { @@ -18,7 +24,7 @@ namespace Demo.Domain.UseCase _repositoryGroupImpl = repositoryGroupImpl; } - public List GetAllUsers() => _repositoryUserImpl.GetAllUser() + public List GetAllUsers() => _repositoryUserImpl.GetAllUser() // Метод для получения списка всех пользователей с соответствующими группами .Join(_repositoryGroupImpl.GetAllGroup(), user => user.GroupId, group => group.Id, @@ -31,18 +37,7 @@ namespace Demo.Domain.UseCase } ).ToList(); - - public bool RemoveUserById(int userId) - { - return _repositoryUserImpl.RemoveUserById(userId); - } - public bool UpdateUser(User user) - { - UserDao userDao = new UserDao { FIO = user.FIO, GroupId = user.GroupId.Id }; - return _repositoryUserImpl.UpdateUser(userDao); - } - - public User GetUserById(int userId) + public User GetUserById(int userId) //Метод для получения пользователя по его Id { return new User { @@ -52,10 +47,22 @@ namespace Demo.Domain.UseCase }; } - public bool UpdateUserById(int userId, String fio, int groupId) + public bool UpdateUser(User user) //Метод для обновления пользователя + { + UserDao userDao = new UserDao { FIO = user.FIO, GroupId = user.GroupId.Id }; + return _repositoryUserImpl.UpdateUser(userDao); + } + + public bool UpdateUserById(int userId, String fio, int groupId) //Метод для обновления пользователя по его Id { UserDao userDao = new UserDao { FIO = fio, GroupId = groupId }; return _repositoryUserImpl.UpdateUser(userDao); } + + public bool RemoveUserById(int userId) //Метод для удаления пользователя по его Id + { + return _repositoryUserImpl.RemoveUserById(userId); + } + } } \ No newline at end of file diff --git a/presence/domain/bin/Debug/net8.0/data.dll b/presence/domain/bin/Debug/net8.0/data.dll index 1a83307..6496a07 100644 Binary files a/presence/domain/bin/Debug/net8.0/data.dll and b/presence/domain/bin/Debug/net8.0/data.dll differ diff --git a/presence/domain/bin/Debug/net8.0/data.pdb b/presence/domain/bin/Debug/net8.0/data.pdb index 8a858f9..fdf6791 100644 Binary files a/presence/domain/bin/Debug/net8.0/data.pdb and b/presence/domain/bin/Debug/net8.0/data.pdb differ diff --git a/presence/domain/bin/Debug/net8.0/domain.dll b/presence/domain/bin/Debug/net8.0/domain.dll index a8be6ee..b249384 100644 Binary files a/presence/domain/bin/Debug/net8.0/domain.dll and b/presence/domain/bin/Debug/net8.0/domain.dll differ diff --git a/presence/domain/bin/Debug/net8.0/domain.pdb b/presence/domain/bin/Debug/net8.0/domain.pdb index 275026e..6ead826 100644 Binary files a/presence/domain/bin/Debug/net8.0/domain.pdb and b/presence/domain/bin/Debug/net8.0/domain.pdb differ diff --git a/presence/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs b/presence/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs index c6e63ec..c44862f 100644 --- a/presence/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs +++ b/presence/domain/obj/Debug/net8.0/domain.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("domain")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a55a118f4f90ec351b8e7060cdde62bebbb8d3e4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a4cadaa09fb0d2c5ec082f80517b9033fa58f0e")] [assembly: System.Reflection.AssemblyProductAttribute("domain")] [assembly: System.Reflection.AssemblyTitleAttribute("domain")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/presence/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache b/presence/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache index 35fc993..c0b6957 100644 --- a/presence/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache +++ b/presence/domain/obj/Debug/net8.0/domain.AssemblyInfoInputs.cache @@ -1 +1 @@ -ff18b6202593869c3c02c876f3519a5bdb514becd1f6995a6a0c87081dc5fecb +08cc6324bb6c9bf35efd28416077fb25ffc47426545272b5bdcf7100e0a5e5eb diff --git a/presence/domain/obj/Debug/net8.0/domain.csproj.AssemblyReference.cache b/presence/domain/obj/Debug/net8.0/domain.csproj.AssemblyReference.cache index 8e342d9..8af10b3 100644 Binary files a/presence/domain/obj/Debug/net8.0/domain.csproj.AssemblyReference.cache and b/presence/domain/obj/Debug/net8.0/domain.csproj.AssemblyReference.cache differ diff --git a/presence/domain/obj/Debug/net8.0/domain.dll b/presence/domain/obj/Debug/net8.0/domain.dll index a8be6ee..b249384 100644 Binary files a/presence/domain/obj/Debug/net8.0/domain.dll and b/presence/domain/obj/Debug/net8.0/domain.dll differ diff --git a/presence/domain/obj/Debug/net8.0/domain.pdb b/presence/domain/obj/Debug/net8.0/domain.pdb index 275026e..6ead826 100644 Binary files a/presence/domain/obj/Debug/net8.0/domain.pdb and b/presence/domain/obj/Debug/net8.0/domain.pdb differ diff --git a/presence/domain/obj/Debug/net8.0/ref/domain.dll b/presence/domain/obj/Debug/net8.0/ref/domain.dll index 8675dfd..9dfee94 100644 Binary files a/presence/domain/obj/Debug/net8.0/ref/domain.dll and b/presence/domain/obj/Debug/net8.0/ref/domain.dll differ diff --git a/presence/domain/obj/Debug/net8.0/refint/domain.dll b/presence/domain/obj/Debug/net8.0/refint/domain.dll index 8675dfd..9dfee94 100644 Binary files a/presence/domain/obj/Debug/net8.0/refint/domain.dll and b/presence/domain/obj/Debug/net8.0/refint/domain.dll differ diff --git a/presence/presence_api/Controllers/AdminController.cs b/presence/presence_api/Controllers/AdminController.cs index 5046605..121c087 100644 --- a/presence/presence_api/Controllers/AdminController.cs +++ b/presence/presence_api/Controllers/AdminController.cs @@ -1,13 +1,18 @@ -using Demo.domain.Models; -using Demo.Domain.UseCase; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using domain.Models.ResponseModels; using domain.UseCase; using Microsoft.AspNetCore.Mvc; -using presence_api.Response; +using presence.domain.Models; +using presence.domain.UseCase; + +namespace presence_api.Controllers.UserController; -namespace presence_api.Controllers; [ApiController] [Route("api/[admin]")] -public class AdminController:ControllerBase +public class AdminController : ControllerBase { private readonly AdminUseCase _adminUseCase; @@ -16,90 +21,44 @@ public class AdminController:ControllerBase _adminUseCase = adminUseCase; } - [HttpPost("~/AddStudents")] - public ActionResult AddStudents([FromBody] AddStudentsRequest request) + [HttpPost("~/AddStudent")] //Добавление студента + public ActionResult AddStudent([FromQuery] string GroupName, [FromQuery] List students) { - if (string.IsNullOrWhiteSpace(request.GroupName) || request.Students == null || request.Students.Count == 0) - { - return BadRequest("Некорректные данные для добавления студентов."); - } - - bool result = _adminUseCase.AddStudents(request.GroupName, request.Students); - return result ? Ok("Данные группы и студентов добавлены") : StatusCode(500, "Не удалось добавить данные."); + return _adminUseCase.AddStudents(GroupName, students) ? "Студент добавлен" : "Студент не добавлен"; } - [HttpDelete("~/DeleteUserFromGroup")] - public ActionResult DeleteUserFromGroup([FromQuery] int userId, [FromQuery] int groupId) - { - if (userId <= 0 || groupId <= 0) - { - return BadRequest("Некорректные идентификаторы."); - } - - bool result = _adminUseCase.DeleteUserFromGroup(userId, groupId); - return result ? Ok("Юзер удален") : NotFound("Юзер не найден."); - } - - [HttpDelete("~/DeleteGroup")] - public ActionResult DeleteGroup([FromQuery] int groupId) - { - if (groupId <= 0) - { - return BadRequest("Некорректный идентификатор группы."); - } - - bool result = _adminUseCase.DeleteGroup(groupId); - return result ? Ok("Группа удалена") : NotFound("Группа не найдена."); - } - - [HttpDelete("~/ClearPresence")] - public ActionResult ClearPresence() - { - try - { - // Вызов метода сервиса для очистки данных о присутствии - _presenceService.ClearAllPresenceData(); - - // Возврат успешного ответа - return NoContent(); // 204 No Content - } - catch (Exception ex) - { - // Логирование ошибки (если необходимо) - // _logger.LogError(ex, "Error clearing presence data"); - - // Возврат ошибки сервера - return StatusCode(500, "Internal server error"); - } - } - - [HttpGet("~/GetAllGroupsWithStudents")] - public ActionResult> GetAllGroupsWithStudents() - { - var groups = _adminUseCase.GetAllGroupsWithStudents(); - return Ok(groups); - } - - [HttpGet("~/GetStudentInfo")] + [HttpGet("~/GetStudentInfo")] //Получение инф-ции о студенте public ActionResult GetStudentInfo([FromQuery] int userId) { if (userId <= 0) { - return BadRequest("Некорректный идентификатор пользователя."); + return BadRequest("Неправельный Id"); } var studentInfo = _adminUseCase.GetStudentInfo(userId); if (studentInfo == null) { - return NotFound("Студент не найден."); + return NotFound("Студент не найден"); } return Ok(studentInfo); } -} -public class AddStudentsRequest -{ - public string GroupName { get; set; } - public List Students { get; set; } -} + [HttpGet("~/GetAllGroupsWithStudents")] //Вывести все группы со студентами + public ActionResult> GetAllGroupsWithStudents() + { + return Ok(_adminUseCase.GetAllGroupsWithStudents()); + } + + [HttpDelete("~/DeleteUserId")] //Удалить Id пользователя + public ActionResult DeleteUserId([FromQuery] int userId, [FromQuery] int groupId) + { + return _adminUseCase.DeleteUserFromGroup(userId, groupId) ? "Пользователь удален" : "Пользователь не удален"; + } + + [HttpDelete("~/DeleteGroupId")] //Удалить Id группы + public ActionResult DeleteGroupId([FromQuery] int groupId) + { + return _adminUseCase.DeleteGroup(groupId) ? "Группа удалена" : "Группа не удалена"; + } +} \ No newline at end of file diff --git a/presence/presence_api/Controllers/GroupController.cs b/presence/presence_api/Controllers/GroupController.cs index 4372349..c2ea5a4 100644 --- a/presence/presence_api/Controllers/GroupController.cs +++ b/presence/presence_api/Controllers/GroupController.cs @@ -1,10 +1,16 @@ -using Demo.domain.Models; -using Demo.Domain.UseCase; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using presence.domain.Models; +using presence.domain.UseCase; + + +namespace presence.presence_api.Controllers; -namespace presence_api.Controllers; [ApiController] -[Route("api/[controller]")] +[Route("api/[controller]")] public class GroupController : ControllerBase { private readonly GroupUseCase _groupUseCase; @@ -12,9 +18,10 @@ public class GroupController : ControllerBase { _groupUseCase = groupUseCase; } + [HttpGet] - public ActionResult> getGroups() + public ActionResult> GetAllGroups() //Метод контроллера для получения всех групп { return Ok(_groupUseCase.GetAllGroups()); } -} +} \ No newline at end of file diff --git a/presence/presence_api/Controllers/PresenceController.cs b/presence/presence_api/Controllers/PresenceController.cs index 3648450..7065c19 100644 --- a/presence/presence_api/Controllers/PresenceController.cs +++ b/presence/presence_api/Controllers/PresenceController.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Demo.domain.Models; using domain.Models.ResponseModels; using Microsoft.AspNetCore.Mvc; using presence.domain.Models; @@ -21,74 +20,96 @@ public class PresenceController : ControllerBase _presenceUseCase = presenceUseCase; } - [HttpGet] - public ActionResult> GetPresence([FromQuery] int GroupId, - [FromQuery] string StartData, [FromQuery] string EndData, - [FromQuery] int UserId) + [HttpPost("~/IsAttendence")] //Добавление информации о посещаемости + public ActionResult UpdateAttendance([FromQuery] int FirstClass, + [FromQuery] int LastClass, [FromQuery] string Data, + [FromQuery] int UserId) { - DateOnly startData; - DateOnly endData; - bool isParsed = DateOnly.TryParse(StartData, out startData); - bool isParse = DateOnly.TryParse(EndData, out endData); + DateOnly data; + bool isParsed = DateOnly.TryParse(Data, out data); if (!isParsed) { - return BadRequest("Неверный формат даты начала."); + return BadRequest("Неверный формат"); } - if (!isParse) - { - return BadRequest("Неверный формат даты конца."); - } - return Ok(_presenceUseCase.GetPresence(GroupId, startData, endData, UserId)); + return Ok(_presenceUseCase.UncheckAttendence(FirstClass, LastClass, data, UserId)); } - [HttpPost("~/AddPresence")] + [HttpPost("~/AddPresence")] //Добавление записи о присутствии public ActionResult> PostPresence([FromQuery] int GroupId, [FromQuery] string StartData, [FromQuery] string EndData, [FromQuery] int UserId) { return Ok(_presenceUseCase.AddPresenceByDate(StartData, EndData, GroupId)); } - [HttpDelete("~/DeleteByGroup")] - public ActionResult> DeletePresenceByGroup([FromQuery] int GroupId) + [HttpGet] //Получение информации о присутствии + public ActionResult> GetPresence( + [FromQuery] int groupId, + [FromQuery] string startDataString, + [FromQuery] string endDataString, + [FromQuery] int userId) { - return Ok(_presenceUseCase.DeletePresenceByGroup(GroupId)); + // Объявление переменных для хранения преобразованных дат + DateOnly startData; + DateOnly endData; + + // Попытка преобразования строковых дат в DateOnly + bool isStartParsed = DateOnly.TryParse(startDataString, out startData); + bool isEndParsed = DateOnly.TryParse(endDataString, out endData); + + // Проверка на корректность формата даты начала + if (!isStartParsed) + { + return BadRequest("Неверный формат даты начала"); + } + + // Проверка на корректность формата даты конца + if (!isEndParsed) + { + return BadRequest("Неверный формат даты конца"); + } + + // Возвращает список присутствия + var presenceList = _presenceUseCase.GetPresence(groupId, startData, endData, userId); + return Ok(presenceList); } - [HttpDelete("~/DeleteByUser")] + [HttpDelete("~/DeleteByUser")] //Удаление записи о присутствии по пользователю public ActionResult> DeletePresenceByUser([FromQuery] int UserId) { return Ok(_presenceUseCase.DeletePresenceByUser(UserId)); } - [HttpDelete("~/DeleteByDate")] - public ActionResult> DeletePresenceByDate([FromQuery] string StartData, [FromQuery] string EndData) + [HttpDelete("~/DeleteByGroup")]//Удаление записи о присутствии по группе + public ActionResult> DeletePresenceByGroup([FromQuery] int GroupId) + { + return Ok(_presenceUseCase.DeletePresenceByGroup(GroupId)); + } + + [HttpDelete("~/DeleteByDate")] //Удаление записей о присутствии по дате + public ActionResult> DeletePresenceByDate( + [FromQuery] string StartData, + [FromQuery] string EndData) { DateOnly startData; DateOnly endData; + + // Попытка преобразования строковых дат в DateOnly bool isParsed = DateOnly.TryParse(StartData, out startData); bool isParse = DateOnly.TryParse(EndData, out endData); + + // Проверка на корректность формата даты начала if (!isParsed) { return BadRequest("Неверный формат даты начала."); } + // Проверка на корректность формата даты конца if (!isParse) { return BadRequest("Неверный формат даты конца."); } + + // Возвращает результат удаления return Ok(_presenceUseCase.DeletePresenceByDate(startData, endData)); } - [HttpPost("~/IsAttendence")] - public ActionResult UpdateAttendance([FromQuery] int FirstClass, - [FromQuery] int LastClass, [FromQuery] string Data, - [FromQuery] int UserId) - { - DateOnly data; - bool isParsed = DateOnly.TryParse(Data, out data); - if (!isParsed) - { - return BadRequest("Неверный формат даты."); - } - return Ok(_presenceUseCase.UncheckAttendence(FirstClass, LastClass, data, UserId)); - } } diff --git a/presence/presence_api/Program.cs b/presence/presence_api/Program.cs index fb3c327..c41ba0e 100644 --- a/presence/presence_api/Program.cs +++ b/presence/presence_api/Program.cs @@ -1,4 +1,5 @@ -using Demo.Data.RemoteData.RemoteDataBase; +using presence.data.RemoteData.RemoteDataBase; +using presence_api.ServiceExtensions; var builder = WebApplication.CreateBuilder(args); @@ -7,15 +8,23 @@ builder.Services.AddDbContext(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); +builder.Services.ConfigureGroup(); +builder.Services.ConfigureAdmin(); +builder.Services.ConfigurePresence(); + var app = builder.Build(); +// Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } -app.UseHttpsRedirection(); app.MapControllers(); + + app.Run(); + + diff --git a/presence/presence_api/ServiceExtencions/ServiceExtencions.cs b/presence/presence_api/ServiceExtencions/ServiceExtencions.cs index 55750ac..bb5b133 100644 --- a/presence/presence_api/ServiceExtencions/ServiceExtencions.cs +++ b/presence/presence_api/ServiceExtencions/ServiceExtencions.cs @@ -1,11 +1,13 @@ -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; -using Demo.Domain.UseCase; -using domain.Service; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using data.Repository; using domain.UseCase; -using presence_api.Controllers; +using presence.data.Repository; +using presence.domain.UseCase; -namespace presence_api.ServiceExtencions +namespace presence_api.ServiceExtensions { public static class ServiceExtensions { @@ -43,4 +45,4 @@ namespace presence_api.ServiceExtencions .AddScoped(); } } -} +} \ No newline at end of file diff --git a/presence/presence_api/bin/Debug/net8.0/data.dll b/presence/presence_api/bin/Debug/net8.0/data.dll index 1a83307..6496a07 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/data.dll and b/presence/presence_api/bin/Debug/net8.0/data.dll differ diff --git a/presence/presence_api/bin/Debug/net8.0/data.pdb b/presence/presence_api/bin/Debug/net8.0/data.pdb index 8a858f9..fdf6791 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/data.pdb and b/presence/presence_api/bin/Debug/net8.0/data.pdb differ diff --git a/presence/presence_api/bin/Debug/net8.0/domain.dll b/presence/presence_api/bin/Debug/net8.0/domain.dll index a8be6ee..b249384 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/domain.dll and b/presence/presence_api/bin/Debug/net8.0/domain.dll differ diff --git a/presence/presence_api/bin/Debug/net8.0/domain.pdb b/presence/presence_api/bin/Debug/net8.0/domain.pdb index 275026e..6ead826 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/domain.pdb and b/presence/presence_api/bin/Debug/net8.0/domain.pdb differ diff --git a/presence/presence_api/bin/Debug/net8.0/presence_api.deps.json b/presence/presence_api/bin/Debug/net8.0/presence_api.deps.json index 3c64eac..8e45e7f 100644 --- a/presence/presence_api/bin/Debug/net8.0/presence_api.deps.json +++ b/presence/presence_api/bin/Debug/net8.0/presence_api.deps.json @@ -12,6 +12,7 @@ "Swashbuckle.AspNetCore.Swagger": "7.0.0", "Swashbuckle.AspNetCore.SwaggerGen": "7.0.0", "Swashbuckle.AspNetCore.SwaggerUI": "7.0.0", + "data": "1.0.0", "domain": "1.0.0" }, "runtime": { diff --git a/presence/presence_api/bin/Debug/net8.0/presence_api.dll b/presence/presence_api/bin/Debug/net8.0/presence_api.dll index 6cd942f..6d7e48e 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/presence_api.dll and b/presence/presence_api/bin/Debug/net8.0/presence_api.dll differ diff --git a/presence/presence_api/bin/Debug/net8.0/presence_api.exe b/presence/presence_api/bin/Debug/net8.0/presence_api.exe index bd36317..9a780f7 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/presence_api.exe and b/presence/presence_api/bin/Debug/net8.0/presence_api.exe differ diff --git a/presence/presence_api/bin/Debug/net8.0/presence_api.pdb b/presence/presence_api/bin/Debug/net8.0/presence_api.pdb index 5264d48..6f9da71 100644 Binary files a/presence/presence_api/bin/Debug/net8.0/presence_api.pdb and b/presence/presence_api/bin/Debug/net8.0/presence_api.pdb differ diff --git a/presence/presence_api/obj/Debug/net8.0/ApiEndpoints.json b/presence/presence_api/obj/Debug/net8.0/ApiEndpoints.json index 42df211..01b5cbc 100644 --- a/presence/presence_api/obj/Debug/net8.0/ApiEndpoints.json +++ b/presence/presence_api/obj/Debug/net8.0/ApiEndpoints.json @@ -1,7 +1,79 @@ [ { - "ContainingType": "presence_api.Controllers.GroupController", - "Method": "getGroups", + "ContainingType": "presence_api.Controllers.PresenceController.PresenceController", + "Method": "PostPresence", + "RelativePath": "AddPresence", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "GroupId", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "StartData", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "EndData", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "UserId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[presence.domain.Models.Presence, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.UserController.AdminController", + "Method": "AddStudent", + "RelativePath": "AddStudent", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "GroupName", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "students", + "Type": "System.Collections.Generic.List\u00601[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.String", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence.presence_api.Controllers.GroupController", + "Method": "GetAllGroups", "RelativePath": "api/Group", "HttpMethod": "GET", "IsController": true, @@ -9,7 +81,275 @@ "Parameters": [], "ReturnTypes": [ { - "Type": "System.Collections.Generic.IEnumerable\u00601[[Demo.domain.Models.Group, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "Type": "System.Collections.Generic.IEnumerable\u00601[[presence.domain.Models.Group, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.PresenceController.PresenceController", + "Method": "GetPresence", + "RelativePath": "api/Presence", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "groupId", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "startDataString", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "endDataString", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "userId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[presence.domain.Models.Presence, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.PresenceController.PresenceController", + "Method": "DeletePresenceByDate", + "RelativePath": "DeleteByDate", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "StartData", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "EndData", + "Type": "System.String", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[domain.Models.ResponseModels.PresenceResponse, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.PresenceController.PresenceController", + "Method": "DeletePresenceByGroup", + "RelativePath": "DeleteByGroup", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "GroupId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[domain.Models.ResponseModels.PresenceResponse, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.PresenceController.PresenceController", + "Method": "DeletePresenceByUser", + "RelativePath": "DeleteByUser", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "UserId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[domain.Models.ResponseModels.PresenceResponse, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.UserController.AdminController", + "Method": "DeleteGroupId", + "RelativePath": "DeleteGroupId", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "groupId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.String", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.UserController.AdminController", + "Method": "DeleteUserId", + "RelativePath": "DeleteUserId", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "userId", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "groupId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "System.String", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.UserController.AdminController", + "Method": "GetAllGroupsWithStudents", + "RelativePath": "GetAllGroupsWithStudents", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[domain.Models.ResponseModels.GroupResponse, domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.UserController.AdminController", + "Method": "GetStudentInfo", + "RelativePath": "GetStudentInfo", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "userId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "domain.Models.ResponseModels.UserResponse", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "presence_api.Controllers.PresenceController.PresenceController", + "Method": "UpdateAttendance", + "RelativePath": "IsAttendence", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "FirstClass", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "LastClass", + "Type": "System.Int32", + "IsRequired": false + }, + { + "Name": "Data", + "Type": "System.String", + "IsRequired": false + }, + { + "Name": "UserId", + "Type": "System.Int32", + "IsRequired": false + } + ], + "ReturnTypes": [ + { + "Type": "domain.Models.ResponseModels.PresenceResponse", "MediaTypes": [ "text/plain", "application/json", diff --git a/presence/presence_api/obj/Debug/net8.0/EndpointInfo/presence_api.json b/presence/presence_api/obj/Debug/net8.0/EndpointInfo/presence_api.json index 72e5154..08742fb 100644 --- a/presence/presence_api/obj/Debug/net8.0/EndpointInfo/presence_api.json +++ b/presence/presence_api/obj/Debug/net8.0/EndpointInfo/presence_api.json @@ -5,6 +5,217 @@ "version": "1.0" }, "paths": { + "/AddStudent": { + "post": { + "tags": [ + "Admin" + ], + "parameters": [ + { + "name": "GroupName", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "students", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/GetStudentInfo": { + "get": { + "tags": [ + "Admin" + ], + "parameters": [ + { + "name": "userId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/UserResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UserResponse" + } + } + } + } + } + } + }, + "/GetAllGroupsWithStudents": { + "get": { + "tags": [ + "Admin" + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupResponse" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupResponse" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupResponse" + } + } + } + } + } + } + } + }, + "/DeleteUserId": { + "delete": { + "tags": [ + "Admin" + ], + "parameters": [ + { + "name": "userId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "groupId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/DeleteGroupId": { + "delete": { + "tags": [ + "Admin" + ], + "parameters": [ + { + "name": "groupId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, "/api/Group": { "get": { "tags": [ @@ -42,6 +253,358 @@ } } } + }, + "/IsAttendence": { + "post": { + "tags": [ + "Presence" + ], + "parameters": [ + { + "name": "FirstClass", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "LastClass", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "Data", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/PresenceResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PresenceResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + } + } + } + } + }, + "/AddPresence": { + "post": { + "tags": [ + "Presence" + ], + "parameters": [ + { + "name": "GroupId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "StartData", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "EndData", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Presence" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Presence" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Presence" + } + } + } + } + } + } + } + }, + "/api/Presence": { + "get": { + "tags": [ + "Presence" + ], + "parameters": [ + { + "name": "groupId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "startDataString", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "endDataString", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "userId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Presence" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Presence" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Presence" + } + } + } + } + } + } + } + }, + "/DeleteByUser": { + "delete": { + "tags": [ + "Presence" + ], + "parameters": [ + { + "name": "UserId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + } + } + } + } + } + }, + "/DeleteByGroup": { + "delete": { + "tags": [ + "Presence" + ], + "parameters": [ + { + "name": "GroupId", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + } + } + } + } + } + }, + "/DeleteByDate": { + "delete": { + "tags": [ + "Presence" + ], + "parameters": [ + { + "name": "StartData", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "EndData", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PresenceResponse" + } + } + } + } + } + } + } } }, "components": { @@ -60,18 +623,101 @@ "name": { "type": "string", "nullable": true + } + }, + "additionalProperties": false + }, + "GroupResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "users": { + "name": { + "type": "string", + "nullable": true + }, + "user": { "type": "array", "items": { - "$ref": "#/components/schemas/User" + "$ref": "#/components/schemas/UserResponse" }, "nullable": true } }, "additionalProperties": false }, + "Presence": { + "required": [ + "date", + "user" + ], + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date" + }, + "classNumber": { + "type": "integer", + "format": "int32" + }, + "isAttendence": { + "type": "boolean" + }, + "user": { + "$ref": "#/components/schemas/User" + } + }, + "additionalProperties": false + }, + "PresenceResponse": { + "required": [ + "date", + "user" + ], + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date" + }, + "classNumber": { + "type": "integer", + "format": "int32" + }, + "isAttendence": { + "type": "boolean" + }, + "user": { + "$ref": "#/components/schemas/UserResponse" + } + }, + "additionalProperties": false + }, "User": { + "required": [ + "fio", + "groupId" + ], + "type": "object", + "properties": { + "fio": { + "type": "string", + "nullable": true + }, + "id": { + "type": "integer", + "format": "int32" + }, + "groupId": { + "$ref": "#/components/schemas/Group" + } + }, + "additionalProperties": false + }, + "UserResponse": { "required": [ "fio" ], @@ -81,16 +727,16 @@ "type": "string", "nullable": true }, - "guid": { - "type": "string", - "format": "uuid" + "id": { + "type": "integer", + "format": "int32" }, "groupId": { "type": "integer", "format": "int32" }, "group": { - "$ref": "#/components/schemas/Group" + "$ref": "#/components/schemas/GroupResponse" } }, "additionalProperties": false diff --git a/presence/presence_api/obj/Debug/net8.0/apphost.exe b/presence/presence_api/obj/Debug/net8.0/apphost.exe index bd36317..9a780f7 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/apphost.exe and b/presence/presence_api/obj/Debug/net8.0/apphost.exe differ diff --git a/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs b/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs index 7bab7d7..ef4aa3b 100644 --- a/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs +++ b/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("presence_api")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a55a118f4f90ec351b8e7060cdde62bebbb8d3e4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a4cadaa09fb0d2c5ec082f80517b9033fa58f0e")] [assembly: System.Reflection.AssemblyProductAttribute("presence_api")] [assembly: System.Reflection.AssemblyTitleAttribute("presence_api")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache b/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache index 8ebbc05..f3c5166 100644 --- a/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache +++ b/presence/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache @@ -1 +1 @@ -5df46254d25b081ad107d557d75c3cfae5a93c9ea6e3cfe0446baf5da74a400b +0b51577fd600a254f265eb6f1d1c0d2b742d46b18cd3a858235761fef42af6b7 diff --git a/presence/presence_api/obj/Debug/net8.0/presence_api.assets.cache b/presence/presence_api/obj/Debug/net8.0/presence_api.assets.cache index 48ec929..f8fb00b 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/presence_api.assets.cache and b/presence/presence_api/obj/Debug/net8.0/presence_api.assets.cache differ diff --git a/presence/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache b/presence/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache index 0d5645d..17be89a 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache and b/presence/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache differ diff --git a/presence/presence_api/obj/Debug/net8.0/presence_api.dll b/presence/presence_api/obj/Debug/net8.0/presence_api.dll index 6cd942f..6d7e48e 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/presence_api.dll and b/presence/presence_api/obj/Debug/net8.0/presence_api.dll differ diff --git a/presence/presence_api/obj/Debug/net8.0/presence_api.pdb b/presence/presence_api/obj/Debug/net8.0/presence_api.pdb index 5264d48..6f9da71 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/presence_api.pdb and b/presence/presence_api/obj/Debug/net8.0/presence_api.pdb differ diff --git a/presence/presence_api/obj/Debug/net8.0/ref/presence_api.dll b/presence/presence_api/obj/Debug/net8.0/ref/presence_api.dll index 30102cd..8070acd 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/ref/presence_api.dll and b/presence/presence_api/obj/Debug/net8.0/ref/presence_api.dll differ diff --git a/presence/presence_api/obj/Debug/net8.0/refint/presence_api.dll b/presence/presence_api/obj/Debug/net8.0/refint/presence_api.dll index 30102cd..8070acd 100644 Binary files a/presence/presence_api/obj/Debug/net8.0/refint/presence_api.dll and b/presence/presence_api/obj/Debug/net8.0/refint/presence_api.dll differ diff --git a/presence/presence_api/obj/presence_api.csproj.nuget.dgspec.json b/presence/presence_api/obj/presence_api.csproj.nuget.dgspec.json index 41d11f7..2cd884e 100644 --- a/presence/presence_api/obj/presence_api.csproj.nuget.dgspec.json +++ b/presence/presence_api/obj/presence_api.csproj.nuget.dgspec.json @@ -185,6 +185,9 @@ "net8.0": { "targetAlias": "net8.0", "projectReferences": { + "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\data.csproj": { + "projectPath": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\data.csproj" + }, "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj": { "projectPath": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj" } diff --git a/presence/presence_api/obj/project.assets.json b/presence/presence_api/obj/project.assets.json index c75ca5c..ae595f2 100644 --- a/presence/presence_api/obj/project.assets.json +++ b/presence/presence_api/obj/project.assets.json @@ -937,6 +937,7 @@ "Swashbuckle.AspNetCore.Swagger >= 7.0.0", "Swashbuckle.AspNetCore.SwaggerGen >= 7.0.0", "Swashbuckle.AspNetCore.SwaggerUI >= 7.0.0", + "data >= 1.0.0", "domain >= 1.0.0" ] }, @@ -973,6 +974,9 @@ "net8.0": { "targetAlias": "net8.0", "projectReferences": { + "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\data.csproj": { + "projectPath": "C:\\Users\\User\\Desktop\\pr1\\presence\\data\\data.csproj" + }, "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj": { "projectPath": "C:\\Users\\User\\Desktop\\pr1\\presence\\domain\\domain.csproj" } diff --git a/presence/presence_api/obj/project.nuget.cache b/presence/presence_api/obj/project.nuget.cache index 4a4a44b..dd944ff 100644 --- a/presence/presence_api/obj/project.nuget.cache +++ b/presence/presence_api/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "zkOBDhCkkqM=", + "dgSpecHash": "GMPwwi+rmn8=", "success": true, "projectFilePath": "C:\\Users\\User\\Desktop\\pr1\\presence\\presence_api\\presence_api.csproj", "expectedPackageFiles": [ diff --git a/presence/presence_api/presence_api.csproj b/presence/presence_api/presence_api.csproj index 44e79b9..7b65d07 100644 --- a/presence/presence_api/presence_api.csproj +++ b/presence/presence_api/presence_api.csproj @@ -14,6 +14,7 @@ + diff --git a/presence/ui/Class1.cs b/presence/ui/Class1.cs deleted file mode 100644 index de5442b..0000000 --- a/presence/ui/Class1.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace ui; - -public class Class1 -{ - -} diff --git a/presence/ui/GroupConsole.cs b/presence/ui/GroupConsole.cs index ad6a120..70d3c8d 100644 --- a/presence/ui/GroupConsole.cs +++ b/presence/ui/GroupConsole.cs @@ -1,105 +1,47 @@ -using Demo.Domain.UseCase; +using presence.domain.Models; +using presence.domain.UseCase; using System; +using System.Collections.Generic; +using System.Linq; using System.Text; +using System.Threading.Tasks; -namespace Demo.UI +namespace presence.ui { public class GroupConsoleUI { - private readonly GroupUseCase _groupUseCase; - + GroupUseCase _groupUseCase; public GroupConsoleUI(GroupUseCase groupUseCase) { _groupUseCase = groupUseCase; } - public void FindGroupById(int groupId) + public void AddGroup(String name, String id) //Метод для добавления новой группы { - try + int Id; + bool isParsed = int.TryParse(id, out Id); + if (!isParsed) { - var group = _groupUseCase.FindGroupById(groupId); - Console.WriteLine($"ID группы: {group.Id} Название группы: {group.Name}"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); + Console.WriteLine("Введено не число"); } + string output = _groupUseCase.AddGroup(name, Id) ? "Группа добавлена" : "Группа не добавлена"; + Console.WriteLine(output); } - - public void DisplayAllGroups() + public void UpdateGroupName(String name, String name1) //Метод для обновления имени группы { - Console.WriteLine("\n=== Список всех групп ==="); - StringBuilder groupOutput = new StringBuilder(); + string output = _groupUseCase.UpdateGroupName(name, name1) ? "Группа обновлена" : "Группа не обновлена"; + Console.WriteLine(output); + } + public void DisplayAllGroups() //Метод для вывода всех существующих групп + { + StringBuilder groupOutput = new StringBuilder(); foreach (var group in _groupUseCase.GetAllGroups()) { groupOutput.AppendLine($"{group.Id}\t{group.Name}"); } - Console.WriteLine(groupOutput); - Console.WriteLine("===========================\n"); - } - - - public void AddGroup(string groupName) - { - try - { - ValidateGroupName(groupName); - _groupUseCase.AddGroup(groupName); - Console.WriteLine($"\nГруппа {groupName} добавлена.\n"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}\n"); - } - } - - public void RemoveGroup(string groupIdStr) - { - try - { - int groupId = int.Parse(groupIdStr); - ValidateGroupId(groupId); - _groupUseCase.RemoveGroupById(groupId); - Console.WriteLine($"Группа с ID: {groupId} удалена"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}\n"); - } - } - - - public void UpdateGroupName(int groupId, string newGroupName) - { - var isUpdated = _groupUseCase.UpdateGroup(groupId, newGroupName); - - if (isUpdated) - { - Console.WriteLine($"\nНазвание группы с ID {groupId} успешно изменено на {newGroupName}.\n"); - } - else - { - Console.WriteLine($"\nОшибка: Группа с ID {groupId} не существует в базе данных.\n"); - } - } - - private void ValidateGroupId(int groupId) - { - if (groupId < 1) - { - throw new ArgumentException("Введите корректный ID группы."); - } - } - - private void ValidateGroupName(string groupName) - { - if (string.IsNullOrWhiteSpace(groupName)) - { - throw new ArgumentException("Имя группы не может быть пустым."); - } } } } diff --git a/presence/ui/MainMenu.cs b/presence/ui/MainMenu.cs index 98d7475..8206143 100644 --- a/presence/ui/MainMenu.cs +++ b/presence/ui/MainMenu.cs @@ -1,197 +1,75 @@ - -using Demo.Data.Repository; -using Demo.domain.Models; -using Demo.Domain.UseCase; +using presence.data.Repository; +using presence.domain.UseCase; using System; -using static Demo.UI.UserConsoleUI; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; -namespace Demo.UI +namespace presence.ui { - - // Основное меню консольного пользовательского интерфейса. public class MainMenuUI { - private readonly UserConsole _userConsole; // Консольный интерфейс для работы с пользователями. - private readonly GroupConsoleUI _groupConsole; // Консольный интерфейс для работы с группами. - private readonly PresenceConsole _presenceConsole; // Консольный интерфейс для работы с посещаемостью. - // Конструктор для инициализации зависимостей. - public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase, UseCaseGeneratePresence presenceUseCase, IPresenceRepository presenceRepository) + UserConsoleUI _userConsoleUI; + GroupConsoleUI _groupConsoleUI; + PresenceConsoleUI _presenceConsoleUI; + + public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase, PresenceUseCase presenceUseCase, IPresenceRepository presenceRepository) { - // Инициализация всех интерфейсов с соответствующими UseCase и репозиториями. - _userConsole = new UserConsole(userUseCase); - _groupConsole = new GroupConsoleUI(groupUseCase); - _presenceConsole = new PresenceConsole(presenceUseCase, presenceRepository); + _userConsoleUI = new UserConsoleUI(userUseCase); + _groupConsoleUI = new GroupConsoleUI(groupUseCase); + _presenceConsoleUI = new PresenceConsoleUI(presenceUseCase, presenceRepository); + + + DisplayMenu(); + } - // Основной метод для отображения меню и обработки ввода пользователя. - public void DisplayMenu() + public void DisplayMenu() //Вывод консольного меню { while (true) { - // Отображение доступных команд в консоль. - Console.WriteLine("MENU"); - Console.WriteLine("1. Все пользователи"); - Console.WriteLine("2. Найти пользователя"); - Console.WriteLine("3. Обновить данные пользователя"); - Console.WriteLine("4. Удалить пользователя"); - Console.WriteLine("5. Список всех групп"); - Console.WriteLine("6. Найти группу"); - Console.WriteLine("7. Создать группу"); - Console.WriteLine("8. Изменить название группы"); - Console.WriteLine("9. Удалить группу"); - Console.WriteLine("10. Сгенерировать посещаемость на день"); - Console.WriteLine("11. Сгенерировать посещаемость на неделю"); - Console.WriteLine("12. Показать посещаемость группы"); - Console.WriteLine("13. Посещаемость группы за день"); - Console.WriteLine("14. Отметить отсутствующего пользователя"); - Console.WriteLine("0. Выход"); - Console.Write("Выберите команду: "); + Console.WriteLine("Выберите действие:"); + Console.WriteLine("1 - Показать всех пользователей"); + Console.WriteLine("2 - Удалить пользователя по ID"); + Console.WriteLine("3 - Показать все группы"); + Console.WriteLine("4 - Найти пользователя по ID"); + Console.WriteLine("5 - Обновить данные пользователя по ID"); + Console.WriteLine("6 - Обновить название группы"); + Console.WriteLine("7 - Добавить новую группу"); + Console.WriteLine("8 - Показать посещаемость группы"); + Console.WriteLine("9 - Показать посещаемость группы за определенную дату"); + Console.WriteLine("10 - Отменить отметку о присутствии"); + Console.WriteLine("11 - Добавить отметку о присутствии"); + Console.WriteLine("13 - Сгенерировать недельную посещаемость"); + Console.WriteLine("14 - Получить статистику посещаемости по группе"); - // Считывание команды пользователя. - string command = Console.ReadLine(); - Console.WriteLine(); - - // Обработка команд через switch-case. - switch (command) + switch (Console.ReadLine()) { - case "1": _userConsole.AllUsers(); break;// Показать всех пользователей. + case "1": _userConsoleUI.DisplayAllUsers(); break; + case "2": _userConsoleUI.RemoveUserById(Console.ReadLine()); break; + case "3": _userConsoleUI.GetUserById(Console.ReadLine()); break; + case "4": _userConsoleUI.UpdateUserById(Console.ReadLine(), Console.ReadLine(), Console.ReadLine()); break; - case "2": ExecuteGuidCommand("Введите Guid пользователя для поиска: ", _userConsole.FindUserByGuid); break; + case "5": _groupConsoleUI.DisplayAllGroups(); break; + case "6": _groupConsoleUI.UpdateGroupName(Console.ReadLine(), Console.ReadLine()); break; + case "7": _groupConsoleUI.AddGroup(Console.ReadLine(), Console.ReadLine()); break; - case "3": ExecuteGuidCommand("Введите Guid пользователя для обновления: ", _userConsole.UpdateUserByGuid); break; - - case "4": ExecuteGuidCommand("Введите Guid пользователя для удаления: ", _userConsole.RemoveUserByGuid); break; - - case "5": _groupConsole.DisplayAllGroups(); break; // Показать все группы. - - case "6": ExecuteIntCommand("Введите ID группы для поиска: ", _groupConsole.FindGroupById); break; - - case "7": - Console.Write("Введите название новой группы: "); - _groupConsole.AddGroup(Console.ReadLine()); // Создать новую группу. - break; - - case "8": - ExecuteIntCommand("Введите ID группы для изменения: ", id => - { - Console.Write("Введите новое название группы: "); - _groupConsole.UpdateGroupName(id, Console.ReadLine()); - }); - break; - - case "9": - ExecuteIntCommand("Введите ID группы для удаления: ", id => _groupConsole.RemoveGroup(id.ToString())); - break; - - case "10": GenerateAttendance("день"); break;// Генерация посещаемости на день. - - case "11": GenerateAttendance("неделю"); break; // Генерация посещаемости на неделю. - - case "12": - Console.Write("Введите дату (гггг-мм-дд): "); - DateTime date = DateTime.Parse(Console.ReadLine()); - ExecuteIntCommand("Введите ID группы: ", id => _presenceConsole.DisplayPresence(date, id)); - break; - - case "13": - ExecuteIntCommand("Введите ID группы: ", _presenceConsole.DisplayAllPresenceByGroup); - break; - - case "14": - Console.Write("Введите Guid пользователя: "); - Guid userGuid = Guid.Parse(Console.ReadLine()); - GenerateAbsence(userGuid); // Отметить пользователя как отсутствующего. - break; - - case "0": - return; // Завершение программы. + case "8": _presenceConsoleUI.GetPresenceByGroup(Console.ReadLine()); break; + case "9": _presenceConsoleUI.GetPresenceByGroupAndDate(Console.ReadLine(), Console.ReadLine()); break; + case "10": _presenceConsoleUI.UncheckAttendence(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Console.ReadLine()); break; + case "11": _presenceConsoleUI.AddPresence(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Console.ReadLine()); break; + case "13": _presenceConsoleUI.GenerateWeeklyPresence(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Console.ReadLine()); break; + case "14": _presenceConsoleUI.GetPresenceStatsByGroup(Console.ReadLine()); break; default: - Console.WriteLine("Команда не распознана."); // Сообщение об ошибке. + DisplayMenu(); break; } + } } - // Метод для обработки команд с параметром Guid. - private void ExecuteGuidCommand(string prompt, Action action) - { - Console.Write(prompt); - if (Guid.TryParse(Console.ReadLine(), out Guid guid)) - { - action(guid); - } - else - { - Console.WriteLine("Неверный формат Guid."); - } - } - - // Метод для обработки команд с параметром int. - private void ExecuteIntCommand(string prompt, Action action) - { - Console.Write(prompt); - if (int.TryParse(Console.ReadLine(), out int value)) - { - action(value); - } - else - { - Console.WriteLine("Неверный формат числа."); - } - } - - // Генерация посещаемости на день или неделю. - private void GenerateAttendance(string period) - { - try - { - Console.Write("Введите номер первого занятия: "); - int firstLesson = int.Parse(Console.ReadLine()); - Console.Write("Введите номер последнего занятия: "); - int lastLesson = int.Parse(Console.ReadLine()); - - ExecuteIntCommand("Введите ID группы: ", id => - { - if (period == "день") - { - _presenceConsole.GeneratePresenceForDay(DateTime.Now, id, firstLesson, lastLesson); - Console.WriteLine("Посещаемость на день сгенерирована."); - } - else - { - _presenceConsole.GeneratePresenceForWeek(DateTime.Now, id, firstLesson, lastLesson); - Console.WriteLine("Посещаемость на неделю сгенерирована."); - } - }); - } - catch - { - Console.WriteLine("Ошибка ввода данных."); - } - } - - // Отметка пользователя как отсутствующего. - private void GenerateAbsence(Guid userGuid) - { - try - { - Console.Write("Введите номер первого занятия: "); - int firstLesson = int.Parse(Console.ReadLine()); - Console.Write("Введите номер последнего занятия: "); - int lastLesson = int.Parse(Console.ReadLine()); - - ExecuteIntCommand("Введите ID группы: ", id => - { - _presenceConsole.MarkUserAsAbsent(DateTime.Now, id, userGuid, firstLesson, lastLesson); - Console.WriteLine("Пользователь отмечен как отсутствующий."); - }); - } - catch - { - Console.WriteLine("Ошибка ввода данных."); - } - } } -} \ No newline at end of file +} diff --git a/presence/ui/PresenceConsole.cs b/presence/ui/PresenceConsole.cs index 7415935..a690519 100644 --- a/presence/ui/PresenceConsole.cs +++ b/presence/ui/PresenceConsole.cs @@ -1,229 +1,155 @@ -using Demo.Data.RemoteData.RemoteDataBase; -using Demo.Data.Repository; -using Demo.domain.Models; -using Demo.Domain.UseCase; -using System; +using System; using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using presence.domain.UseCase; +using presence.data.Repository; -namespace Demo.UI +namespace presence.ui { - public class PresenceConsole + public class PresenceConsoleUI { - private readonly UseCaseGeneratePresence _presenceUseCase; - private readonly IPresenceRepository _presenceRepository; - private readonly RemoteDatabaseContext _remoteDatabaseContext; + private readonly PresenceUseCase _presenceUseCase; - public PresenceConsole(UseCaseGeneratePresence presenceUseCase, IPresenceRepository presenceRepository) + private readonly IPresenceRepository _presenceRepository; + public PresenceConsoleUI(PresenceUseCase presenceUseCase, IPresenceRepository presenceRepository) { _presenceUseCase = presenceUseCase; _presenceRepository = presenceRepository; - _remoteDatabaseContext = new RemoteDatabaseContext(); } - - public void GeneratePresenceForDay(DateTime date, int groupId, int firstLesson, int lastLesson) + public void GetPresenceByGroup(string groupId) { - try - { - // Попытка сгенерировать посещаемость - _presenceUseCase.GeneratePresenceForDay(firstLesson, lastLesson, groupId, date); - Console.WriteLine("Посещаемость на день сгенерирована."); - } - catch (ArgumentException ex) + int Id; + bool isParsed = int.TryParse(groupId, out Id); + if (!isParsed) { - // Обработка ошибки, если группа не существует - Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); + Console.WriteLine("Введено не число"); } - catch (Exception ex) + StringBuilder presenceOutput = new StringBuilder(); + var presence = _presenceUseCase.GetPresenceByGroup(Id); + foreach (var p in presence) { - // Обработка других ошибок - Console.WriteLine($"Неизвестная ошибка при генерации посещаемости: {ex.Message}"); + presenceOutput.AppendLine($"{p.User.Id}\t{p.User.FIO}\t{p.ClassNumber}\t{p.Date}\t{p.IsAttendence}"); } + Console.WriteLine(presenceOutput); } - - public void GeneratePresenceForWeek(DateTime date, int groupId, int firstLesson, int lastLesson) + public void GetPresenceByGroupAndDate(string groupId, string date) { - try + int Id; + DateOnly Data; + bool isParsed = int.TryParse(groupId, out Id); + bool isParsedData = DateOnly.TryParse(date, out Data); + if (!isParsed && !isParsedData) { - _presenceUseCase.GeneratePresenceForWeek(firstLesson, lastLesson, groupId, date); - Console.WriteLine("Посещаемость на неделю успешно сгенерирована."); + Console.WriteLine("Введено не число в группе ID или введена неправильно дата"); } - catch (ArgumentException ex) + StringBuilder presenceOutput = new StringBuilder(); + var presence = _presenceUseCase.GetPresenceByGroupAndDate(Id, Data); + foreach (var p in presence) { - Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); - } - catch (Exception ex) - { - Console.WriteLine($"Неизвестная ошибка при генерации посещаемости: {ex.Message}"); + presenceOutput.AppendLine($"{p.User.Id}\t{p.User.FIO}\t{p.ClassNumber}\t{p.Date}\t{p.IsAttendence}"); } + Console.WriteLine(presenceOutput); } - // Метод для отображения посещаемости на конкретную дату и группу - public void DisplayPresence(DateTime date, int groupId) + public void UncheckAttendence(string firstClass, string lastClass, string date, string userId) { - try + int fClass; + int lClass; + int uId; + DateOnly Data; + bool isParsedFClass = int.TryParse(firstClass, out fClass); + bool isParsedLClass = int.TryParse(lastClass, out lClass); + bool isParsedUId = int.TryParse(userId, out uId); + bool isParsedData = DateOnly.TryParse(date, out Data); + if (!isParsedFClass && !isParsedData && !isParsedLClass && !isParsedUId) { - List presences = _presenceUseCase.GetPresenceByGroupAndDate(groupId, date); - - if (presences == null || presences.Count == 0) - { - Console.WriteLine("Нет данных о посещаемости на выбранную дату."); - return; - } - - Console.WriteLine($"\n Посещаемость на {date:dd.MM.yyyy} "); - Console.WriteLine("-----------------------------------------------------"); - - // Сохраняем номер занятия для сравнения - int previousLessonNumber = -1; - - foreach (var presence in presences) - { - // Проверяем, изменился ли номер занятия - if (previousLessonNumber != presence.LessonNumber) - { - Console.WriteLine("-----------------------------------------------------"); - Console.WriteLine($" Занятие: {presence.LessonNumber} "); - Console.WriteLine("-----------------------------------------------------"); - previousLessonNumber = presence.LessonNumber; - } - - // Форматируем статус присутствия - string status = presence.IsAttedance ? "Присутствует" : "Отсутствует"; - Console.WriteLine($"Пользователь (ID: {presence.UserGuid}) - Статус: {status}"); - } - - Console.WriteLine("-----------------------------------------------------"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка при отображении посещаемости: {ex.Message}"); + Console.WriteLine("Введен не числа для одних из этих значений: первый урок, последний урок, ID юзера или неправильно введена датаю"); } + string output = _presenceUseCase.UncheckAttendence(fClass, lClass, Data, uId) ? + "Посещаемость обновлена" : "Посещаемость не обновлена"; + Console.WriteLine(output); } - - public void MarkUserAsAbsent(DateTime date, int groupId, Guid userGuid, int firstLesson, int lastLesson) + public void AddPresence(string firstClass, string lastClass, string groupId, string date) { - // Проверка существования группы - var groupExists = _remoteDatabaseContext.Groups.Any(g => g.Id == groupId); - if (!groupExists) + int fClass; + int lClass; + int gId; + DateOnly data; + bool isParsedFClass = int.TryParse(firstClass, out fClass); + bool isParsedLClass = int.TryParse(lastClass, out lClass); + bool isParsedGId = int.TryParse(groupId, out gId); + bool isParsedData = DateOnly.TryParse(date, out data); + if (!isParsedFClass && !isParsedData && !isParsedLClass && !isParsedGId) { - Console.WriteLine("Ошибка: группа с таким ID не существует."); - return; + Console.WriteLine("Введен не числа для одних из этих значений: первый урок, последний урок, ID группы или неправильно введена датаю"); } - - // Проверка существования пользователя - var userExists = _remoteDatabaseContext.Users.Any(u => u.Guid == userGuid); - if (!userExists) - { - Console.WriteLine("Ошибка: пользователь с таким GUID не существует."); - return; - } - - // Теперь, когда группа и пользователь найдены, вызываем метод для отметки отсутствия - _presenceUseCase.MarkUserAsAbsent(userGuid, groupId, firstLesson, lastLesson, date); - Console.WriteLine("Пользователь отмечен как отсутствующий."); + _presenceUseCase.AddPresence(fClass, lClass, gId, data); + Console.WriteLine("Посещаемость добавлена"); } - - - - public void DisplayAllPresenceByGroup(int groupId) + public void GetPresenceStatsByGroup(string groupId) { - try + + int Id; + bool isParsed = int.TryParse(groupId, out Id); + if (!isParsed) { - var presences = _presenceUseCase.GetAllPresenceByGroup(groupId); - - if (presences == null || !presences.Any()) - { - Console.WriteLine($"Нет данных о посещаемости для группы с ID: {groupId}."); - return; - } - - // Группируем записи посещаемости по дате - var groupedPresences = presences.GroupBy(p => p.Date); - - foreach (var group in groupedPresences) - { - Console.WriteLine("==================================================="); - Console.WriteLine($" Дата: {group.Key:dd.MM.yyyy} "); - Console.WriteLine("==================================================="); - - // Сохраняем номер занятия для сравнения - int previousLessonNumber = -1; - - foreach (var presence in group) - { - // Проверяем, изменился ли номер занятия - if (previousLessonNumber != presence.LessonNumber) - { - Console.WriteLine("---------------------------------------------------"); - Console.WriteLine($" Занятие: {presence.LessonNumber} "); - Console.WriteLine("---------------------------------------------------"); - previousLessonNumber = presence.LessonNumber; - } - - // Форматируем статус присутствия - string status = presence.IsAttedance ? "✅ Присутствует" : "❌ Отсутствует"; - Console.WriteLine($"Пользователь (ID: {presence.UserGuid}) - Статус: {status}"); - } - - Console.WriteLine("---------------------------------------------------"); - } + Console.WriteLine("Введено не число"); } - catch (Exception ex) + + var stats = _presenceUseCase.GetPresenceStatsByGroup(Id); + StringBuilder output = new StringBuilder(); + + output.AppendLine($"Информация о группе {groupId}:"); + output.AppendLine($"Количество студентов: {stats["Количество студентов"]}"); + output.AppendLine($"Количество занятий: {stats["Количество занятий"]}"); + output.AppendLine($"Общий процент посещаемости: {stats["Процент посещаемости"]}%"); + output.AppendLine("\nСтатистика по студентам:"); + + var presence = _presenceUseCase.GetPresenceByGroup(Id); + var students = presence.GroupBy(p => p.User) + .Select(g => new + { + Student = g.Key, + Total = stats["Количество занятий"], + Attended = g.Count(p => p.IsAttendence), + Missed = stats["Количество занятий"] - g.Count(p => p.IsAttendence), + Percentage = (g.Count(p => p.IsAttendence) * 100) / stats["Количество занятий"] + }); + + foreach (var student in students) { - Console.WriteLine($"Ошибка при отображении посещаемости: {ex.Message}"); + output.AppendLine($"\nСтудент: {student.Student.FIO}"); + output.AppendLine($"Посещено занятий: {student.Attended}"); + output.AppendLine($"Пропущено занятий: {student.Missed}"); + output.AppendLine($"Процент посещаемости: {student.Percentage}%"); } + + Console.WriteLine(output.ToString()); } - public void DisplayGeneralPresenceForGroup(int groupId) + public void GenerateWeeklyPresence(string firstClass, string lastClass, string groupId, string date) { - var summary = _presenceRepository.GetGeneralPresenceForGroup(groupId); - - Console.WriteLine($"Человек в группе: {summary.UserCount}, " + - $"Количество проведённых занятий: {summary.LessonCount}, " + - $"Общий процент посещаемости группы: {summary.TotalAttendancePercentage}%"); - - foreach (var user in summary.UserAttendances) + int fClass; + int lClass; + int gId; + DateOnly data; + bool isParsedFClass = int.TryParse(firstClass, out fClass); + bool isParsedLClass = int.TryParse(lastClass, out lClass); + bool isParsedGId = int.TryParse(groupId, out gId); + bool isParsedData = DateOnly.TryParse(date, out data); + if (!isParsedFClass && !isParsedData && !isParsedLClass && !isParsedGId) { - if (user.AttendanceRate < 40) - { - Console.ForegroundColor = ConsoleColor.Red; - } - - Console.WriteLine($"GUID Пользователя: {user.UserGuid}, " + - $"Посетил: {user.Attended}, " + - $"Пропустил: {user.Missed}, " + - $"Процент посещаемости: {user.AttendanceRate}%"); - Console.ResetColor(); + Console.WriteLine("Введен не числа для одних из этих значений: первый урок, последний урок, ID группы или неправильно введена дата"); } + _presenceUseCase.GenerateWeeklyPresence(fClass, lClass, gId, data); + Console.WriteLine("Посещаемость на неделю сгенерирована"); } - - public void UpdateUserAttendance(Guid userGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance) - { - try - { - bool result = _presenceRepository.UpdateAttention(userGuid, groupId, firstLesson, lastLesson, date, isAttendance); - - if (result) - { - Console.WriteLine($"Статус посещаемости для пользователя {userGuid} обновлён."); - } - else - { - Console.WriteLine($"Данные о посещаемости для пользователя ID: {userGuid} не найдены."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка при обновлении посещаемости: {ex.Message}"); - } - } - } -} - - +} \ No newline at end of file diff --git a/presence/ui/UserConsole.cs b/presence/ui/UserConsole.cs index 67e4e56..7be2af1 100644 --- a/presence/ui/UserConsole.cs +++ b/presence/ui/UserConsole.cs @@ -1,123 +1,74 @@ -using Demo.domain.Models; -using Demo.Domain.UseCase; +using presence.data.LocalData.Entity; +using presence.domain.UseCase; using System; +using System.Collections.Generic; +using System.Linq; using System.Text; +using System.Threading.Tasks; -namespace Demo.UI +namespace presence.ui { public class UserConsoleUI { - // Класс пользовательского интерфейса для работы с пользователями через консоль. - public class UserConsole + UserUseCase _userUseCase; + public UserConsoleUI(UserUseCase userUseCase) { - private readonly UserUseCase _userUseCase; - - // Конструктор, принимающий экземпляр пользовательского UseCase. - public UserConsole(UserUseCase userUseCase) - { - _userUseCase = userUseCase; - } - - // Метод для отображения всех пользователей. - public void AllUsers() - { - // Получаем список всех пользователей. - var users = _userUseCase.GetAllUsers(); - - // Если пользователей нет, выводим сообщение и завершаем выполнение метода. - if (!users.Any()) - { - Console.WriteLine("Нет пользователей."); - return; - } - - // Формируем и выводим список пользователей. - Console.WriteLine("\n=== Список пользователей ==="); - foreach (var user in users) - { - Console.WriteLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}"); - } - Console.WriteLine("=============================\n"); - } - - // Метод для поиска пользователя по Guid. - public void FindUserByGuid(Guid userGuid) - { - try - { - // Ищем пользователя по указанному Guid. - var user = _userUseCase.FindUserByGuid(userGuid); - - // Если пользователь найден, выводим его данные. - Console.WriteLine($"\nПользователь найден: {user.Guid}, {user.FIO}, {user.Group.Name}\n"); - } - catch (Exception ex) - { - // Если возникла ошибка, выводим сообщение об ошибке. - Console.WriteLine($"Ошибка: {ex.Message}\n"); - } - } - - // Метод для удаления пользователя по Guid. - public void RemoveUserByGuid(Guid userGuid) - { - // Удаляем пользователя и выводим результат операции. - Console.WriteLine(_userUseCase.RemoveUserByGuid(userGuid) - ? "Пользователь удален." - : "Пользователь не найден."); - } - - // Метод для обновления данных пользователя по Guid. - public void UpdateUserByGuid(Guid userGuid) - { - try - { - // Ищем пользователя по указанному Guid. - var user = _userUseCase.FindUserByGuid(userGuid); - - // Выводим текущие данные пользователя. - Console.WriteLine($"\nТекущие данные: {user.FIO}, {user.Group.Name}"); - - // Запрашиваем новое ФИО у пользователя. - Console.Write("Введите новое ФИО: "); - string newFIO = Console.ReadLine(); - - // Проверяем, что новое ФИО не пустое. - if (string.IsNullOrWhiteSpace(newFIO)) - { - Console.WriteLine("ФИО не может быть пустым."); - return; - } - - // Обновляем данные пользователя. - user.FIO = newFIO; - _userUseCase.UpdateUser(user); - Console.WriteLine("Пользователь обновлен.\n"); - } - catch (Exception ex) - { - // Если возникла ошибка, выводим сообщение об ошибке. - Console.WriteLine($"Ошибка: {ex.Message}\n"); - } - } - - // Метод для проверки существования группы по ID. - private GroupLocalEntity ValidateGroupExistence(int groupId) - { - // Ищем группу с указанным ID среди всех пользователей. - var group = _userUseCase.GetAllUsers() - .Select(u => u.Group) - .FirstOrDefault(g => g.Id == groupId); - - // Если группа не найдена, выбрасываем исключение. - if (group == null) - { - throw new Exception("Группа не найдена."); - } - - // Возвращаем найденную группу как локальную сущность. - return new GroupLocalEntity { Id = group.Id, Name = group.Name }; - } + _userUseCase = userUseCase; } + + public void DisplayAllUsers() + { + StringBuilder userOutput = new StringBuilder(); + foreach (var user in _userUseCase.GetAllUsers()) + { + userOutput.AppendLine($"{user.Id}\t{user.FIO}\t{user.GroupId}"); + } + Console.WriteLine(userOutput); + } + + + public void RemoveUserById(string userId) + { + + int Id; + bool isParsed = int.TryParse(userId, out Id); + if (!isParsed) + { + Console.WriteLine("Введено не число"); + } + string output = _userUseCase.RemoveUserById(Id) ? "Пользователь удален" : "Пользователь не удален"; + Console.WriteLine(output); + } + + public void UpdateUserById(string userId, String name, string groupId) + { + int UserId; + int GroupId; + bool isParsed = int.TryParse(userId, out UserId); + bool isParsedGroup = int.TryParse(groupId, out GroupId); + if (!isParsed && !isParsedGroup) + { + Console.WriteLine("Введено неверное число"); + } + string output = _userUseCase.UpdateUserById(UserId, name, GroupId) ? "Пользователь обновлен" : "Пользователь не обновлен"; + Console.WriteLine(output); + } + + public void GetUserById(string userId) + { + int Id; + bool isParsed = int.TryParse(userId, out Id); + if (!isParsed) + { + Console.WriteLine("Введено не число"); + } + StringBuilder userOutput = new StringBuilder(); + var user = _userUseCase.GetUserById(Id); + userOutput.AppendLine($"{user.Id}\t{user.FIO}\t{user.GroupId}"); + Console.WriteLine(userOutput); + } + } -} \ No newline at end of file +} + + diff --git a/presence/ui/bin/Debug/net8.0/data.dll b/presence/ui/bin/Debug/net8.0/data.dll new file mode 100644 index 0000000..632fae8 Binary files /dev/null and b/presence/ui/bin/Debug/net8.0/data.dll differ diff --git a/presence/ui/bin/Debug/net8.0/data.pdb b/presence/ui/bin/Debug/net8.0/data.pdb new file mode 100644 index 0000000..ba9850d Binary files /dev/null and b/presence/ui/bin/Debug/net8.0/data.pdb differ diff --git a/presence/ui/bin/Debug/net8.0/domain.dll b/presence/ui/bin/Debug/net8.0/domain.dll new file mode 100644 index 0000000..bc8dbbd Binary files /dev/null and b/presence/ui/bin/Debug/net8.0/domain.dll differ diff --git a/presence/ui/bin/Debug/net8.0/domain.pdb b/presence/ui/bin/Debug/net8.0/domain.pdb new file mode 100644 index 0000000..5918cc0 Binary files /dev/null and b/presence/ui/bin/Debug/net8.0/domain.pdb differ diff --git a/presence/ui/bin/Debug/net8.0/ui.deps.json b/presence/ui/bin/Debug/net8.0/ui.deps.json new file mode 100644 index 0000000..b57c8b5 --- /dev/null +++ b/presence/ui/bin/Debug/net8.0/ui.deps.json @@ -0,0 +1,459 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "ui/1.0.0": { + "dependencies": { + "ClosedXML": "0.104.1", + "domain": "1.0.0" + }, + "runtime": { + "ui.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" + } + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Npgsql/8.0.5": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.5.0", + "fileVersion": "8.0.5.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.10.0" + } + } + }, + "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.IO.Packaging/8.0.0": { + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "data/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, + "runtime": { + "data.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "domain/1.0.0": { + "dependencies": { + "data": "1.0.0" + }, + "runtime": { + "domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "ui/1.0.0": { + "type": "project", + "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" + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "path": "microsoft.entityframeworkcore/8.0.10", + "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Npgsql/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "path": "npgsql/8.0.5", + "hashPath": "npgsql.8.0.5.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "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.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" + }, + "data/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/presence/ui/bin/Debug/net8.0/ui.dll b/presence/ui/bin/Debug/net8.0/ui.dll new file mode 100644 index 0000000..e304331 Binary files /dev/null and b/presence/ui/bin/Debug/net8.0/ui.dll differ diff --git a/presence/ui/bin/Debug/net8.0/ui.pdb b/presence/ui/bin/Debug/net8.0/ui.pdb new file mode 100644 index 0000000..ba37027 Binary files /dev/null and b/presence/ui/bin/Debug/net8.0/ui.pdb differ diff --git a/presence/ui/bin/Debug/net9.0/data.dll b/presence/ui/bin/Debug/net9.0/data.dll new file mode 100644 index 0000000..33fe2f3 Binary files /dev/null and b/presence/ui/bin/Debug/net9.0/data.dll differ diff --git a/presence/ui/bin/Debug/net9.0/data.pdb b/presence/ui/bin/Debug/net9.0/data.pdb new file mode 100644 index 0000000..b9c12c6 Binary files /dev/null and b/presence/ui/bin/Debug/net9.0/data.pdb differ diff --git a/presence/ui/bin/Debug/net9.0/domain.dll b/presence/ui/bin/Debug/net9.0/domain.dll new file mode 100644 index 0000000..c981f77 Binary files /dev/null and b/presence/ui/bin/Debug/net9.0/domain.dll differ diff --git a/presence/ui/bin/Debug/net9.0/domain.pdb b/presence/ui/bin/Debug/net9.0/domain.pdb new file mode 100644 index 0000000..409adbc Binary files /dev/null and b/presence/ui/bin/Debug/net9.0/domain.pdb differ diff --git a/presence/ui/bin/Debug/net9.0/ui.deps.json b/presence/ui/bin/Debug/net9.0/ui.deps.json new file mode 100644 index 0000000..51a6d0b --- /dev/null +++ b/presence/ui/bin/Debug/net9.0/ui.deps.json @@ -0,0 +1,324 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v9.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v9.0": { + "ui/1.0.0": { + "dependencies": { + "domain": "1.0.0" + }, + "runtime": { + "ui.dll": {} + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Npgsql/8.0.5": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.5.0", + "fileVersion": "8.0.5.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.10.0" + } + } + }, + "data/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, + "runtime": { + "data.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "domain/1.0.0": { + "dependencies": { + "data": "1.0.0" + }, + "runtime": { + "domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "ui/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "path": "microsoft.entityframeworkcore/8.0.10", + "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Npgsql/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "path": "npgsql/8.0.5", + "hashPath": "npgsql.8.0.5.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" + }, + "data/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/presence/ui/bin/Debug/net9.0/ui.dll b/presence/ui/bin/Debug/net9.0/ui.dll new file mode 100644 index 0000000..796c94a Binary files /dev/null and b/presence/ui/bin/Debug/net9.0/ui.dll differ diff --git a/presence/ui/bin/Debug/net9.0/ui.pdb b/presence/ui/bin/Debug/net9.0/ui.pdb new file mode 100644 index 0000000..6e056da Binary files /dev/null and b/presence/ui/bin/Debug/net9.0/ui.pdb differ diff --git a/presence/ui/obj/Debug/net9.0/ref/ui.dll b/presence/ui/obj/Debug/net9.0/ref/ui.dll new file mode 100644 index 0000000..589a262 Binary files /dev/null and b/presence/ui/obj/Debug/net9.0/ref/ui.dll differ diff --git a/presence/ui/obj/Debug/net9.0/refint/ui.dll b/presence/ui/obj/Debug/net9.0/refint/ui.dll new file mode 100644 index 0000000..589a262 Binary files /dev/null and b/presence/ui/obj/Debug/net9.0/refint/ui.dll differ diff --git a/presence/ui/obj/Debug/net9.0/ui.AssemblyInfo.cs b/presence/ui/obj/Debug/net9.0/ui.AssemblyInfo.cs index ac2dcaf..d6d30e0 100644 --- a/presence/ui/obj/Debug/net9.0/ui.AssemblyInfo.cs +++ b/presence/ui/obj/Debug/net9.0/ui.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("ui")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a55a118f4f90ec351b8e7060cdde62bebbb8d3e4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a4cadaa09fb0d2c5ec082f80517b9033fa58f0e")] [assembly: System.Reflection.AssemblyProductAttribute("ui")] [assembly: System.Reflection.AssemblyTitleAttribute("ui")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/presence/ui/obj/Debug/net9.0/ui.AssemblyInfoInputs.cache b/presence/ui/obj/Debug/net9.0/ui.AssemblyInfoInputs.cache index c077772..d2e39d7 100644 --- a/presence/ui/obj/Debug/net9.0/ui.AssemblyInfoInputs.cache +++ b/presence/ui/obj/Debug/net9.0/ui.AssemblyInfoInputs.cache @@ -1 +1 @@ -96754a8c854b48ab2b80e75496d2cc0d15e1138cf40144cc8b1892d22fbfc227 +38547d28fc0263c37717755b643b606a45d4934b00c687c9a867e16658aae9a0 diff --git a/presence/ui/obj/Debug/net9.0/ui.csproj.AssemblyReference.cache b/presence/ui/obj/Debug/net9.0/ui.csproj.AssemblyReference.cache index 47e25c2..5bbd83b 100644 Binary files a/presence/ui/obj/Debug/net9.0/ui.csproj.AssemblyReference.cache and b/presence/ui/obj/Debug/net9.0/ui.csproj.AssemblyReference.cache differ diff --git a/presence/ui/obj/Debug/net9.0/ui.csproj.CoreCompileInputs.cache b/presence/ui/obj/Debug/net9.0/ui.csproj.CoreCompileInputs.cache index ee57831..bc58805 100644 --- a/presence/ui/obj/Debug/net9.0/ui.csproj.CoreCompileInputs.cache +++ b/presence/ui/obj/Debug/net9.0/ui.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -57e04a73268f805c7a269da0367091c601976d77b11d1bb7aa9bcb7852cb83f4 +e9d4590e949be61a9e7c43161645f2b90d87e8bffe77981fb7b3cfc172f387ae diff --git a/presence/ui/obj/Debug/net9.0/ui.csproj.Up2Date b/presence/ui/obj/Debug/net9.0/ui.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/presence/ui/obj/Debug/net9.0/ui.dll b/presence/ui/obj/Debug/net9.0/ui.dll new file mode 100644 index 0000000..796c94a Binary files /dev/null and b/presence/ui/obj/Debug/net9.0/ui.dll differ diff --git a/presence/ui/obj/Debug/net9.0/ui.pdb b/presence/ui/obj/Debug/net9.0/ui.pdb new file mode 100644 index 0000000..6e056da Binary files /dev/null and b/presence/ui/obj/Debug/net9.0/ui.pdb differ