diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4eac007 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.vs/ +bin/ +obj/ +*.suo +*.user +*.log +*.cache +*.tmp \ No newline at end of file diff --git a/.vs/Demo1/DesignTimeBuild/.dtbcache.v2 b/.vs/Demo1/DesignTimeBuild/.dtbcache.v2 index 37f237a..d50a0a4 100644 Binary files a/.vs/Demo1/DesignTimeBuild/.dtbcache.v2 and b/.vs/Demo1/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/Demo1/FileContentIndex/4868cd3b-769d-434f-839a-12d11caa25b2.vsidx b/.vs/Demo1/FileContentIndex/4868cd3b-769d-434f-839a-12d11caa25b2.vsidx deleted file mode 100644 index def17e3..0000000 Binary files a/.vs/Demo1/FileContentIndex/4868cd3b-769d-434f-839a-12d11caa25b2.vsidx and /dev/null differ diff --git a/.vs/Demo1/FileContentIndex/4c569f31-e59d-4e37-adb4-ceb7258b36e3.vsidx b/.vs/Demo1/FileContentIndex/4c569f31-e59d-4e37-adb4-ceb7258b36e3.vsidx deleted file mode 100644 index c829660..0000000 Binary files a/.vs/Demo1/FileContentIndex/4c569f31-e59d-4e37-adb4-ceb7258b36e3.vsidx and /dev/null differ diff --git a/.vs/Demo1/FileContentIndex/c7de90e1-10c2-4ebc-a634-27437bea956d.vsidx b/.vs/Demo1/FileContentIndex/c7de90e1-10c2-4ebc-a634-27437bea956d.vsidx deleted file mode 100644 index 626f15e..0000000 Binary files a/.vs/Demo1/FileContentIndex/c7de90e1-10c2-4ebc-a634-27437bea956d.vsidx and /dev/null differ diff --git a/.vs/Demo1/FileContentIndex/cf8fc583-7c42-4e05-a84c-b6dcd318c755.vsidx b/.vs/Demo1/FileContentIndex/cf8fc583-7c42-4e05-a84c-b6dcd318c755.vsidx deleted file mode 100644 index dc9bf79..0000000 Binary files a/.vs/Demo1/FileContentIndex/cf8fc583-7c42-4e05-a84c-b6dcd318c755.vsidx and /dev/null differ diff --git a/.vs/Demo1/FileContentIndex/ef5cb6a9-85e1-4ab6-9ae0-291e046124b4.vsidx b/.vs/Demo1/FileContentIndex/ef5cb6a9-85e1-4ab6-9ae0-291e046124b4.vsidx deleted file mode 100644 index 32eaabc..0000000 Binary files a/.vs/Demo1/FileContentIndex/ef5cb6a9-85e1-4ab6-9ae0-291e046124b4.vsidx and /dev/null differ diff --git a/.vs/Demo1/v17/.futdcache.v2 b/.vs/Demo1/v17/.futdcache.v2 index 7c66450..c3299b7 100644 Binary files a/.vs/Demo1/v17/.futdcache.v2 and b/.vs/Demo1/v17/.futdcache.v2 differ diff --git a/.vs/Demo1/v17/.suo b/.vs/Demo1/v17/.suo index 928d702..adfde31 100644 Binary files a/.vs/Demo1/v17/.suo and b/.vs/Demo1/v17/.suo differ diff --git a/.vs/Demo1/v17/DocumentLayout.json b/.vs/Demo1/v17/DocumentLayout.json index 235629c..4417cc4 100644 --- a/.vs/Demo1/v17/DocumentLayout.json +++ b/.vs/Demo1/v17/DocumentLayout.json @@ -1,166 +1,174 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\", + "WorkspaceRootPath": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\controllers\\admincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\controllers\\admincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\postman-collections\\demo1-collection.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\postman-collections\\demo1-collection.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" }, { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\controllers\\presencecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\controllers\\presencecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\migrations\\20241114100437_create.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\migrations\\20241114100437_create.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\migrations\\20241114100437_create.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\migrations\\20241114100437_create.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\presenceusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\presencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\presencerepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\remotedatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\remotedatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\designtimedbcontextfactorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\designtimedbcontextfactorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\designtimedbcontextfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\designtimedbcontextfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\localdata\\entity\\localpresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\entity\\localpresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\exceptions\\usernotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\exceptions\\repositoryexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\exceptions\\presencenotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\exceptions\\presencenotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\exceptions\\groupnotfoundexception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\class_student\\source\\repos\\slarny4\\demo1\\demo1.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\sqlpresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\ipresencerepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\igrouprepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\localdata\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\localdata\\entity\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\remotedatabasecontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\remotedatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\remotedatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\userattendance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\userattendance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\groupattendancestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\groupattendancestatistics.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\remotedata\\remotedatabase\\dao\\attendancerecord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\remotedata\\remotedatabase\\dao\\attendancerecord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\datainitializer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\datainitializer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\demo1.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\demo1.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\models\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\models\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\models\\group.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\usecase\\usecasepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\usecasepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\presenceconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\mainmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\groupconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\ui\\excelexporter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\ui\\excelexporter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\data\\repository\\sqluserrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\migrations\\remotedatabasecontextmodelsnapshot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|c:\\users\\\u043D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\demo1\\migrations\\20241123030700_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EB018F9-3F1D-4B8D-91F3-099DE189E5D7}|Demo1\\Demo1.csproj|solutionrelative:demo1\\migrations\\20241123030700_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -172,525 +180,514 @@ "DockedWidth": 200, "SelectedChildIndex": 4, "Children": [ + { + "$type": "Bookmark", + "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" + }, { "$type": "Document", - "DocumentIndex": 1, - "Title": "SQLUserRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", - "ViewState": "AQIAAEUAAAAAAAAAAAAmwE0AAAAgAAAA", + "DocumentIndex": 5, + "Title": "PresenceNotFoundException.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\PresenceNotFoundException.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\PresenceNotFoundException.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\PresenceNotFoundException.cs", + "RelativeToolTip": "Demo1\\Data\\Exceptions\\PresenceNotFoundException.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:29:36.037Z", - "EditorCaption": "" + "WhenOpened": "2024-11-23T01:08:30.121Z" }, { "$type": "Document", "DocumentIndex": 4, - "Title": "SQLPresenceRepository.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLPresenceRepository.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\SQLPresenceRepository.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLPresenceRepository.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\SQLPresenceRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAAAAAA", + "Title": "RepositoryException.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\RepositoryException.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\RepositoryException.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\RepositoryException.cs", + "RelativeToolTip": "Demo1\\Data\\Exceptions\\RepositoryException.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:29:26.796Z", + "WhenOpened": "2024-10-28T09:33:38.066Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "UserNotFoundException.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\UserNotFoundException.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\UserNotFoundException.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\UserNotFoundException.cs", + "RelativeToolTip": "Demo1\\Data\\Exceptions\\UserNotFoundException.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:33:29.274Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "AdminController.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Controllers\\AdminController.cs", + "RelativeDocumentMoniker": "Demo1\\Controllers\\AdminController.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Controllers\\AdminController.cs", + "RelativeToolTip": "Demo1\\Controllers\\AdminController.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAEoAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-23T05:11:56.916Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 2, - "Title": "User.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAAAAAA", + "Title": "PresenceController.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Controllers\\PresenceController.cs", + "RelativeDocumentMoniker": "Demo1\\Controllers\\PresenceController.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Controllers\\PresenceController.cs", + "RelativeToolTip": "Demo1\\Controllers\\PresenceController.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADoAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:10:30.211Z", - "EditorCaption": "" + "WhenOpened": "2024-11-23T05:13:06.942Z" }, { "$type": "Document", - "DocumentIndex": 3, - "Title": "PresenceConsole.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\PresenceConsole.cs", - "RelativeDocumentMoniker": "Demo1\\UI\\PresenceConsole.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\PresenceConsole.cs", - "RelativeToolTip": "Demo1\\UI\\PresenceConsole.cs", - "ViewState": "AQIAAMYAAAAAAAAAAAAiwNwAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:55:31.138Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "RemoteDatabaseContext.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", - "ViewState": "AQIAABUAAAAAAAAAAAAQwCUAAAAmAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:11:46.336Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 5, - "Title": "20241114100437_create.Designer.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Migrations\\20241114100437_create.Designer.cs", - "RelativeDocumentMoniker": "Demo1\\Migrations\\20241114100437_create.Designer.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Migrations\\20241114100437_create.Designer.cs", - "RelativeToolTip": "Demo1\\Migrations\\20241114100437_create.Designer.cs", - "ViewState": "AQIAAGcAAAAAAAAAAAAiwHcAAAApAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-14T11:15:45.299Z", - "EditorCaption": "" + "DocumentIndex": 1, + "Title": "demo1-collection.json", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\postman-collections\\demo1-collection.json", + "RelativeDocumentMoniker": "Demo1\\postman-collections\\demo1-collection.json", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\postman-collections\\demo1-collection.json", + "RelativeToolTip": "Demo1\\postman-collections\\demo1-collection.json", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAFEAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", + "WhenOpened": "2024-11-23T07:12:15.485Z" }, { "$type": "Document", "DocumentIndex": 6, - "Title": "20241114100437_create.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Migrations\\20241114100437_create.cs", - "RelativeDocumentMoniker": "Demo1\\Migrations\\20241114100437_create.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Migrations\\20241114100437_create.cs", - "RelativeToolTip": "Demo1\\Migrations\\20241114100437_create.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAZAAAA", + "Title": "GroupNotFoundException.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", + "RelativeToolTip": "Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-14T11:03:24.272Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:33:34.54Z" }, { "$type": "Document", "DocumentIndex": 7, - "Title": "MainMenu.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\MainMenu.cs", - "RelativeDocumentMoniker": "Demo1\\UI\\MainMenu.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\MainMenu.cs", - "RelativeToolTip": "Demo1\\UI\\MainMenu.cs", - "ViewState": "AQIAAPcBAAAAAAAAAADwvwoCAAAFAAAA", + "Title": "SQLPresenceRepository.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLPresenceRepository.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\SQLPresenceRepository.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLPresenceRepository.cs", + "RelativeToolTip": "Demo1\\Data\\Repository\\SQLPresenceRepository.cs", + "ViewState": "AgIAAF0AAAAAAAAAAAAkwHcAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:38:21.434Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 10, - "Title": "Program.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Program.cs", - "RelativeDocumentMoniker": "Demo1\\Program.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Program.cs", - "RelativeToolTip": "Demo1\\Program.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:38:33.792Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 9, - "Title": "LocalStaticData.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\LocalStaticData.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\LocalStaticData.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\LocalStaticData.cs", - "RelativeToolTip": "Demo1\\Data\\LocalData\\LocalStaticData.cs", - "ViewState": "AQIAAAQAAAAAAAAAAADwvxUAAAAyAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:27:24.986Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:29:26.796Z" }, { "$type": "Document", "DocumentIndex": 8, - "Title": "Group.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAABAAAA", + "Title": "SQLGroupRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", + "RelativeToolTip": "Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAC8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:10:17.912Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:29:17.772Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "IUserRepository.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IUserRepository.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\IUserRepository.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IUserRepository.cs", + "RelativeToolTip": "Demo1\\Data\\Repository\\IUserRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:33:48.086Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "IPresenceRepository.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IPresenceRepository.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\IPresenceRepository.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IPresenceRepository.cs", + "RelativeToolTip": "Demo1\\Data\\Repository\\IPresenceRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:34:01.993Z" }, { "$type": "Document", "DocumentIndex": 11, - "Title": "UserConsole.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\UserConsole.cs", - "RelativeDocumentMoniker": "Demo1\\UI\\UserConsole.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\UserConsole.cs", - "RelativeToolTip": "Demo1\\UI\\UserConsole.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAAAAAA", + "Title": "IGroupRepository.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IGroupRepository.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\IGroupRepository.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IGroupRepository.cs", + "RelativeToolTip": "Demo1\\Data\\Repository\\IGroupRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:32:43.036Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:33:53.901Z" }, { "$type": "Document", "DocumentIndex": 12, - "Title": "GroupConsole.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\GroupConsole.cs", - "RelativeDocumentMoniker": "Demo1\\UI\\GroupConsole.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\UI\\GroupConsole.cs", - "RelativeToolTip": "Demo1\\UI\\GroupConsole.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAJkAAAABAAAA", + "Title": "LocalStaticData.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\LocalStaticData.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\LocalStaticData.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\LocalStaticData.cs", + "RelativeToolTip": "Demo1\\Data\\LocalData\\LocalStaticData.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABMAAAAKAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:55:00.521Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:27:24.986Z" }, { "$type": "Document", "DocumentIndex": 13, - "Title": "RemoteDatabaseContextModelSnapshot.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", - "RelativeDocumentMoniker": "Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", - "RelativeToolTip": "Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-14T11:03:33.683Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 16, - "Title": "GroupUseCase.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\GroupUseCase.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\GroupUseCase.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\GroupUseCase.cs", - "RelativeToolTip": "Demo1\\Domain\\UseCase\\GroupUseCase.cs", - "ViewState": "AQIAACwAAAAAAAAAAAAAACwAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:35:09.914Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 17, - "Title": "PresenceUseCase.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\PresenceUseCase.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\PresenceUseCase.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\PresenceUseCase.cs", - "RelativeToolTip": "Demo1\\Domain\\UseCase\\PresenceUseCase.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAACwAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:38:10.123Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 18, "Title": "User.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\User.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\Models\\User.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\User.cs", - "RelativeToolTip": "Demo1\\Domain\\Models\\User.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAAABAAAA", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\User.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\Entity\\User.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\User.cs", + "RelativeToolTip": "Demo1\\Data\\LocalData\\Entity\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T11:07:52.222Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 19, - "Title": "Presence.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Presence.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\Models\\Presence.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Presence.cs", - "RelativeToolTip": "Demo1\\Domain\\Models\\Presence.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T11:28:19.174Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 20, - "Title": "Group.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Group.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\Models\\Group.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Group.cs", - "RelativeToolTip": "Demo1\\Domain\\Models\\Group.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T11:07:39.146Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 21, - "Title": "appsettings.json", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\appsettings.json", - "RelativeDocumentMoniker": "Demo1\\Data\\appsettings.json", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\appsettings.json", - "RelativeToolTip": "Demo1\\Data\\appsettings.json", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAIAAABmAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2024-10-28T10:58:55.669Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 15, - "Title": "UseCaseGeneratePresence.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", - "RelativeToolTip": "Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAADsAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:35:16.757Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:27:14.655Z" }, { "$type": "Document", "DocumentIndex": 14, - "Title": "UserUseCase.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UserUseCase.cs", - "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\UserUseCase.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UserUseCase.cs", - "RelativeToolTip": "Demo1\\Domain\\UseCase\\UserUseCase.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAACIAAAAJAAAA", + "Title": "Presence.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\Presence.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\Entity\\Presence.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\Presence.cs", + "RelativeToolTip": "Demo1\\Data\\LocalData\\Entity\\Presence.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:35:04.932Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:27:05.651Z" + }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\Group.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\Entity\\Group.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\Group.cs", + "RelativeToolTip": "Demo1\\Data\\LocalData\\Entity\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:26:57.413Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "RemoteDatabaseContext.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabaseContext.cs", + "ViewState": "AgIAAAIAAAAAAAAAAAAkwBUAAAAoAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-25T06:11:46.336Z" + }, + { + "$type": "Document", + "DocumentIndex": 17, + "Title": "RemoteDatabase.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAABKAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:28:39.98Z" + }, + { + "$type": "Document", + "DocumentIndex": 18, + "Title": "UserAttendance.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\UserAttendance.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\UserAttendance.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\UserAttendance.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\UserAttendance.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-23T01:10:24.793Z" + }, + { + "$type": "Document", + "DocumentIndex": 19, + "Title": "User.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-25T06:10:30.211Z" + }, + { + "$type": "Document", + "DocumentIndex": 20, + "Title": "Presence.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-25T06:10:23.933Z" + }, + { + "$type": "Document", + "DocumentIndex": 21, + "Title": "GroupAttendanceStatistics.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\GroupAttendanceStatistics.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-23T01:10:03.086Z" }, { "$type": "Document", "DocumentIndex": 22, - "Title": "UserRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\UserRepositoryImpl.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\UserRepositoryImpl.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\UserRepositoryImpl.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\UserRepositoryImpl.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAEAAAAABAAAA", + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:34:09.025Z", - "EditorCaption": "" + "WhenOpened": "2024-10-25T06:10:17.912Z" }, { "$type": "Document", "DocumentIndex": 23, - "Title": "SQLGroupRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\SQLGroupRepositoryImpl.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAAAAAA", + "Title": "AttendanceRecord.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\AttendanceRecord.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\AttendanceRecord.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\AttendanceRecord.cs", + "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\AttendanceRecord.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:29:17.772Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 24, - "Title": "PresenceRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\PresenceRepositoryImpl.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\PresenceRepositoryImpl.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\PresenceRepositoryImpl.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\PresenceRepositoryImpl.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAEUAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:34:21.103Z", - "EditorCaption": "" + "WhenOpened": "2024-11-23T01:09:45.645Z" }, { "$type": "Document", "DocumentIndex": 25, - "Title": "IUserRepository.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IUserRepository.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\IUserRepository.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IUserRepository.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\IUserRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAABAAAA", + "Title": "DataInitializer.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\DataInitializer.cs", + "RelativeDocumentMoniker": "Demo1\\DataInitializer.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\DataInitializer.cs", + "RelativeToolTip": "Demo1\\DataInitializer.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABMAAABCAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:33:48.086Z", - "EditorCaption": "" + "WhenOpened": "2024-11-23T01:04:02.404Z" + }, + { + "$type": "Document", + "DocumentIndex": 24, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Program.cs", + "RelativeDocumentMoniker": "Demo1\\Program.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Program.cs", + "RelativeToolTip": "Demo1\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:38:33.792Z" }, { "$type": "Document", "DocumentIndex": 26, - "Title": "IPresenceRepository.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IPresenceRepository.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\IPresenceRepository.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IPresenceRepository.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\IPresenceRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABMAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:34:01.993Z", - "EditorCaption": "" + "Title": "Demo1.csproj", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj", + "RelativeDocumentMoniker": "Demo1\\Demo1.csproj", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj", + "RelativeToolTip": "Demo1\\Demo1.csproj", + "ViewState": "AgIAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-10-24T10:01:48.552Z" }, { "$type": "Document", "DocumentIndex": 27, - "Title": "IGroupRepository.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IGroupRepository.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\IGroupRepository.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\IGroupRepository.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\IGroupRepository.cs", - "ViewState": "AQIAAAsAAAAAAAAAAAAwwA4AAAABAAAA", + "Title": "UseCaseGeneratePresence.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", + "RelativeToolTip": "Demo1\\Domain\\UseCase\\UseCaseGeneratePresence.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADsAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:33:53.901Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:35:16.757Z" }, { "$type": "Document", "DocumentIndex": 28, - "Title": "GroupRepositoryImpl.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\GroupRepositoryImpl.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\GroupRepositoryImpl.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\GroupRepositoryImpl.cs", - "RelativeToolTip": "Demo1\\Data\\Repository\\GroupRepositoryImpl.cs", - "ViewState": "AQIAAA4AAAAAAAAAAAAQwDMAAAABAAAA", + "Title": "User.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\User.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\Models\\User.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\User.cs", + "RelativeToolTip": "Demo1\\Domain\\Models\\User.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:34:14.924Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T11:07:52.222Z" }, { "$type": "Document", "DocumentIndex": 29, - "Title": "RemoteDatabase.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\RemoteDatabase.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAABAAAA", + "Title": "Presence.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Presence.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\Models\\Presence.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Presence.cs", + "RelativeToolTip": "Demo1\\Domain\\Models\\Presence.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:28:39.98Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T11:28:19.174Z" }, { "$type": "Document", "DocumentIndex": 30, - "Title": "DesignTimeDbContextFactoryBase.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactoryBase.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactoryBase.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactoryBase.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactoryBase.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAABrAAAA", + "Title": "Group.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Group.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\Models\\Group.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\Models\\Group.cs", + "RelativeToolTip": "Demo1\\Domain\\Models\\Group.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T11:10:43.761Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T11:07:39.146Z" }, { "$type": "Document", "DocumentIndex": 31, - "Title": "DesignTimeDbContextFactory.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactory.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactory.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactory.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DesignTimeDbContextFactory.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAABAAAA", + "Title": "UserUseCase.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UserUseCase.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\UserUseCase.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UserUseCase.cs", + "RelativeToolTip": "Demo1\\Domain\\UseCase\\UserUseCase.cs", + "ViewState": "AgIAABwAAAAAAAAAAAA0wCYAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T11:06:13.548Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:35:04.932Z" }, { "$type": "Document", "DocumentIndex": 32, - "Title": "Presence.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", - "RelativeToolTip": "Demo1\\Data\\RemoteData\\RemoteDataBase\\DAO\\Presence.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAAAAAA", + "Title": "UseCasePresence.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UseCasePresence.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\UseCasePresence.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\UseCasePresence.cs", + "RelativeToolTip": "Demo1\\Domain\\UseCase\\UseCasePresence.cs", + "ViewState": "AgIAACMAAAAAAAAAAAAIwDcAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:10:23.933Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:38:10.123Z" }, { "$type": "Document", "DocumentIndex": 33, - "Title": "User.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\User.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\Entity\\User.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\User.cs", - "RelativeToolTip": "Demo1\\Data\\LocalData\\Entity\\User.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAABAAAA", + "Title": "GroupUseCase.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\GroupUseCase.cs", + "RelativeDocumentMoniker": "Demo1\\Domain\\UseCase\\GroupUseCase.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Domain\\UseCase\\GroupUseCase.cs", + "RelativeToolTip": "Demo1\\Domain\\UseCase\\GroupUseCase.cs", + "ViewState": "AgIAAAgAAAAAAAAAAAAAACMAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:27:14.655Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:35:09.914Z" }, { "$type": "Document", "DocumentIndex": 34, - "Title": "LocalPresence.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\LocalPresence.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\Entity\\LocalPresence.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\LocalPresence.cs", - "RelativeToolTip": "Demo1\\Data\\LocalData\\Entity\\LocalPresence.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAABAAAA", + "Title": "UserConsole.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\UserConsole.cs", + "RelativeDocumentMoniker": "Demo1\\UI\\UserConsole.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\UserConsole.cs", + "RelativeToolTip": "Demo1\\UI\\UserConsole.cs", + "ViewState": "AgIAABgAAAAAAAAAAAAywCoAAAANAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:27:05.651Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:32:43.036Z" }, { "$type": "Document", "DocumentIndex": 35, - "Title": "Group.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\Group.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\LocalData\\Entity\\Group.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\LocalData\\Entity\\Group.cs", - "RelativeToolTip": "Demo1\\Data\\LocalData\\Entity\\Group.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAABAAAA", + "Title": "PresenceConsole.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\PresenceConsole.cs", + "RelativeDocumentMoniker": "Demo1\\UI\\PresenceConsole.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\PresenceConsole.cs", + "RelativeToolTip": "Demo1\\UI\\PresenceConsole.cs", + "ViewState": "AgIAAAsAAAAAAAAAAAA6wC8AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:26:57.413Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:55:31.138Z" }, { "$type": "Document", "DocumentIndex": 36, - "Title": "UserNotFoundException.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\UserNotFoundException.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\UserNotFoundException.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\UserNotFoundException.cs", - "RelativeToolTip": "Demo1\\Data\\Exceptions\\UserNotFoundException.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAABAAAA", + "Title": "MainMenu.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\MainMenu.cs", + "RelativeDocumentMoniker": "Demo1\\UI\\MainMenu.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\MainMenu.cs", + "RelativeToolTip": "Demo1\\UI\\MainMenu.cs", + "ViewState": "AgIAAEoBAAAAAAAAAAAAAGUBAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:33:29.274Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:38:21.434Z" }, { "$type": "Document", "DocumentIndex": 37, - "Title": "RepositoryException.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\RepositoryException.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\RepositoryException.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\RepositoryException.cs", - "RelativeToolTip": "Demo1\\Data\\Exceptions\\RepositoryException.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAABAAAA", + "Title": "GroupConsole.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\GroupConsole.cs", + "RelativeDocumentMoniker": "Demo1\\UI\\GroupConsole.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\GroupConsole.cs", + "RelativeToolTip": "Demo1\\UI\\GroupConsole.cs", + "ViewState": "AgIAABAAAAAAAAAAAAAgwB8AAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:33:38.066Z", - "EditorCaption": "" + "WhenOpened": "2024-10-28T09:55:00.521Z" }, { "$type": "Document", "DocumentIndex": 38, - "Title": "GroupNotFoundException.cs", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", - "RelativeDocumentMoniker": "Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", - "RelativeToolTip": "Demo1\\Data\\Exceptions\\GroupNotFoundException.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAABAAAA", + "Title": "ExcelExporter.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\ExcelExporter.cs", + "RelativeDocumentMoniker": "Demo1\\UI\\ExcelExporter.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\UI\\ExcelExporter.cs", + "RelativeToolTip": "Demo1\\UI\\ExcelExporter.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAF4AAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-28T09:33:34.54Z", - "EditorCaption": "" + "WhenOpened": "2024-11-23T01:02:04.726Z" }, { "$type": "Document", "DocumentIndex": 39, - "Title": "Demo1.csproj", - "DocumentMoniker": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", - "RelativeDocumentMoniker": "Demo1\\Demo1.csproj", - "ToolTip": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", - "RelativeToolTip": "Demo1\\Demo1.csproj", - "ViewState": "AQIAAAsAAAAAAAAAAABRwBYAAABOAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2024-10-24T10:01:48.552Z", - "EditorCaption": "" + "Title": "SQLUserRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", + "RelativeDocumentMoniker": "Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", + "RelativeToolTip": "Demo1\\Data\\Repository\\SQLUserRepositoryImpl.cs", + "ViewState": "AgIAABYAAAAAAAAAAAAqwDEAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-28T09:29:36.037Z" + }, + { + "$type": "Document", + "DocumentIndex": 40, + "Title": "RemoteDatabaseContextModelSnapshot.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "RelativeDocumentMoniker": "Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "RelativeToolTip": "Demo1\\Migrations\\RemoteDatabaseContextModelSnapshot.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-23T04:28:18.396Z" + }, + { + "$type": "Document", + "DocumentIndex": 41, + "Title": "20241123030700_InitialCreate.cs", + "DocumentMoniker": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Migrations\\20241123030700_InitialCreate.cs", + "RelativeDocumentMoniker": "Demo1\\Migrations\\20241123030700_InitialCreate.cs", + "ToolTip": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\Demo1\\Migrations\\20241123030700_InitialCreate.cs", + "RelativeToolTip": "Demo1\\Migrations\\20241123030700_InitialCreate.cs", + "ViewState": "AgIAAC4AAAAAAAAAAAAgwAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-23T04:28:15.1Z" } ] } diff --git a/.vs/ProjectEvaluation/demo1.metadata.v7.bin b/.vs/ProjectEvaluation/demo1.metadata.v7.bin deleted file mode 100644 index d7e6339..0000000 Binary files a/.vs/ProjectEvaluation/demo1.metadata.v7.bin and /dev/null differ diff --git a/.vs/ProjectEvaluation/demo1.projects.v7.bin b/.vs/ProjectEvaluation/demo1.projects.v7.bin deleted file mode 100644 index 3801b70..0000000 Binary files a/.vs/ProjectEvaluation/demo1.projects.v7.bin and /dev/null differ diff --git a/.vs/slarny4/v17/.wsuo b/.vs/slarny4/v17/.wsuo index ff7e677..47d0741 100644 Binary files a/.vs/slarny4/v17/.wsuo and b/.vs/slarny4/v17/.wsuo differ diff --git a/.vs/slarny4/v17/DocumentLayout.json b/.vs/slarny4/v17/DocumentLayout.json index e2be5b8..dbb0432 100644 --- a/.vs/slarny4/v17/DocumentLayout.json +++ b/.vs/slarny4/v17/DocumentLayout.json @@ -1,12 +1,23 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\", + "WorkspaceRootPath": "C:\\Users\\\u041D\u0430\u0438\u043B\u044C\\source\\repos\\slarny4\\", "Documents": [], "DocumentGroupContainers": [ { "Orientation": 0, "VerticalTabListWidth": 256, - "DocumentGroups": [] + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": -1, + "Children": [ + { + "$type": "Bookmark", + "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" + } + ] + } + ] } ] } \ No newline at end of file diff --git a/Demo1/Controllers/AdminController.cs b/Demo1/Controllers/AdminController.cs new file mode 100644 index 0000000..42f0f01 --- /dev/null +++ b/Demo1/Controllers/AdminController.cs @@ -0,0 +1,75 @@ +using Microsoft.AspNetCore.Mvc; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.Domain.UseCase; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Demo.API.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class AdminController : ControllerBase + { + private readonly UserUseCase _userUseCase; + private readonly GroupUseCase _groupUseCase; + private readonly UseCasePresence _presenceUseCase; + + public AdminController(UserUseCase userUseCase, GroupUseCase groupUseCase, UseCasePresence presenceUseCase) + { + _userUseCase = userUseCase; + _groupUseCase = groupUseCase; + _presenceUseCase = presenceUseCase; + } + + [HttpPost("addUser")] + public IActionResult AddUser([FromBody] User user) + { + _userUseCase.UpdateUser(user); + return Ok(); + } + + [HttpPut("updateUser")] + public IActionResult UpdateUser([FromBody] User user) + { + _userUseCase.UpdateUser(user); + return Ok(); + } + + [HttpDelete("deleteUser/{id}")] + public IActionResult DeleteUser(Guid id) + { + _userUseCase.DeleteUser(id); + return Ok(); + } + + [HttpGet("getUser/{id}")] + public IActionResult GetUser(Guid id) + { + var user = _userUseCase.GetUserById(id); + if (user == null) + { + return NotFound(); + } + return Ok(user); + } + + [HttpGet("getAllUsers")] + public IActionResult GetAllUsers() + { + var users = _userUseCase.GetAllUsers(); + return Ok(users); + } + + [HttpGet("getPresenceByUser/{userId}")] + public IActionResult GetPresenceByUser(Guid userId) + { + var presence = _presenceUseCase.GetPresenceByGroup(userId); + if (presence == null) + { + return NotFound(); + } + return Ok(presence); + } + } +} \ No newline at end of file diff --git a/Demo1/Controllers/PresenceController.cs b/Demo1/Controllers/PresenceController.cs new file mode 100644 index 0000000..889ef92 --- /dev/null +++ b/Demo1/Controllers/PresenceController.cs @@ -0,0 +1,59 @@ +using Microsoft.AspNetCore.Mvc; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.Domain.UseCase; +using Demo.Domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Demo.API.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class PresenceController : ControllerBase + { + private readonly UseCasePresence _presenceUseCase; + + public PresenceController(UseCasePresence presenceUseCase) + { + _presenceUseCase = presenceUseCase; + } + + [HttpGet("getPresenceByGroup")] + public IActionResult GetPresenceByGroup([FromQuery] int groupId) + { + var presence = _presenceUseCase.GetPresenceByGroup(groupId); + return Ok(presence); + } + + [HttpPost("addPresence")] + public IActionResult AddPresence([FromBody] Demo.Data.RemoteData.RemoteDataBase.DAO.Presence daoPresence) + { + var domainPresence = new Demo.Domain.Models.Presence + { + Id = daoPresence.Id, + Date = daoPresence.Date, + LessonNumber = daoPresence.LessonNumber, + IsAttendance = daoPresence.IsAttendance, + UserId = daoPresence.UserId + }; + + _presenceUseCase.PresenceRepository.AddPresence(domainPresence); + return Ok(); + } + + [HttpPut("markUserAsAbsent")] + public IActionResult MarkUserAsAbsent([FromQuery] Guid userId, [FromQuery] int lessonNumber, [FromQuery] DateTime date) + { + _presenceUseCase.MarkUserAsAbsent(userId, lessonNumber, date); + return Ok(); + } + + [HttpDelete("deletePresence")] + public IActionResult DeletePresence([FromQuery] Guid id) + { + _presenceUseCase.PresenceRepository.DeletePresence(id); + return Ok(); + } + } +} \ No newline at end of file diff --git a/Demo1/Data/Exceptions/GroupNotFoundException.cs b/Demo1/Data/Exceptions/GroupNotFoundException.cs index 41b69c6..705c507 100644 --- a/Demo1/Data/Exceptions/GroupNotFoundException.cs +++ b/Demo1/Data/Exceptions/GroupNotFoundException.cs @@ -1,13 +1,9 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\Exceptions\GroupNotFoundException.cs -using System; +using System; namespace Demo.Data.Exceptions { public class GroupNotFoundException : Exception { - public GroupNotFoundException(int groupId) - : base($"Group with ID {groupId} was not found.") - { - } + public GroupNotFoundException(string message) : base(message) { } } } \ No newline at end of file diff --git a/Demo1/Data/Exceptions/PresenceNotFoundException.cs b/Demo1/Data/Exceptions/PresenceNotFoundException.cs new file mode 100644 index 0000000..74b9c81 --- /dev/null +++ b/Demo1/Data/Exceptions/PresenceNotFoundException.cs @@ -0,0 +1,9 @@ +using System; + +namespace Demo.Data.Exceptions +{ + public class PresenceNotFoundException : Exception + { + public PresenceNotFoundException(string message) : base(message) { } + } +} \ No newline at end of file diff --git a/Demo1/Data/Exceptions/RepositoryException.cs b/Demo1/Data/Exceptions/RepositoryException.cs index 5f4e4fb..5732bc4 100644 --- a/Demo1/Data/Exceptions/RepositoryException.cs +++ b/Demo1/Data/Exceptions/RepositoryException.cs @@ -1,13 +1,9 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\Exceptions\RepositoryException.cs -using System; +using System; namespace Demo.Data.Exceptions { public class RepositoryException : Exception { - public RepositoryException(string message) - : base(message) - { - } + public RepositoryException(string message) : base(message) { } } } \ No newline at end of file diff --git a/Demo1/Data/Exceptions/UserNotFoundException.cs b/Demo1/Data/Exceptions/UserNotFoundException.cs index 9101f2c..9e8b495 100644 --- a/Demo1/Data/Exceptions/UserNotFoundException.cs +++ b/Demo1/Data/Exceptions/UserNotFoundException.cs @@ -1,13 +1,9 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\Exceptions\UserNotFoundException.cs -using System; +using System; namespace Demo.Data.Exceptions { public class UserNotFoundException : Exception { - public UserNotFoundException(Guid userId) - : base($"User with ID {userId} was not found.") - { - } + public UserNotFoundException(string message) : base(message) { } } } \ No newline at end of file diff --git a/Demo1/Data/LocalData/Entity/Group.cs b/Demo1/Data/LocalData/Entity/Group.cs index 961738c..c384bda 100644 --- a/Demo1/Data/LocalData/Entity/Group.cs +++ b/Demo1/Data/LocalData/Entity/Group.cs @@ -1,9 +1,8 @@ -// Group.cs в LocalData/Entity -namespace Demo.Data.LocalData.Entity +namespace Demo.Data.LocalData.Entity { public class Group { public int Id { get; set; } - public string Name { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; // Инициализация по умолчанию } } \ No newline at end of file diff --git a/Demo1/Data/LocalData/Entity/LocalPresence.cs b/Demo1/Data/LocalData/Entity/LocalPresence.cs deleted file mode 100644 index 526e5ac..0000000 --- a/Demo1/Data/LocalData/Entity/LocalPresence.cs +++ /dev/null @@ -1,13 +0,0 @@ -// C:\Users\class_Student\source\repos\slarny4\Demo1\Data\LocalData\Entity\Presence.cs -using System; - -namespace Demo.Data.LocalData.Entity -{ - public class LocalPresence - { - public Guid UserId { get; set; } - public DateTime ClassDate { get; set; } - public int LessonNumber { get; set; } // Вместо ClassNumber - public bool WasPresent { get; set; } // Вместо IsPresent - } -} \ No newline at end of file diff --git a/Demo1/Data/LocalData/Entity/Presence.cs b/Demo1/Data/LocalData/Entity/Presence.cs new file mode 100644 index 0000000..64dbdaa --- /dev/null +++ b/Demo1/Data/LocalData/Entity/Presence.cs @@ -0,0 +1,11 @@ +namespace Demo.Data.LocalData.Entity +{ + public class Presence + { + public Guid Id { get; set; } // Убедитесь, что тип Guid + public DateTime Date { get; set; } + public int LessonNumber { get; set; } + public bool IsAttendance { get; set; } + public Guid UserId { get; set; } + } +} \ No newline at end of file diff --git a/Demo1/Data/LocalData/Entity/User.cs b/Demo1/Data/LocalData/Entity/User.cs index 3c498fc..0138d3f 100644 --- a/Demo1/Data/LocalData/Entity/User.cs +++ b/Demo1/Data/LocalData/Entity/User.cs @@ -1,12 +1,9 @@ -// User.cs в LocalData/Entity -using System; - -namespace Demo.Data.LocalData.Entity +namespace Demo.Data.LocalData.Entity { public class User { public Guid Id { get; set; } - public string FIO { get; set; } = string.Empty; + public string FIO { get; set; } = string.Empty; // Инициализация по умолчанию public int GroupID { get; set; } } } \ No newline at end of file diff --git a/Demo1/Data/LocalData/LocalStaticData.cs b/Demo1/Data/LocalData/LocalStaticData.cs index 34132d3..d2a281f 100644 --- a/Demo1/Data/LocalData/LocalStaticData.cs +++ b/Demo1/Data/LocalData/LocalStaticData.cs @@ -1,29 +1,22 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\LocalData\LocalStaticData.cs -using System; -using System.Collections.Generic; -using Demo.Data.LocalData.Entity; - -namespace Demo.Data.LocalData +namespace Demo.Data.LocalData { public static class LocalStaticData { - public static List Users = new List + public static List Users = new List { - new User { Id = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "Иванов Иван Иванович", GroupID = 1 }, - new User { Id = Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "Петров Петр Петрович", GroupID = 2 }, - new User { Id = Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "Мендалиев Наиль", GroupID = 3 }, - new User { Id = Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "Сидоров Сидор Сидорович", GroupID = 1 }, - new User { Id = Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "Кузнецов Алексей Викторович", GroupID = 2 }, - new User { Id = Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "Смирнова Анна Сергеевна", GroupID = 3 } + new Entity.User { Id = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "Иванов Иван Иванович", GroupID = 1 }, + new Entity.User { Id = Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "Петров Петр Петрович", GroupID = 2 }, + new Entity.User { Id = Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "Мендалиев Наиль", GroupID = 3 }, + new Entity.User { Id = Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "Сидоров Сидор Сидорович", GroupID = 1 }, + new Entity.User { Id = Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "Кузнецов Алексей Викторович", GroupID = 2 }, + new Entity.User { Id = Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "Смирнова Анна Сергеевна", GroupID = 3 } }; - public static List Groups = new List + public static List Groups = new List { - new Group { Id = 1, Name = "ИП1-23" }, - new Group { Id = 2, Name = "ИП1-22" }, - new Group { Id = 3, Name = "С1-23" } + new Entity.Group { Id = 1, Name = "ИП1-23" }, + new Entity.Group { Id = 2, Name = "ИП1-22" }, + new Entity.Group { Id = 3, Name = "С1-23" } }; - - public static List Presences = new List(); } } \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DAO/AttendanceRecord.cs b/Demo1/Data/RemoteData/RemoteDataBase/DAO/AttendanceRecord.cs new file mode 100644 index 0000000..d42f1d4 --- /dev/null +++ b/Demo1/Data/RemoteData/RemoteDataBase/DAO/AttendanceRecord.cs @@ -0,0 +1,10 @@ +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class AttendanceRecord + { + public DateTime Date { get; set; } + public int LessonNumber { get; set; } + public bool IsAttendance { get; set; } + public Guid UserId { get; set; } + } +} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DAO/Group.cs b/Demo1/Data/RemoteData/RemoteDataBase/DAO/Group.cs index 4b1ddef..b1c0ff2 100644 --- a/Demo1/Data/RemoteData/RemoteDataBase/DAO/Group.cs +++ b/Demo1/Data/RemoteData/RemoteDataBase/DAO/Group.cs @@ -1,10 +1,8 @@ -// Group.cs в RemoteData/RemoteDataBase/DAO -namespace Demo.Data.RemoteData.RemoteDataBase.DAO +namespace Demo.Data.RemoteData.RemoteDataBase.DAO { - public class GroupDAO + public class Group { - public int Id { get; set; } - public string Name { get; set; } = string.Empty; - public UserDAO User { get; set; } + public int Id { get; set; } // Убедитесь, что тип int + public string Name { get; set; } = string.Empty; // Инициализация по умолчанию } } \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DAO/GroupAttendanceStatistics.cs b/Demo1/Data/RemoteData/RemoteDataBase/DAO/GroupAttendanceStatistics.cs new file mode 100644 index 0000000..55122c0 --- /dev/null +++ b/Demo1/Data/RemoteData/RemoteDataBase/DAO/GroupAttendanceStatistics.cs @@ -0,0 +1,10 @@ +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class GroupAttendanceStatistics + { + public int GroupId { get; set; } + public int TotalLessons { get; set; } + public int TotalAttendance { get; set; } + public double AttendancePercentage { get; set; } + } +} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DAO/Presence.cs b/Demo1/Data/RemoteData/RemoteDataBase/DAO/Presence.cs index 2cee148..223c771 100644 --- a/Demo1/Data/RemoteData/RemoteDataBase/DAO/Presence.cs +++ b/Demo1/Data/RemoteData/RemoteDataBase/DAO/Presence.cs @@ -1,15 +1,11 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace Demo.Data.RemoteData.RemoteDataBase.DAO +namespace Demo.Data.RemoteData.RemoteDataBase.DAO { - public class PresenceDAO + public class Presence { - - public int PresenceId { get; set; } // Уникальный идентификатор записи - public DateTime ClassDate { get; set; } // Дата занятия + public Guid Id { get; set; } // Убедитесь, что тип Guid + public DateTime Date { get; set; } public int LessonNumber { get; set; } - public bool WasPresent { get; set; } + public bool IsAttendance { get; set; } public Guid UserId { get; set; } } -} +} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DAO/User.cs b/Demo1/Data/RemoteData/RemoteDataBase/DAO/User.cs index f259e00..94e3aac 100644 --- a/Demo1/Data/RemoteData/RemoteDataBase/DAO/User.cs +++ b/Demo1/Data/RemoteData/RemoteDataBase/DAO/User.cs @@ -1,12 +1,9 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace Demo.Data.RemoteData.RemoteDataBase.DAO +namespace Demo.Data.RemoteData.RemoteDataBase.DAO { - public class UserDAO + public class User { - public Guid UserId { get; set; } // Измените имя на UserId - public string FIO { get; set; } = string.Empty; + public Guid Id { get; set; } + public string FIO { get; set; } = string.Empty; // Инициализация по умолчанию public int GroupID { get; set; } } -} +} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs b/Demo1/Data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs new file mode 100644 index 0000000..15a8db8 --- /dev/null +++ b/Demo1/Data/RemoteData/RemoteDataBase/DAO/UserAttendance.cs @@ -0,0 +1,10 @@ +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class UserAttendance + { + public Guid UserId { get; set; } + public int TotalLessons { get; set; } + public int TotalAttendance { get; set; } + public double AttendancePercentage { get; set; } + } +} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DesignTimeDbContextFactory.cs b/Demo1/Data/RemoteData/RemoteDataBase/DesignTimeDbContextFactory.cs deleted file mode 100644 index 369cc11..0000000 --- a/Demo1/Data/RemoteData/RemoteDataBase/DesignTimeDbContextFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -namespace Demo.Data.RemoteData.RemoteDataBase -{ - public class DesignTimeDbContextFactory : DesignTimeDbContextFactoryBase - { - protected override RemoteDatabaseContext CreateNewInstance(DbContextOptions options) - { - return new RemoteDatabaseContext(options); - } - } -} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/DesignTimeDbContextFactoryBase.cs b/Demo1/Data/RemoteData/RemoteDataBase/DesignTimeDbContextFactoryBase.cs deleted file mode 100644 index f209fe2..0000000 --- a/Demo1/Data/RemoteData/RemoteDataBase/DesignTimeDbContextFactoryBase.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Design; - -namespace Demo.Data.RemoteData.RemoteDataBase -{ - public abstract class DesignTimeDbContextFactoryBase : IDesignTimeDbContextFactory where TContext : DbContext - { - public TContext CreateDbContext(string[] args) - { - var builder = new DbContextOptionsBuilder(); - builder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=user5;Username=user5;Password=EtEJqhsf"); - - return CreateNewInstance(builder.Options); - } - - protected abstract TContext CreateNewInstance(DbContextOptions options); - } -} \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabase.cs b/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabase.cs index e07737c..cb4c30f 100644 --- a/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabase.cs +++ b/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabase.cs @@ -1,8 +1,22 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\RemoteData\RemoteDataBase\RemoteDatabase.cs +using Microsoft.EntityFrameworkCore; + namespace Demo.Data.RemoteData.RemoteDataBase { - public class RemoteDatabase + public class RemoteDatabase : DbContext { - // Логика подключения к удаленной базе данных + public DbSet Users { get; set; } + public DbSet Groups { get; set; } + public DbSet Presence { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user5;Database=user5;Password=EtEJqhsf"); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity() + .HasKey(p => p.Id); // Указание первичного ключа + } } } \ No newline at end of file diff --git a/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs b/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs index f9eec6e..f099a50 100644 --- a/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs +++ b/Demo1/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs @@ -1,44 +1,26 @@ -using Demo.Data.LocalData.Entity; // Локальные сущности -using Demo.Data.RemoteData.RemoteDataBase.DAO; // DAO классы -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Demo.Data.RemoteData.RemoteDataBase.DAO; // Используйте правильное пространство имен -public class RemoteDatabaseContext : DbContext +namespace Demo.Data.RemoteData.RemoteDataBase { - public DbSet User { get; set; } - public DbSet Group { get; set; } // DbSet для GroupDao - public DbSet Presence { get; set; } // DbSet для PresenceDao - - public RemoteDatabaseContext(DbContextOptions options) : base(options) { } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + public class RemoteDatabaseContext : DbContext { - if (!optionsBuilder.IsConfigured) + public DbSet Users { get; set; } + public DbSet Groups { get; set; } + public DbSet Presence { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=;Username=user5;Password=EtEJqhsf"); + optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user5;Database=user5;Password=EtEJqhsf"); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity() + .HasKey(p => p.Id); // Указание первичного ключа + + modelBuilder.Entity() + .HasKey(g => g.Id); // Указание первичного ключа } } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity().HasKey(group => group.Id); - modelBuilder.Entity().Property(group => group.Id).ValueGeneratedOnAdd(); - - modelBuilder.Entity().HasKey(user => user.UserId); - modelBuilder.Entity().Property(user => user.UserId).ValueGeneratedOnAdd(); - - modelBuilder.Entity().HasKey(presence => presence.PresenceId); // Устанавливаем первичный ключ - - // Дополнительные настройки для User - modelBuilder.Entity(entity => - { - entity.ToTable("User"); // Имя таблицы - entity.HasKey(e => e.Id); // Указываем первичный ключ - entity.Property(e => e.FIO) - .IsRequired() - .HasColumnName("FIO"); - entity.Property(e => e.GroupID) - .IsRequired() - .HasColumnName("GroupID"); - }); - } -} +} \ No newline at end of file diff --git a/Demo1/Data/Repository/GroupRepositoryImpl.cs b/Demo1/Data/Repository/GroupRepositoryImpl.cs deleted file mode 100644 index 795e8c5..0000000 --- a/Demo1/Data/Repository/GroupRepositoryImpl.cs +++ /dev/null @@ -1,52 +0,0 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\Repository\GroupRepositoryImpl.cs -using System.Collections.Generic; -using System.Linq; -using Demo.Data.Exceptions; -using Demo.Data.LocalData; -using Demo.Data.LocalData.Entity; -using Demo.Data.RemoteData.RemoteDataBase; - -namespace Demo.Data.Repository -{ - public class GroupRepositoryImpl : IGroupRepository - { - private RemoteDatabaseContext context; - - public GroupRepositoryImpl(RemoteDatabaseContext context) - { - this.context = context; - } - - public void AddGroup(Group group) - { - if (LocalStaticData.Groups.Any(g => g.Id == group.Id)) - throw new RepositoryException("Group with the same ID already exists."); - LocalStaticData.Groups.Add(group); - } - - public void DeleteGroup(int id) - { - var group = GetGroupById(id); - LocalStaticData.Groups.Remove(group); - } - - public IEnumerable GetAllGroups() - { - return LocalStaticData.Groups; - } - - public Group GetGroupById(int id) - { - var group = LocalStaticData.Groups.FirstOrDefault(g => g.Id == id); - if (group == null) - throw new GroupNotFoundException(id); - return group; - } - - public void UpdateGroup(Group group) - { - var existingGroup = GetGroupById(group.Id); - existingGroup.Name = group.Name; - } - } -} \ No newline at end of file diff --git a/Demo1/Data/Repository/IGroupRepository.cs b/Demo1/Data/Repository/IGroupRepository.cs index b6496f1..d263c0b 100644 --- a/Demo1/Data/Repository/IGroupRepository.cs +++ b/Demo1/Data/Repository/IGroupRepository.cs @@ -1,15 +1,13 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\Repository\IGroupRepository.cs +using Demo.Data.RemoteData.RemoteDataBase.DAO; using System.Collections.Generic; -using Demo.Data.LocalData.Entity; namespace Demo.Data.Repository { public interface IGroupRepository { IEnumerable GetAllGroups(); - Group GetGroupById(int id); void AddGroup(Group group); - void UpdateGroup(Group group); + void UpdateGroupName(int id, string name); void DeleteGroup(int id); } } \ No newline at end of file diff --git a/Demo1/Data/Repository/IPresenceRepository.cs b/Demo1/Data/Repository/IPresenceRepository.cs index fd7992f..b7540e1 100644 --- a/Demo1/Data/Repository/IPresenceRepository.cs +++ b/Demo1/Data/Repository/IPresenceRepository.cs @@ -1,20 +1,17 @@ -// IPresenceRepository.cs +using Demo.Domain.Models; using System; using System.Collections.Generic; -using AttendanceApp.Domain.Models; -using Demo.Data.LocalData.Entity; namespace Demo.Data.Repository { public interface IPresenceRepository { - IEnumerable GetPresencesByGroupAndDate(int groupId, DateTime date); - void AddPresence(LocalPresence presence); - void UpdatePresence(LocalPresence presence); - IEnumerable GetAllPresences(); - IEnumerable GetPresenceByGroup(int groupId); + void AddPresence(Presence presence); + IEnumerable GetPresenceByGroup(int groupId); + IEnumerable GetPresenceByGroupAndDate(int groupId, DateTime date); + void MarkUserAsAbsent(Guid userId, int lessonNumber, DateTime date); + IEnumerable GetAllPresence(); + void DeletePresence(Guid id); void UpdatePresence(Presence presence); - // Удалите этот метод, так как он дублирует GetPresencesByGroupAndDate - // IEnumerable GetPresenceByGroupAndDate(int groupId, DateTime date); } } \ No newline at end of file diff --git a/Demo1/Data/Repository/IUserRepository.cs b/Demo1/Data/Repository/IUserRepository.cs index 76bf30c..727cc95 100644 --- a/Demo1/Data/Repository/IUserRepository.cs +++ b/Demo1/Data/Repository/IUserRepository.cs @@ -1,6 +1,6 @@ -using System; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using System; using System.Collections.Generic; -using Demo.Domain.Models; namespace Demo.Data.Repository { @@ -8,8 +8,8 @@ namespace Demo.Data.Repository { IEnumerable GetAllUsers(); User GetUserById(Guid id); - void AddUser(User user); void UpdateUser(User user); void DeleteUser(Guid id); + void AddUser(User user); } } \ No newline at end of file diff --git a/Demo1/Data/Repository/PresenceRepositoryImpl.cs b/Demo1/Data/Repository/PresenceRepositoryImpl.cs deleted file mode 100644 index 4d4a66e..0000000 --- a/Demo1/Data/Repository/PresenceRepositoryImpl.cs +++ /dev/null @@ -1,70 +0,0 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Data\Repository\PresenceRepositoryImpl.cs -using System; -using System.Collections.Generic; -using System.Linq; -using AttendanceApp.Domain.Models; -using Demo.Data.LocalData; -using Demo.Data.LocalData.Entity; -using Demo.Data.RemoteData.RemoteDataBase; - -namespace Demo.Data.Repository -{ - public class PresenceRepositoryImpl : IPresenceRepository - { - private RemoteDatabaseContext context; - - public PresenceRepositoryImpl(RemoteDatabaseContext context) - { - this.context = context; - } - - public void AddPresence(LocalPresence presence) - { - LocalStaticData.Presences.Add(presence); - } - - public IEnumerable GetAllPresences() - { - return LocalStaticData.Presences; - } - - public IEnumerable GetPresenceByGroup(int groupId) - { - throw new NotImplementedException(); - } - - public IEnumerable GetPresenceByGroupAndDate(int groupId, DateTime date) - { - throw new NotImplementedException(); - } - - public IEnumerable GetPresencesByGroupAndDate(int groupId, DateTime date) - { - var usersInGroup = LocalStaticData.Users.Where(u => u.GroupID == groupId).Select(u => u.Id).ToList(); - return LocalStaticData.Presences.Where(p => usersInGroup.Contains(p.UserId) && p.ClassDate.Date == date.Date); - } - - public void UpdatePresence(LocalPresence presence) - { - var existingPresence = LocalStaticData.Presences.FirstOrDefault(p => - p.UserId == presence.UserId && - p.ClassDate.Date == presence.ClassDate.Date && - p.LessonNumber == presence.LessonNumber); - - if (existingPresence != null) - { - existingPresence.WasPresent = presence.WasPresent; - } - } - - public void UpdatePresence(Presence presence) - { - throw new NotImplementedException(); - } - - IEnumerable IPresenceRepository.GetPresenceByGroup(int groupId) - { - throw new NotImplementedException(); - } - } -} \ No newline at end of file diff --git a/Demo1/Data/Repository/SQLGroupRepositoryImpl.cs b/Demo1/Data/Repository/SQLGroupRepositoryImpl.cs index c0fadf4..9a421c5 100644 --- a/Demo1/Data/Repository/SQLGroupRepositoryImpl.cs +++ b/Demo1/Data/Repository/SQLGroupRepositoryImpl.cs @@ -1,12 +1,48 @@ -using System; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Microsoft.EntityFrameworkCore; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace Demo1.Data.Repository +namespace Demo.Data.Repository { - internal class SQLGroupRepositoryImpl + public class SQLGroupRepositoryImpl : IGroupRepository { + private readonly DbContext _context; + + public SQLGroupRepositoryImpl(DbContext context) + { + _context = context; + } + + public IEnumerable GetAllGroups() + { + return _context.Set().ToList(); + } + + public void AddGroup(Group group) + { + _context.Set().Add(group); + _context.SaveChanges(); + } + + public void UpdateGroupName(int id, string name) + { + var group = _context.Set().Find(id); + if (group != null) + { + group.Name = name; + _context.SaveChanges(); + } + } + + public void DeleteGroup(int id) + { + var group = _context.Set().Find(id); + if (group != null) + { + _context.Set().Remove(group); + _context.SaveChanges(); + } + } } -} +} \ No newline at end of file diff --git a/Demo1/Data/Repository/SQLPresenceRepository.cs b/Demo1/Data/Repository/SQLPresenceRepository.cs index eb4ec8f..cc86771 100644 --- a/Demo1/Data/Repository/SQLPresenceRepository.cs +++ b/Demo1/Data/Repository/SQLPresenceRepository.cs @@ -1,12 +1,120 @@ -using System; +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Domain.Models; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace Demo1.Data.Repository +namespace Demo.Data.Repository { - internal class SQLPresenceRepository + public class SQLPresenceRepository : IPresenceRepository { + private readonly DbContext _context; + + public SQLPresenceRepository(DbContext context) + { + _context = context; + } + + public void AddPresence(Presence presence) + { + presence.Date = DateTime.SpecifyKind(presence.Date, DateTimeKind.Utc); + _context.Set().Add(new RemoteData.RemoteDataBase.DAO.Presence + { + Id = presence.Id, + Date = presence.Date, + LessonNumber = presence.LessonNumber, + IsAttendance = presence.IsAttendance, + UserId = presence.UserId + }); + _context.SaveChanges(); + } + + public void AddPresence(RemoteData.RemoteDataBase.DAO.Presence presence) + { + presence.Date = DateTime.SpecifyKind(presence.Date, DateTimeKind.Utc); + _context.Set().Add(presence); + _context.SaveChanges(); + } + + public IEnumerable GetPresenceByGroup(int groupId) + { + return _context.Set() + .Where(p => _context.Set().Any(u => u.Id == p.UserId && u.GroupID == groupId)) + .Select(p => new Presence + { + Id = p.Id, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttendance = p.IsAttendance, + UserId = p.UserId + }) + .ToList(); + } + + public IEnumerable GetPresenceByGroupAndDate(int groupId, DateTime date) + { + date = DateTime.SpecifyKind(date, DateTimeKind.Utc); + return _context.Set() + .Where(p => _context.Set().Any(u => u.Id == p.UserId && u.GroupID == groupId) && p.Date == date) + .Select(p => new Presence + { + Id = p.Id, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttendance = p.IsAttendance, + UserId = p.UserId + }) + .ToList(); + } + + public void MarkUserAsAbsent(Guid userId, int lessonNumber, DateTime date) + { + date = DateTime.SpecifyKind(date, DateTimeKind.Utc); + var presence = _context.Set() + .FirstOrDefault(p => p.UserId == userId && p.LessonNumber == lessonNumber && p.Date == date); + if (presence != null) + { + presence.IsAttendance = false; + _context.SaveChanges(); + } + } + + public IEnumerable GetAllPresence() + { + return _context.Set() + .Select(p => new Presence + { + Id = p.Id, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttendance = p.IsAttendance, + UserId = p.UserId + }) + .ToList(); + } + + public void DeletePresence(Guid id) + { + var presence = _context.Set().Find(id); + if (presence != null) + { + _context.Set().Remove(presence); + _context.SaveChanges(); + } + } + + public void UpdatePresence(Presence presence) + { + var existingPresence = _context.Set().Find(presence.Id); + if (existingPresence != null) + { + existingPresence.Date = presence.Date; + existingPresence.LessonNumber = presence.LessonNumber; + existingPresence.IsAttendance = presence.IsAttendance; + existingPresence.UserId = presence.UserId; + _context.SaveChanges(); + } + } } -} +} \ No newline at end of file diff --git a/Demo1/Data/Repository/SQLUserRepositoryImpl.cs b/Demo1/Data/Repository/SQLUserRepositoryImpl.cs index 71621a3..1bf3cea 100644 --- a/Demo1/Data/Repository/SQLUserRepositoryImpl.cs +++ b/Demo1/Data/Repository/SQLUserRepositoryImpl.cs @@ -1,86 +1,50 @@ -using System; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.Linq; -using Demo.Data.RemoteData.RemoteDataBase.DAO; // DAO User -using UserDomain = Demo.Domain.Models.User; // Доменная модель -using UserEntity = Demo.Data.LocalData.Entity.User; // Локальная сущность namespace Demo.Data.Repository { public class SQLUserRepositoryImpl : IUserRepository { - private readonly RemoteDatabaseContext _context; + private readonly DbContext _context; - public SQLUserRepositoryImpl(RemoteDatabaseContext context) + public SQLUserRepositoryImpl(DbContext context) { _context = context; } - public void AddUser(UserDomain user) + public IEnumerable GetAllUsers() { - var daoUser = new UserEntity // Используем локальную сущность - { - Id = user.Id, - FIO = user.FIO, - GroupID = user.GroupID - }; - _context.User.Add(daoUser); + return _context.Set().ToList(); + } + + public User GetUserById(Guid id) + { + return _context.Set().Find(id); + } + + public void UpdateUser(User user) + { + _context.Set().Update(user); _context.SaveChanges(); } - public IEnumerable GetAllUser() - { - return _context.User.Select(u => new UserDomain - { - Id = u.Id, - FIO = u.FIO, - GroupID = u.GroupID - }).ToList(); - } - - public UserDomain GetUserById(Guid id) - { - var daoUser = _context.User.Find(id); - if (daoUser == null) return null; - - return new UserDomain - { - Id = daoUser.Id, - FIO = daoUser.FIO, - GroupID = daoUser.GroupID - }; - } - - public void UpdateUser(UserDomain user) - { - var daoUser = _context.User.Find(user.Id); - if (daoUser != null) - { - daoUser.FIO = user.FIO; - daoUser.GroupID = user.GroupID; - _context.SaveChanges(); - } - } - public void DeleteUser(Guid id) { - var daoUser = _context.User.Find(id); - if (daoUser != null) + var user = _context.Set().Find(id); + if (user != null) { - _context.User.Remove(daoUser); + _context.Set().Remove(user); _context.SaveChanges(); } } - // Реализуем метод GetAllUsers - public IEnumerable GetAllUsers() + public void AddUser(User user) { - return _context.User.Select(u => new UserDomain - { - Id = u.Id, - FIO = u.FIO, - GroupID = u.GroupID - }).ToList(); + _context.Set().Add(user); + _context.SaveChanges(); } } -} +} \ No newline at end of file diff --git a/Demo1/Data/Repository/UserRepositoryImpl.cs b/Demo1/Data/Repository/UserRepositoryImpl.cs deleted file mode 100644 index dc9d943..0000000 --- a/Demo1/Data/Repository/UserRepositoryImpl.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Demo.Domain.Models; -using Demo.Data.LocalData; - -namespace Demo.Data.Repository -{ - public class UserRepositoryImpl : IUserRepository - { - public IEnumerable GetAllUsers() - { - return LocalStaticData.Users.Select(u => new User - { - Id = u.Id, - FIO = u.FIO, - GroupID = u.GroupID - }); - } - - public User GetUserById(Guid id) - { - var localUser = LocalStaticData.Users.FirstOrDefault(u => u.Id == id); - if (localUser == null) - throw new Exception("User not found"); - - return new User - { - Id = localUser.Id, - FIO = localUser.FIO, - GroupID = localUser.GroupID - }; - } - - public void AddUser(User user) - { - var localUser = new LocalData.Entity.User - { - Id = user.Id, - FIO = user.FIO, - GroupID = user.GroupID - }; - LocalStaticData.Users.Add(localUser); - } - - public void UpdateUser(User user) - { - var localUser = LocalStaticData.Users.FirstOrDefault(u => u.Id == user.Id); - if (localUser == null) - throw new Exception("User not found"); - - localUser.FIO = user.FIO; - localUser.GroupID = user.GroupID; - } - - public void DeleteUser(Guid id) - { - var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == id); - if (user != null) - { - LocalStaticData.Users.Remove(user); - } - } - } -} \ No newline at end of file diff --git a/Demo1/Data/appsettings.json b/Demo1/Data/appsettings.json deleted file mode 100644 index 141965c..0000000 --- a/Demo1/Data/appsettings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "ConnectionStrings": { - "DefaultConnection": "Host=45.67.56.214;Port=5421;Database=user5;Username=user5;Password=EtEJqhsf" - } -} diff --git a/Demo1/DataInitializer.cs b/Demo1/DataInitializer.cs new file mode 100644 index 0000000..2c90d2b --- /dev/null +++ b/Demo1/DataInitializer.cs @@ -0,0 +1,36 @@ +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Microsoft.EntityFrameworkCore; + +namespace Demo +{ + public class DataInitializer + { + public static void Initialize(RemoteDatabaseContext context) + { + context.Database.EnsureCreated(); + + if (context.Groups.Any() || context.Users.Any()) + { + return; // База данных уже содержит данные + } + + context.Users.AddRange( + new User { Id = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "Иванов Иван Иванович", GroupID = 1 }, + new User { Id = Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "Петров Петр Петрович", GroupID = 2 }, + new User { Id = Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "Мендалиев Наиль", GroupID = 3 }, + new User { Id = Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "Сидоров Сидор Сидорович", GroupID = 1 }, + new User { Id = Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "Кузнецов Алексей Викторович", GroupID = 2 }, + new User { Id = Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "Смирнова Анна Сергеевна", GroupID = 3 } + ); + + context.Groups.AddRange( + new Group { Id = 1, Name = "ИП1-23" }, + new Group { Id = 2, Name = "ИП1-22" }, + new Group { Id = 3, Name = "С1-23" } + ); + + context.SaveChanges(); + } + } +} \ No newline at end of file diff --git a/Demo1/Demo1 - Backup.csproj b/Demo1/Demo1 - Backup.csproj new file mode 100644 index 0000000..abdeb6c --- /dev/null +++ b/Demo1/Demo1 - Backup.csproj @@ -0,0 +1,33 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + diff --git a/Demo1/Demo1.csproj b/Demo1/Demo1.csproj index 1ca4eda..43a5ef9 100644 --- a/Demo1/Demo1.csproj +++ b/Demo1/Demo1.csproj @@ -8,24 +8,52 @@ + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive + all runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + - + diff --git a/Demo1/Domain/Models/Group.cs b/Demo1/Domain/Models/Group.cs index 8f130ba..e8f01c0 100644 --- a/Demo1/Domain/Models/Group.cs +++ b/Demo1/Domain/Models/Group.cs @@ -1,5 +1,8 @@ -public class Group +namespace Demo.Domain.Models { - public int Id { get; set; } - public string Name { get; set; } = string.Empty; // Добавляем значение по умолчанию + public class Group + { + public int Id { get; set; } + public string Name { get; set; } = string.Empty; // Инициализация по умолчанию + } } \ No newline at end of file diff --git a/Demo1/Domain/Models/Presence.cs b/Demo1/Domain/Models/Presence.cs index dabe982..409b580 100644 --- a/Demo1/Domain/Models/Presence.cs +++ b/Demo1/Domain/Models/Presence.cs @@ -1,14 +1,13 @@ using System; -namespace AttendanceApp.Domain.Models +namespace Demo.Domain.Models { public class Presence { - public DateTime ClassDate { get; set; } - public int ClassNumber { get; set; } - public bool IsPresent { get; set; } + public Guid Id { get; set; } // Убедитесь, что тип Guid + public DateTime Date { get; set; } + public int LessonNumber { get; set; } + public bool IsAttendance { get; set; } public Guid UserId { get; set; } - public bool WasPresent { get; internal set; } - public int LessonNumber { get; internal set; } } } \ No newline at end of file diff --git a/Demo1/Domain/Models/User.cs b/Demo1/Domain/Models/User.cs index 35df405..6e615c4 100644 --- a/Demo1/Domain/Models/User.cs +++ b/Demo1/Domain/Models/User.cs @@ -1,11 +1,9 @@ -using System; - -namespace Demo.Domain.Models +namespace Demo.Domain.Models { public class User { public Guid Id { get; set; } - public string FIO { get; set; } = string.Empty; + public string FIO { get; set; } = string.Empty; // Инициализация по умолчанию public int GroupID { get; set; } } } \ No newline at end of file diff --git a/Demo1/Domain/UseCase/GroupUseCase.cs b/Demo1/Domain/UseCase/GroupUseCase.cs index 7110729..34f0b15 100644 --- a/Demo1/Domain/UseCase/GroupUseCase.cs +++ b/Demo1/Domain/UseCase/GroupUseCase.cs @@ -1,8 +1,6 @@ -// C:\Users\class_Student\source\repos\slarny4\Demo1\Domain\UseCase\GroupUseCase.cs +using Demo.Data.Repository; +using Demo.Data.RemoteData.RemoteDataBase.DAO; using System.Collections.Generic; -using System.Linq; -using Demo.Data.LocalData.Entity; -using Demo.Data.Repository; namespace Demo.Domain.UseCase { @@ -20,26 +18,19 @@ namespace Demo.Domain.UseCase return _groupRepository.GetAllGroups(); } - public Group GetGroupById(int id) - { - return _groupRepository.GetGroupById(id); - } - public void AddGroup(Group group) { _groupRepository.AddGroup(group); } - public void UpdateGroup(Group group) + public void UpdateGroupName(int id, string name) { - _groupRepository.UpdateGroup(group); + _groupRepository.UpdateGroupName(id, name); } public void DeleteGroup(int id) { _groupRepository.DeleteGroup(id); } - - // Дополнительные методы, если нужны } } \ No newline at end of file diff --git a/Demo1/Domain/UseCase/PresenceUseCase.cs b/Demo1/Domain/UseCase/PresenceUseCase.cs deleted file mode 100644 index c863bbc..0000000 --- a/Demo1/Domain/UseCase/PresenceUseCase.cs +++ /dev/null @@ -1,45 +0,0 @@ -// C:\Users\class_Student\source\repos\slarny4\Demo1\Domain\UseCase\PresenceUseCase.cs -using System; -using System.Collections.Generic; -using Demo.Data.LocalData.Entity; -using Demo.Data.Repository; - -namespace Demo.Domain.UseCase -{ - public class PresenceUseCase - { - private readonly IPresenceRepository _presenceRepository; - private readonly IGroupRepository _groupRepository; - private readonly IUserRepository _userRepository; - - public PresenceUseCase(IPresenceRepository presenceRepository, IGroupRepository groupRepository, IUserRepository userRepository) - { - _presenceRepository = presenceRepository; - _groupRepository = groupRepository; - _userRepository = userRepository; - } - - public IEnumerable GetPresencesByGroupAndDate(int groupId, DateTime date) - { - return _presenceRepository.GetPresencesByGroupAndDate(groupId, date); - } - - public void MarkUserAbsent(Guid userId, int lessonNumber, DateTime date) - { - var presence = _presenceRepository.GetAllPresences(); - foreach (var p in presence) - { - if (p.UserId == userId && p.ClassDate.Date == date.Date && p.LessonNumber == lessonNumber) - { - p.WasPresent = false; - _presenceRepository.UpdatePresence(p); - } - } - } - - public IEnumerable GetAllPresences() - { - return _presenceRepository.GetAllPresences(); - } - } -} \ No newline at end of file diff --git a/Demo1/Domain/UseCase/UseCaseGeneratePresence.cs b/Demo1/Domain/UseCase/UseCaseGeneratePresence.cs index f8d05bc..9f7941b 100644 --- a/Demo1/Domain/UseCase/UseCaseGeneratePresence.cs +++ b/Demo1/Domain/UseCase/UseCaseGeneratePresence.cs @@ -1,9 +1,8 @@ -// C:\Users\adm\Source\Repos\presence1\Demo\Domain\UseCase\UseCaseGeneratePresence.cs +using Demo.Data.Repository; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.Domain.Models; using System; using System.Linq; -using Demo.Data.LocalData; -using Demo.Data.LocalData.Entity; -using Demo.Data.Repository; namespace Demo.Domain.UseCase { @@ -14,46 +13,47 @@ namespace Demo.Domain.UseCase public UseCaseGeneratePresence(IPresenceRepository presenceRepository, IUserRepository userRepository) { - _presenceRepository = presenceRepository; - _userRepository = userRepository; + _presenceRepository = presenceRepository ?? throw new ArgumentNullException(nameof(presenceRepository)); + _userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository)); } - public void GenerateDailyPresence(int groupId, int firstLesson, int lastLesson, DateTime date) + public void GeneratePresenceForToday(int firstLesson, int lastLesson, int groupId, DateTime date) { - var users = _userRepository.GetAllUsers().Where(u => u.GroupID == groupId).ToList(); - + date = DateTime.SpecifyKind(date, DateTimeKind.Utc); + var users = _userRepository.GetAllUsers().Where(u => u.GroupID == groupId); foreach (var user in users) { for (int lesson = firstLesson; lesson <= lastLesson; lesson++) { - var existing = LocalStaticData.Presences.FirstOrDefault(p => - p.UserId == user.Id && - p.ClassDate.Date == date.Date && - p.LessonNumber == lesson); - - if (existing == null) + var daoPresence = new Demo.Data.RemoteData.RemoteDataBase.DAO.Presence { - var presence = new LocalPresence - { - UserId = user.Id, - ClassDate = date.Date, - LessonNumber = lesson, - WasPresent = true - }; - _presenceRepository.AddPresence(presence); - } + Id = Guid.NewGuid(), + Date = date, + LessonNumber = lesson, + IsAttendance = true, + UserId = user.Id + }; + + var domainPresence = new Demo.Domain.Models.Presence + { + Id = daoPresence.Id, + Date = daoPresence.Date, + LessonNumber = daoPresence.LessonNumber, + IsAttendance = daoPresence.IsAttendance, + UserId = daoPresence.UserId + }; + + _presenceRepository.AddPresence(domainPresence); } } } - public void GenerateWeeklyPresence(int groupId, int firstLesson, int lastLesson, DateTime startDate) + public void GeneratePresenceForWeek(int firstLesson, int lastLesson, int groupId, DateTime startDate) { + startDate = DateTime.SpecifyKind(startDate, DateTimeKind.Utc); for (int i = 0; i < 7; i++) { - var date = startDate.AddDays(i); - if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday) - continue; // Пропускаем выходные - GenerateDailyPresence(groupId, firstLesson, lastLesson, date); + GeneratePresenceForToday(firstLesson, lastLesson, groupId, startDate.AddDays(i)); } } } diff --git a/Demo1/Domain/UseCase/UseCasePresence.cs b/Demo1/Domain/UseCase/UseCasePresence.cs new file mode 100644 index 0000000..31270c5 --- /dev/null +++ b/Demo1/Domain/UseCase/UseCasePresence.cs @@ -0,0 +1,56 @@ +using Demo.Data.Repository; +using Demo.Domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Demo.Domain.UseCase +{ + public class UseCasePresence + { + private readonly IPresenceRepository _presenceRepository; + + public UseCasePresence(IPresenceRepository presenceRepository) + { + _presenceRepository = presenceRepository; + } + + public IPresenceRepository PresenceRepository => _presenceRepository; + + public IEnumerable GetPresenceByGroup(int groupId) + { + return _presenceRepository.GetPresenceByGroup(groupId) + .Select(p => new Presence + { + Id = p.Id, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttendance = p.IsAttendance, + UserId = p.UserId + }); + } + + public IEnumerable GetPresenceByGroupAndDate(int groupId, DateTime date) + { + return _presenceRepository.GetPresenceByGroupAndDate(groupId, date) + .Select(p => new Presence + { + Id = p.Id, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttendance = p.IsAttendance, + UserId = p.UserId + }); + } + + public void MarkUserAsAbsent(Guid userId, int lessonNumber, DateTime date) + { + _presenceRepository.MarkUserAsAbsent(userId, lessonNumber, date); + } + + internal object GetPresenceByGroup(Guid userId) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/Demo1/Domain/UseCase/UserUseCase.cs b/Demo1/Domain/UseCase/UserUseCase.cs index 8fdbfec..c6346ab 100644 --- a/Demo1/Domain/UseCase/UserUseCase.cs +++ b/Demo1/Domain/UseCase/UserUseCase.cs @@ -1,8 +1,7 @@ -using System; +using Demo.Data.Repository; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using System; using System.Collections.Generic; -using Demo.Data.LocalData.Entity; // Убедитесь, что это пространство имен присутствует -using Demo.Data.Repository; -using Demo.Domain.Models; namespace Demo.Domain.UseCase { @@ -15,30 +14,26 @@ namespace Demo.Domain.UseCase _userRepository = userRepository; } - public IEnumerable GetAllUsers() + public IUserRepository UserRepository => _userRepository; + + public IEnumerable GetAllUsers() { return _userRepository.GetAllUsers(); } - public void AddUser(Domain.Models.User user) - { - _userRepository.AddUser(user); - } - - // Пример исправления - public Domain.Models.User GetUserById(Guid id) + public User GetUserById(Guid id) { return _userRepository.GetUserById(id); } - internal void DeleteUser(Guid userId) + public void UpdateUser(User user) { - throw new NotImplementedException(); + _userRepository.UpdateUser(user); } - internal void UpdateUser(Models.User user) + public void DeleteUser(Guid id) { - throw new NotImplementedException(); + _userRepository.DeleteUser(id); } } -} +} \ No newline at end of file diff --git a/Demo1/Excel/GroupInfo.xlsx b/Demo1/Excel/GroupInfo.xlsx new file mode 100644 index 0000000..bb32b91 Binary files /dev/null and b/Demo1/Excel/GroupInfo.xlsx differ diff --git a/Demo1/Migrations/20241114100437_create.cs b/Demo1/Migrations/20241114100437_create.cs deleted file mode 100644 index c108d93..0000000 --- a/Demo1/Migrations/20241114100437_create.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace Demo1.Migrations -{ - /// - public partial class create : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Presence", - columns: table => new - { - PresenceId = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - ClassDate = table.Column(type: "timestamp with time zone", nullable: false), - LessonNumber = table.Column(type: "integer", nullable: false), - WasPresent = table.Column(type: "boolean", nullable: false), - UserId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Presence", x => x.PresenceId); - }); - - migrationBuilder.CreateTable( - name: "User", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - FIO = table.Column(type: "text", nullable: false), - GroupID = table.Column(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_User", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "UserDAO", - columns: table => new - { - UserId = table.Column(type: "uuid", nullable: false), - FIO = table.Column(type: "text", nullable: false), - GroupID = table.Column(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_UserDAO", x => x.UserId); - }); - - migrationBuilder.CreateTable( - name: "Group", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - Name = table.Column(type: "text", nullable: false), - UserId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Group", x => x.Id); - table.ForeignKey( - name: "FK_Group_UserDAO_UserId", - column: x => x.UserId, - principalTable: "UserDAO", - principalColumn: "UserId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_Group_UserId", - table: "Group", - column: "UserId"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Group"); - - migrationBuilder.DropTable( - name: "Presence"); - - migrationBuilder.DropTable( - name: "User"); - - migrationBuilder.DropTable( - name: "UserDAO"); - } - } -} diff --git a/Demo1/Migrations/20241114100437_create.Designer.cs b/Demo1/Migrations/20241123030700_InitialCreate.Designer.cs similarity index 57% rename from Demo1/Migrations/20241114100437_create.Designer.cs rename to Demo1/Migrations/20241123030700_InitialCreate.Designer.cs index 2cd24c2..7b32cb8 100644 --- a/Demo1/Migrations/20241114100437_create.Designer.cs +++ b/Demo1/Migrations/20241123030700_InitialCreate.Designer.cs @@ -1,5 +1,6 @@ // using System; +using Demo.Data.RemoteData.RemoteDataBase; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; @@ -11,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace Demo1.Migrations { [DbContext(typeof(RemoteDatabaseContext))] - [Migration("20241114100437_create")] - partial class create + [Migration("20241123030700_InitialCreate")] + partial class InitialCreate { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -24,27 +25,7 @@ namespace Demo1.Migrations NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - modelBuilder.Entity("Demo.Data.LocalData.Entity.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uuid"); - - b.Property("FIO") - .IsRequired() - .HasColumnType("text") - .HasColumnName("FIO"); - - b.Property("GroupID") - .HasColumnType("integer") - .HasColumnName("GroupID"); - - b.HasKey("Id"); - - b.ToTable("User", (string)null); - }); - - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b => + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.Group", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -56,44 +37,37 @@ namespace Demo1.Migrations .IsRequired() .HasColumnType("text"); - b.Property("UserId") - .HasColumnType("uuid"); - b.HasKey("Id"); - b.HasIndex("UserId"); - - b.ToTable("Group"); + b.ToTable("Groups"); }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDAO", b => + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.Presence", b => { - b.Property("PresenceId") + b.Property("Id") .ValueGeneratedOnAdd() - .HasColumnType("integer"); + .HasColumnType("uuid"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("PresenceId")); - - b.Property("ClassDate") + b.Property("Date") .HasColumnType("timestamp with time zone"); + b.Property("IsAttendance") + .HasColumnType("boolean"); + b.Property("LessonNumber") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("uuid"); - b.Property("WasPresent") - .HasColumnType("boolean"); - - b.HasKey("PresenceId"); + b.HasKey("Id"); b.ToTable("Presence"); }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", b => + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.User", b => { - b.Property("UserId") + b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); @@ -104,20 +78,9 @@ namespace Demo1.Migrations b.Property("GroupID") .HasColumnType("integer"); - b.HasKey("UserId"); + b.HasKey("Id"); - b.ToTable("UserDAO"); - }); - - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b => - { - b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); + b.ToTable("Users"); }); #pragma warning restore 612, 618 } diff --git a/Demo1/Migrations/20241123030700_InitialCreate.cs b/Demo1/Migrations/20241123030700_InitialCreate.cs new file mode 100644 index 0000000..8f8f988 --- /dev/null +++ b/Demo1/Migrations/20241123030700_InitialCreate.cs @@ -0,0 +1,70 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Demo1.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Groups", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Groups", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Presence", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Date = table.Column(type: "timestamp with time zone", nullable: false), + LessonNumber = table.Column(type: "integer", nullable: false), + IsAttendance = table.Column(type: "boolean", nullable: false), + UserId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Presence", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Users", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + FIO = table.Column(type: "text", nullable: false), + GroupID = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Users", x => x.Id); + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Groups"); + + migrationBuilder.DropTable( + name: "Presence"); + + migrationBuilder.DropTable( + name: "Users"); + } + } +} diff --git a/Demo1/Migrations/RemoteDatabaseContextModelSnapshot.cs b/Demo1/Migrations/RemoteDatabaseContextModelSnapshot.cs index 1b43f3a..ea22e17 100644 --- a/Demo1/Migrations/RemoteDatabaseContextModelSnapshot.cs +++ b/Demo1/Migrations/RemoteDatabaseContextModelSnapshot.cs @@ -1,5 +1,6 @@ // using System; +using Demo.Data.RemoteData.RemoteDataBase; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -21,27 +22,7 @@ namespace Demo1.Migrations NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - modelBuilder.Entity("Demo.Data.LocalData.Entity.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uuid"); - - b.Property("FIO") - .IsRequired() - .HasColumnType("text") - .HasColumnName("FIO"); - - b.Property("GroupID") - .HasColumnType("integer") - .HasColumnName("GroupID"); - - b.HasKey("Id"); - - b.ToTable("User", (string)null); - }); - - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b => + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.Group", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -53,44 +34,37 @@ namespace Demo1.Migrations .IsRequired() .HasColumnType("text"); - b.Property("UserId") - .HasColumnType("uuid"); - b.HasKey("Id"); - b.HasIndex("UserId"); - - b.ToTable("Group"); + b.ToTable("Groups"); }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDAO", b => + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.Presence", b => { - b.Property("PresenceId") + b.Property("Id") .ValueGeneratedOnAdd() - .HasColumnType("integer"); + .HasColumnType("uuid"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("PresenceId")); - - b.Property("ClassDate") + b.Property("Date") .HasColumnType("timestamp with time zone"); + b.Property("IsAttendance") + .HasColumnType("boolean"); + b.Property("LessonNumber") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("uuid"); - b.Property("WasPresent") - .HasColumnType("boolean"); - - b.HasKey("PresenceId"); + b.HasKey("Id"); b.ToTable("Presence"); }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", b => + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.User", b => { - b.Property("UserId") + b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); @@ -101,20 +75,9 @@ namespace Demo1.Migrations b.Property("GroupID") .HasColumnType("integer"); - b.HasKey("UserId"); + b.HasKey("Id"); - b.ToTable("UserDAO"); - }); - - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b => - { - b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); + b.ToTable("Users"); }); #pragma warning restore 612, 618 } diff --git a/Demo1/Program.cs b/Demo1/Program.cs index 8e61397..07efb98 100644 --- a/Demo1/Program.cs +++ b/Demo1/Program.cs @@ -1,4 +1,13 @@ using Demo.UI; +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Data.Repository; +using Demo.Domain.UseCase; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using System.Collections.Generic; +using System.IO; +using Demo.Domain.Models; namespace Demo { @@ -6,8 +15,78 @@ namespace Demo { static void Main(string[] args) { - MainMenu menu = new MainMenu(); - menu.Show(); + var builder = WebApplication.CreateBuilder(args); + + // Добавляем сервисы в контейнер + builder.Services.AddControllers(); + builder.Services.AddScoped(); + builder.Services.AddScoped(); + builder.Services.AddScoped(); + builder.Services.AddScoped(); + builder.Services.AddScoped(); + builder.Services.AddScoped(); + + var app = builder.Build(); + + // Настройка конвейера обработки запросов + if (app.Environment.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + app.UseRouting(); + + app.UseEndpoints(endpoints => + { + endpoints.MapControllers(); + }); + + // Инициализация данных + using (var scope = app.Services.CreateScope()) + { + var services = scope.ServiceProvider; + var dbContext = new RemoteDatabaseContext(); + DataInitializer.Initialize(dbContext); + } + + // Запуск консольного меню + var context = new RemoteDatabaseContext(); + var userRepository = new SQLUserRepositoryImpl(context); + var groupRepository = new SQLGroupRepositoryImpl(context); + var presenceRepository = new SQLPresenceRepository(context); + + var userUseCase = new UserUseCase(userRepository); + var groupUseCase = new GroupUseCase(groupRepository); + var presenceUseCase = new UseCasePresence(presenceRepository); + + var userConsole = new UserConsole(userUseCase); + var groupConsole = new GroupConsole(groupUseCase); + var presenceConsole = new PresenceConsole(presenceUseCase, userUseCase); // Передаем userUseCase + var excelExporter = new ExcelExporter(); + + // Создаем данные для экспорта + var group = new Group { Name = "Group 1" }; + var users = new List { new User { Id = Guid.NewGuid(), FIO = "User 1" } }; // Используем Guid для Id + var presence = new List { new Presence { UserId = users[0].Id, IsAttendance = true } }; + + // Указываем путь для сохранения файла + string directoryPath = @"C:\Users\Наиль\Source\Repos\slarny4\Demo1\Excel"; + string filePath = Path.Combine(directoryPath, "GroupInfo.xlsx"); + + // Проверяем, существует ли директория, и если нет, создаем её + if (!Directory.Exists(directoryPath)) + { + Directory.CreateDirectory(directoryPath); + } + + // Вызываем метод для экспорта данных в Excel + excelExporter.ExportGroupInfoToExcel(group, users, presence, filePath); + + var mainMenu = new MainMenu(userConsole, groupConsole, presenceConsole, excelExporter, groupUseCase, userUseCase, presenceUseCase); + mainMenu.ShowMenu(); + + // Запуск веб-сервера + app.Run(); } } } \ No newline at end of file diff --git a/Demo1/UI/ExcelExporter.cs b/Demo1/UI/ExcelExporter.cs new file mode 100644 index 0000000..0efc51c --- /dev/null +++ b/Demo1/UI/ExcelExporter.cs @@ -0,0 +1,95 @@ +using ClosedXML.Excel; +using Demo.Domain.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Demo.UI +{ + public class ExcelExporter + { + public void ExportGroupInfoToExcel(Group group, List users, List presence, string filePath) + { + using (var workbook = new XLWorkbook()) + { + var worksheet = workbook.Worksheets.Add("Group Info"); + + worksheet.Cell(1, 1).Value = "Group Name"; + worksheet.Cell(1, 2).Value = group.Name; + + worksheet.Cell(3, 1).Value = "Student Name"; + worksheet.Cell(3, 2).Value = "Attended Lessons"; + worksheet.Cell(3, 3).Value = "Missed Lessons"; + worksheet.Cell(3, 4).Value = "Attendance Percentage"; + + int row = 4; + foreach (var user in users) + { + var userPresence = presence.Where(p => p.UserId == user.Id).ToList(); + int attended = userPresence.Count(p => p.IsAttendance); + int missed = userPresence.Count(p => !p.IsAttendance); + double percentage = (attended * 100.0) / (attended + missed); + + worksheet.Cell(row, 1).Value = user.FIO; + worksheet.Cell(row, 2).Value = attended; + worksheet.Cell(row, 3).Value = missed; + worksheet.Cell(row, 4).Value = percentage; + + if (percentage < 40) + { + worksheet.Row(row).Style.Fill.BackgroundColor = XLColor.Red; + } + + row++; + } + + workbook.SaveAs(filePath); + } + + Console.WriteLine($"Отчёт экспортирован в Excel: {filePath}"); + } + + // Реализация метода для DAO моделей + internal void ExportGroupInfoToExcel(Data.RemoteData.RemoteDataBase.DAO.Group groupForExport, List usersForExport, List presenceForExport, string filePath) + { + using (var workbook = new XLWorkbook()) + { + var worksheet = workbook.Worksheets.Add("Group Info DAO"); + + worksheet.Cell(1, 1).Value = "Group Name"; + worksheet.Cell(1, 2).Value = groupForExport.Name; + + worksheet.Cell(3, 1).Value = "Student Name"; + worksheet.Cell(3, 2).Value = "Attended Lessons"; + worksheet.Cell(3, 3).Value = "Missed Lessons"; + worksheet.Cell(3, 4).Value = "Attendance Percentage"; + + int row = 4; + foreach (var user in usersForExport) + { + var userPresence = presenceForExport.Where(p => p.UserId == user.Id).ToList(); + int attended = userPresence.Count(p => p.IsAttendance); + int missed = userPresence.Count(p => !p.IsAttendance); + double percentage = (attended * 100.0) / (attended + missed); + + worksheet.Cell(row, 1).Value = user.FIO; + worksheet.Cell(row, 2).Value = attended; + worksheet.Cell(row, 3).Value = missed; + worksheet.Cell(row, 4).Value = percentage; + + if (percentage < 40) + { + worksheet.Row(row).Style.Fill.BackgroundColor = XLColor.Red; + } + + row++; + } + + workbook.SaveAs(filePath); + } + + Console.WriteLine($"Отчёт экспортирован в Excel: {filePath}"); + } + } +} \ No newline at end of file diff --git a/Demo1/UI/GroupConsole.cs b/Demo1/UI/GroupConsole.cs index a4bdfd9..2991c39 100644 --- a/Demo1/UI/GroupConsole.cs +++ b/Demo1/UI/GroupConsole.cs @@ -1,9 +1,8 @@ -using System; +using Demo.Data.RemoteData.RemoteDataBase.DAO; // Используйте правильное пространство имен using Demo.Domain.UseCase; -using Demo.Data.Repository; -using Demo.Data.LocalData.Entity; -using Demo.Data.Exceptions; -namespace AttendanceApp.UI +using System; + +namespace Demo.UI { public class GroupConsole { @@ -14,141 +13,25 @@ namespace AttendanceApp.UI _groupUseCase = groupUseCase; } - public void ShowAllGroups() + public void DisplayAllGroups() { - Console.Clear(); - Console.WriteLine("=== Список всех групп ==="); var groups = _groupUseCase.GetAllGroups(); foreach (var group in groups) { - Console.WriteLine($"ID: {group.Id} | Название: {group.Name}"); + Console.WriteLine($"ID: {group.Id}, Name: {group.Name}"); } - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); } - public void AddGroup() + public void AddGroup(Group group) { - Console.Clear(); - Console.WriteLine("=== Добавление новой группы ==="); - Console.Write("Введите название группы: "); - var groupName = Console.ReadLine(); - if (!string.IsNullOrWhiteSpace(groupName)) - { - var newGroup = new Group - { - Id = GenerateNewGroupId(), - Name = groupName - }; - _groupUseCase.AddGroup(newGroup); - Console.WriteLine("Группа успешно добавлена."); - } - else - { - Console.WriteLine("Название группы не может быть пустым."); - } - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); + _groupUseCase.AddGroup(group); + Console.WriteLine("Group added."); } - private int GenerateNewGroupId() + public void UpdateGroupName(int id, string name) { - var groups = _groupUseCase.GetAllGroups(); - if (groups != null && groups.Any()) - { - return groups.Max(g => g.Id) + 1; - } - return 1; - } - - public void UpdateGroup() - { - Console.Clear(); - Console.WriteLine("=== Обновление группы ==="); - Console.Write("Введите ID группы: "); - var input = Console.ReadLine(); - if (int.TryParse(input, out int groupId)) - { - try - { - var group = _groupUseCase.GetGroupById(groupId); - Console.WriteLine($"Текущее название группы: {group.Name}"); - Console.Write("Введите новое название группы: "); - var newName = Console.ReadLine(); - if (!string.IsNullOrWhiteSpace(newName)) - { - group.Name = newName; - _groupUseCase.UpdateGroup(group); - Console.WriteLine("Группа успешно обновлена."); - } - else - { - Console.WriteLine("Название группы не может быть пустым."); - } - } - catch (GroupNotFoundException ex) - { - Console.WriteLine(ex.Message); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); - } - - public void DeleteGroup() - { - Console.Clear(); - Console.WriteLine("=== Удаление группы ==="); - Console.Write("Введите ID группы: "); - var input = Console.ReadLine(); - if (int.TryParse(input, out int groupId)) - { - try - { - _groupUseCase.DeleteGroup(groupId); - Console.WriteLine("Группа успешно удалена."); - } - catch (GroupNotFoundException ex) - { - Console.WriteLine(ex.Message); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); - } - - public void FindGroupById() - { - Console.Clear(); - Console.WriteLine("=== Поиск группы по ID ==="); - Console.Write("Введите ID группы: "); - var input = Console.ReadLine(); - if (int.TryParse(input, out int groupId)) - { - try - { - var group = _groupUseCase.GetGroupById(groupId); - Console.WriteLine($"ID: {group.Id} | Название: {group.Name}"); - } - catch (GroupNotFoundException ex) - { - Console.WriteLine(ex.Message); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); + _groupUseCase.UpdateGroupName(id, name); + Console.WriteLine("Group name updated."); } } } \ No newline at end of file diff --git a/Demo1/UI/MainMenu.cs b/Demo1/UI/MainMenu.cs index d565bf5..a2f1c34 100644 --- a/Demo1/UI/MainMenu.cs +++ b/Demo1/UI/MainMenu.cs @@ -1,524 +1,358 @@ -// C:\Users\class_Student\source\repos\slarny4\Demo1\UI\MainMenu.cs -using System; -using System.Globalization; +using System; using System.Linq; -using Demo.Domain.Models; -using Demo.Domain.UseCase; using Demo.Data.Repository; -using Demo.Data.LocalData.Entity; -using Demo.Data.RemoteData.RemoteDataBase; -using Microsoft.EntityFrameworkCore; +using Demo.Domain.UseCase; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using System.IO; namespace Demo.UI { public class MainMenu { - private readonly UserUseCase _userUseCase; + private readonly UserConsole _userConsole; + private readonly GroupConsole _groupConsole; + private readonly PresenceConsole _presenceConsole; + private readonly ExcelExporter _excelExporter; private readonly GroupUseCase _groupUseCase; - private readonly UseCaseGeneratePresence _presenceGenerator; - private readonly PresenceUseCase _presenceUseCase; + private readonly UserUseCase _userUseCase; + private readonly UseCasePresence _presenceUseCase; - private readonly RemoteDatabaseContext _context; - - public MainMenu(RemoteDatabaseContext context = null) + public MainMenu(UserConsole userConsole, GroupConsole groupConsole, PresenceConsole presenceConsole, ExcelExporter excelExporter, GroupUseCase groupUseCase, UserUseCase userUseCase, UseCasePresence presenceUseCase) { - if (context == null) - { - // Если контекст не предоставлен, создаем новый - var optionsBuilder = new DbContextOptionsBuilder(); - optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=user5;Username=user5;Password=EtEJqhsf"); - _context = new RemoteDatabaseContext(optionsBuilder.Options); - } - else - { - _context = context; - } - - // Инициализация репозиториев - IUserRepository userRepository = new SQLUserRepositoryImpl(_context); - IGroupRepository groupRepository = new GroupRepositoryImpl(_context); - IPresenceRepository presenceRepository = new PresenceRepositoryImpl(_context); - - // Инициализация use cases - _userUseCase = new UserUseCase(userRepository); - _groupUseCase = new GroupUseCase(groupRepository); - _presenceGenerator = new UseCaseGeneratePresence(presenceRepository, userRepository); - _presenceUseCase = new PresenceUseCase(presenceRepository, groupRepository, userRepository); + _userConsole = userConsole; + _groupConsole = groupConsole; + _presenceConsole = presenceConsole; + _excelExporter = excelExporter; + _groupUseCase = groupUseCase; + _userUseCase = userUseCase; + _presenceUseCase = presenceUseCase; } - public void Show() + public void ShowMenu() { - bool exit = false; - while (!exit) + while (true) { - Console.Clear(); - Console.WriteLine("=== Учёт Посещаемости ==="); - Console.WriteLine("1. Показать всех пользователей"); - Console.WriteLine("2. Удалить пользователя по GUID"); - Console.WriteLine("3. Обновить пользователя"); - Console.WriteLine("4. Найти пользователя по GUID"); - Console.WriteLine("5. Показать все группы"); - Console.WriteLine("6. Добавить группу"); - Console.WriteLine("7. Обновить группу"); - Console.WriteLine("8. Удалить группу по ID"); - Console.WriteLine("9. Найти группу по ID"); - Console.WriteLine("10. Генерация посещаемости на текущий день"); - Console.WriteLine("11. Генерация посещаемости на неделю"); - Console.WriteLine("12. Показать посещаемость по группе и дате"); - Console.WriteLine("13. Отметить пользователя как отсутствующего"); - Console.WriteLine("14. Вывести всю посещаемость"); - Console.WriteLine("0. Выход"); - Console.Write("Выберите пункт меню: "); - - var input = Console.ReadLine() ?? string.Empty; - + Console.WriteLine("=-= Команды с Пользователями =-="); + Console.WriteLine("1. Вывести всех пользователей"); + Console.WriteLine("2. Удалить пользователя по id"); + Console.WriteLine("3. Обновить пользователя по id"); + Console.WriteLine("4. Найти пользователя по id"); Console.WriteLine(); - switch (input) - { - case "1": - ShowAllUsers(); - break; - case "2": - DeleteUserByGuid(); - break; - case "3": - UpdateUser(); - break; - case "4": - FindUserByGuid(); - break; - case "5": - ShowAllGroups(); - break; - case "6": - AddGroup(); - break; - case "7": - UpdateGroup(); - break; - case "8": - DeleteGroupById(); - break; - case "9": - FindGroupById(); - break; - case "10": - GenerateDailyPresence(); - break; - case "11": - GenerateWeeklyPresence(); - break; - case "12": - ShowPresenceByGroupAndDate(); - break; - case "13": - MarkUserAbsent(); - break; - case "14": - ShowAllPresences(); - break; - case "0": - exit = true; - break; - default: - Console.WriteLine("Неверный выбор. Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); - break; - } - } - } + Console.WriteLine("=-= Команды с Группами =-="); + Console.WriteLine("5. Вывести все группы"); + Console.WriteLine("6. Добавить группу"); + Console.WriteLine("7. Изменить название группы"); + Console.WriteLine("8. Поиск группы по ID"); + Console.WriteLine(); - private void ShowAllUsers() - { - var users = _userUseCase.GetAllUsers(); - Console.WriteLine("Список пользователей:"); - foreach (var user in users) - { - var group = _groupUseCase.GetGroupById(user.GroupID); - Console.WriteLine($"ID: {user.Id} | ФИО: {user.FIO} | Группа: {group?.Name ?? "Неизвестно"}"); - } - Pause(); - } + Console.WriteLine("=-= Команды Presence =-="); + Console.WriteLine("9. Сгенерировать посещаемость на день"); + Console.WriteLine("10. Сгенерировать посещаемость на неделю"); + Console.WriteLine("11. Показать посещаемость"); + Console.WriteLine("12. Отметить пользователя как отсутствующего"); + Console.WriteLine("13. Вывести всю посещаемость группы"); + Console.WriteLine("14. Вывести общую информацию об посещаемости по группе"); + Console.WriteLine("15. Вывести отчёт в Excel"); + Console.WriteLine(); + Console.WriteLine("0. Выход"); - private void DeleteUserByGuid() - { - Console.Write("Введите GUID пользователя для удаления: "); - var input = Console.ReadLine(); - if (Guid.TryParse(input, out Guid userId)) - { - try - { - _userUseCase.DeleteUser(userId); - Console.WriteLine("Пользователь удалён."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат GUID."); - } - Pause(); - } + Console.Write("Выберите команду: "); - private void UpdateUser() - { - Console.Write("Введите GUID пользователя для обновления: "); - var input = Console.ReadLine(); - if (Guid.TryParse(input, out Guid userId)) - { - try + if (int.TryParse(Console.ReadLine(), out int choice)) { - var user = _userUseCase.GetUserById(userId); - Console.WriteLine($"Текущие данные: ФИО: {user.FIO}, Группа ID: {user.GroupID}"); - Console.Write("Введите новое ФИО (оставьте пустым, чтобы сохранить текущее): "); - var newFIO = Console.ReadLine(); - Console.Write("Введите новый ID группы (оставьте пустым, чтобы сохранить текущую): "); - var groupInput = Console.ReadLine(); - - if (!string.IsNullOrWhiteSpace(newFIO)) + switch (choice) { - user.FIO = newFIO; - } - - if (!string.IsNullOrWhiteSpace(groupInput)) - { - if (int.TryParse(groupInput, out int newGroupId)) - { - var group = _groupUseCase.GetGroupById(newGroupId); - if (group != null) + case 1: + _userConsole.DisplayAllUsers(); + break; + case 2: + Console.Write("Введите id пользователя: "); + if (Guid.TryParse(Console.ReadLine(), out Guid userId)) { - user.GroupID = newGroupId; + _userConsole.DeleteUser(userId); } else { - Console.WriteLine("Группа с таким ID не найдена. Группа не обновлена."); + Console.WriteLine("Неверный формат id пользователя."); } - } - else - { - Console.WriteLine("Неверный формат ID группы. Группа не обновлена."); - } + break; + case 3: + Console.Write("Введите id пользователя: "); + if (Guid.TryParse(Console.ReadLine(), out Guid updateUserId)) + { + var userToUpdate = _userUseCase.GetUserById(updateUserId); + if (userToUpdate != null) + { + Console.Write("Введите новое ФИО: "); + userToUpdate.FIO = Console.ReadLine(); + Console.Write("Введите новый GroupID: "); + if (int.TryParse(Console.ReadLine(), out int newGroupID)) + { + userToUpdate.GroupID = newGroupID; + _userConsole.UpdateUser(userToUpdate); + } + else + { + Console.WriteLine("Неверный формат GroupID."); + } + } + else + { + Console.WriteLine("Пользователь не найден."); + } + } + else + { + Console.WriteLine("Неверный формат id пользователя."); + } + break; + case 4: + Console.Write("Введите id пользователя: "); + if (Guid.TryParse(Console.ReadLine(), out Guid findUserId)) + { + _userConsole.FindUser(findUserId); + } + else + { + Console.WriteLine("Неверный формат id пользователя."); + } + break; + case 5: + _groupConsole.DisplayAllGroups(); + break; + case 6: + Console.Write("Введите название группы: "); + string groupName = Console.ReadLine(); + var newGroup = new Group { Name = groupName }; + _groupConsole.AddGroup(newGroup); + break; + case 7: + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupId)) + { + Console.Write("Введите новое название группы: "); + string newGroupName = Console.ReadLine(); + _groupConsole.UpdateGroupName(groupId, newGroupName); + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + break; + case 8: + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int searchGroupId)) + { + var group = _groupUseCase.GetAllGroups().FirstOrDefault(g => g.Id == searchGroupId); + if (group != null) + { + Console.WriteLine($"ID: {group.Id}, Название: {group.Name}"); + } + else + { + Console.WriteLine("Группа не найдена."); + } + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + break; + case 9: + Console.Write("Введите номер первого занятия: "); + if (int.TryParse(Console.ReadLine(), out int firstLesson)) + { + Console.Write("Введите номер последнего занятия: "); + if (int.TryParse(Console.ReadLine(), out int lastLesson)) + { + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupIdForPresence)) + { + Console.Write("Введите дату (yyyy-MM-dd): "); + if (DateTime.TryParse(Console.ReadLine(), out DateTime date)) + { + var generatePresenceUseCase = new UseCaseGeneratePresence(_presenceUseCase.PresenceRepository, _userUseCase.UserRepository); + generatePresenceUseCase.GeneratePresenceForToday(firstLesson, lastLesson, groupIdForPresence, date); + Console.WriteLine("Посещаемость сгенерирована на день."); + } + else + { + Console.WriteLine("Неверный формат даты."); + } + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + } + else + { + Console.WriteLine("Неверный формат номера последнего занятия."); + } + } + else + { + Console.WriteLine("Неверный формат номера первого занятия."); + } + break; + case 10: + Console.Write("Введите номер первого занятия: "); + if (int.TryParse(Console.ReadLine(), out int firstLessonWeek)) + { + Console.Write("Введите номер последнего занятия: "); + if (int.TryParse(Console.ReadLine(), out int lastLessonWeek)) + { + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupIdForPresenceWeek)) + { + Console.Write("Введите дату начала недели (yyyy-MM-dd): "); + if (DateTime.TryParse(Console.ReadLine(), out DateTime startDateWeek)) + { + var generatePresenceUseCaseWeek = new UseCaseGeneratePresence(_presenceUseCase.PresenceRepository, _userUseCase.UserRepository); + generatePresenceUseCaseWeek.GeneratePresenceForWeek(firstLessonWeek, lastLessonWeek, groupIdForPresenceWeek, startDateWeek); + Console.WriteLine("Посещаемость сгенерирована на неделю."); + } + else + { + Console.WriteLine("Неверный формат даты."); + } + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + } + else + { + Console.WriteLine("Неверный формат номера последнего занятия."); + } + } + else + { + Console.WriteLine("Неверный формат номера первого занятия."); + } + break; + case 11: + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupIdForPresenceDisplay)) + { + _presenceConsole.DisplayPresenceByGroup(groupIdForPresenceDisplay); + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + break; + case 12: + Console.Write("Введите id пользователя: "); + if (Guid.TryParse(Console.ReadLine(), out Guid userIdForAbsent)) + { + Console.Write("Введите номер занятия: "); + if (int.TryParse(Console.ReadLine(), out int lessonNumberForAbsent)) + { + Console.Write("Введите дату (yyyy-MM-dd): "); + if (DateTime.TryParse(Console.ReadLine(), out DateTime dateForAbsent)) + { + _presenceConsole.MarkUserAsAbsent(userIdForAbsent, lessonNumberForAbsent, dateForAbsent); + } + else + { + Console.WriteLine("Неверный формат даты."); + } + } + else + { + Console.WriteLine("Неверный формат номера занятия."); + } + } + else + { + Console.WriteLine("Неверный формат id пользователя."); + } + break; + case 13: + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupIdForPresenceAll)) + { + _presenceConsole.DisplayPresenceByGroup(groupIdForPresenceAll); + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + break; + case 14: + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupIdForPresenceInfo)) + { + var groupForInfo = _groupUseCase.GetAllGroups().FirstOrDefault(g => g.Id == groupIdForPresenceInfo); + if (groupForInfo != null) + { + var usersForInfo = _userUseCase.GetAllUsers().Where(u => u.GroupID == groupIdForPresenceInfo).ToList(); + var presenceForInfo = _presenceUseCase.GetPresenceByGroup(groupIdForPresenceInfo).ToList(); + Console.WriteLine($"Количество человек в группе: {usersForInfo.Count}"); + Console.WriteLine($"Количество проведенных занятий: {presenceForInfo.Select(p => p.Date).Distinct().Count()}"); + Console.WriteLine($"Общий процент посещаемости: {presenceForInfo.Count(p => p.IsAttendance) * 100.0 / presenceForInfo.Count}%"); + foreach (var user in usersForInfo) + { + var userPresence = presenceForInfo.Where(p => p.UserId == user.Id).ToList(); + int attended = userPresence.Count(p => p.IsAttendance); + int missed = userPresence.Count(p => !p.IsAttendance); + double percentage = (attended * 100.0) / (attended + missed); + Console.WriteLine($"ФИО: {user.FIO}, Посещено: {attended}, Пропущено: {missed}, Процент посещаемости: {percentage}%"); + } + } + else + { + Console.WriteLine("Группа не найдена."); + } + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + break; + case 15: + Console.Write("Введите id группы: "); + if (int.TryParse(Console.ReadLine(), out int groupIdForExport)) + { + var groupForExport = _groupUseCase.GetAllGroups().FirstOrDefault(g => g.Id == groupIdForExport); + if (groupForExport != null) + { + var usersForExport = _userUseCase.GetAllUsers().Where(u => u.GroupID == groupIdForExport).ToList(); + var presenceForExport = _presenceUseCase.GetPresenceByGroup(groupIdForExport).ToList(); + + // Указываем путь для сохранения файла + string directoryPath = @"C:\Users\Наиль\Source\Repos\slarny4\Demo1\Excel"; + string filePath = Path.Combine(directoryPath, "GroupInfo.xlsx"); + + // Проверяем, существует ли директория, и если нет, создаем её + if (!Directory.Exists(directoryPath)) + { + Directory.CreateDirectory(directoryPath); + } + + _excelExporter.ExportGroupInfoToExcel(groupForExport, usersForExport, presenceForExport, filePath); + Console.WriteLine("Отчёт экспортирован в Excel."); + } + else + { + Console.WriteLine("Группа не найдена."); + } + } + else + { + Console.WriteLine("Неверный формат id группы."); + } + break; } - - _userUseCase.UpdateUser(user); - Console.WriteLine("Пользователь обновлён."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат GUID."); - } - Pause(); - } - - private void FindUserByGuid() - { - Console.Write("Введите GUID пользователя для поиска: "); - var input = Console.ReadLine(); - if (Guid.TryParse(input, out Guid userId)) - { - try - { - var user = _userUseCase.GetUserById(userId); - var group = _groupUseCase.GetGroupById(user.GroupID); - Console.WriteLine($"ID: {user.Id} | ФИО: {user.FIO} | Группа: {group?.Name ?? "Неизвестно"}"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат GUID."); - } - Pause(); - } - - private void ShowAllGroups() - { - var groups = _groupUseCase.GetAllGroups(); - Console.WriteLine("Список групп:"); - foreach (var group in groups) - { - Console.WriteLine($"ID: {group.Id} | Название: {group.Name}"); - } - Pause(); - } - - private void AddGroup() - { - Console.Write("Введите ID группы: "); - var idInput = Console.ReadLine(); - Console.Write("Введите название группы: "); - var name = Console.ReadLine() ?? string.Empty; - if (int.TryParse(idInput, out int groupId)) - { - var existingGroup = _groupUseCase.GetGroupById(groupId); - if (existingGroup != null) - { - Console.WriteLine("Группа с таким ID уже существует."); } else { - var group = new Group - { - Id = groupId, - Name = name - }; - try - { - _groupUseCase.AddGroup(group); - Console.WriteLine("Группа добавлена."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } + Console.WriteLine("Неверный ввод. Пожалуйста, введите число."); } } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Pause(); - } - - private void UpdateGroup() - { - Console.Write("Введите ID группы для обновления: "); - var idInput = Console.ReadLine(); - if (int.TryParse(idInput, out int groupId)) - { - try - { - var group = _groupUseCase.GetGroupById(groupId); - Console.WriteLine($"Текущие данные: Название: {group.Name}"); - Console.Write("Введите новое название группы: "); - var newName = Console.ReadLine(); - if (!string.IsNullOrWhiteSpace(newName)) - { - group.Name = newName; - _groupUseCase.UpdateGroup(group); - Console.WriteLine("Группа обновлена."); - } - else - { - Console.WriteLine("Название не может быть пустым. Группа не обновлена."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Pause(); - } - - private void DeleteGroupById() - { - Console.Write("Введите ID группы для удаления: "); - var input = Console.ReadLine(); - if (int.TryParse(input, out int groupId)) - { - try - { - _groupUseCase.DeleteGroup(groupId); - Console.WriteLine("Группа удалена."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Pause(); - } - - private void FindGroupById() - { - Console.Write("Введите ID группы для поиска: "); - var input = Console.ReadLine(); - if (int.TryParse(input, out int groupId)) - { - try - { - var group = _groupUseCase.GetGroupById(groupId); - Console.WriteLine($"ID: {group.Id} | Название: {group.Name}"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - Pause(); - } - - private void GenerateDailyPresence() - { - Console.Write("Введите номер первой пары: "); - var firstLessonInput = Console.ReadLine(); - Console.Write("Введите номер последней пары: "); - var lastLessonInput = Console.ReadLine(); - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - Console.Write("Введите дату (yyyy-MM-dd): "); - var dateInput = Console.ReadLine(); - - if (int.TryParse(firstLessonInput, out int firstLesson) && - int.TryParse(lastLessonInput, out int lastLesson) && - int.TryParse(groupIdInput, out int groupId) && - DateTime.TryParseExact(dateInput, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date)) - { - try - { - _presenceGenerator.GenerateDailyPresence(groupId, firstLesson, lastLesson, date); - Console.WriteLine("Посещаемость сгенерирована."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверные входные данные."); - } - Pause(); - } - - private void GenerateWeeklyPresence() - { - Console.Write("Введите номер первой пары: "); - var firstLessonInput = Console.ReadLine(); - Console.Write("Введите номер последней пары: "); - var lastLessonInput = Console.ReadLine(); - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - Console.Write("Введите начальную дату недели (yyyy-MM-dd): "); - var startDateInput = Console.ReadLine(); - - if (int.TryParse(firstLessonInput, out int firstLesson) && - int.TryParse(lastLessonInput, out int lastLesson) && - int.TryParse(groupIdInput, out int groupId) && - DateTime.TryParseExact(startDateInput, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime startDate)) - { - try - { - _presenceGenerator.GenerateWeeklyPresence(groupId, firstLesson, lastLesson, startDate); - Console.WriteLine("Посещаемость на неделю сгенерирована."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверные входные данные."); - } - Pause(); - } - - private void ShowPresenceByGroupAndDate() - { - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - Console.Write("Введите дату (yyyy-MM-dd): "); - var dateInput = Console.ReadLine(); - - if (int.TryParse(groupIdInput, out int groupId) && - DateTime.TryParseExact(dateInput, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date)) - { - try - { - var presences = _presenceUseCase.GetPresencesByGroupAndDate(groupId, date); - var group = _groupUseCase.GetGroupById(groupId); - Console.WriteLine($"Посещаемость группы {group?.Name ?? "Неизвестно"} на {date.ToString("yyyy-MM-dd")}:"); - foreach (var presence in presences) - { - var user = _userUseCase.GetUserById(presence.UserId); - Console.WriteLine($"Пользователь: {user.FIO} | Пара: {presence.LessonNumber} | Был/Не был: {(presence.WasPresent ? "Был" : "Не был")}"); - } - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверные входные данные."); - } - Pause(); - } - - private void MarkUserAbsent() - { - Console.Write("Введите GUID пользователя: "); - var userIdInput = Console.ReadLine(); - Console.Write("Введите номер пары: "); - var lessonInput = Console.ReadLine(); - Console.Write("Введите дату (yyyy-MM-dd): "); - var dateInput = Console.ReadLine(); - - if (Guid.TryParse(userIdInput, out Guid userId) && - int.TryParse(lessonInput, out int lessonNumber) && - DateTime.TryParseExact(dateInput, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date)) - { - try - { - _presenceUseCase.MarkUserAbsent(userId, lessonNumber, date); - Console.WriteLine("Пользователь отмечен как отсутствующий."); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверные входные данные."); - } - Pause(); - } - - private void ShowAllPresences() - { - var presences = _presenceUseCase.GetAllPresences(); - Console.WriteLine("Вся посещаемость:"); - foreach (var presence in presences) - { - var user = _userUseCase.GetUserById(presence.UserId); - var group = _groupUseCase.GetGroupById(user.GroupID); - Console.WriteLine($"Пользователь: {user.FIO} | Группа: {group?.Name ?? "Неизвестно"} | Дата: {presence.ClassDate.ToString("yyyy-MM-dd")} | Пара: {presence.LessonNumber} | Был/Не был: {(presence.WasPresent ? "Был" : "Не был")}"); - } - Pause(); - } - - private void Pause() - { - Console.WriteLine("\nНажмите любую клавишу для продолжения..."); - Console.ReadKey(); } } } \ No newline at end of file diff --git a/Demo1/UI/PresenceConsole.cs b/Demo1/UI/PresenceConsole.cs index 1cfd386..c6f1ab5 100644 --- a/Demo1/UI/PresenceConsole.cs +++ b/Demo1/UI/PresenceConsole.cs @@ -1,221 +1,48 @@ -using System; -using System.Globalization; -using Demo.Domain.UseCase; -using Demo.Data.Repository; -using Demo.Data.LocalData.Entity; -using Demo.Data.Exceptions; -using AttendanceApp.Domain.Models; +using Demo.Domain.UseCase; +using System; +using System.Linq; -namespace AttendanceApp.UI +namespace Demo.UI { public class PresenceConsole { - private readonly UseCaseGeneratePresence _generatePresenceUseCase; - private readonly IPresenceRepository _presenceRepository; - private readonly IGroupRepository _groupRepository; + private readonly UseCasePresence _presenceUseCase; + private readonly UserUseCase _userUseCase; - public PresenceConsole(UseCaseGeneratePresence generatePresenceUseCase, IPresenceRepository presenceRepository, IGroupRepository groupRepository) + public PresenceConsole(UseCasePresence presenceUseCase, UserUseCase userUseCase) { - _generatePresenceUseCase = generatePresenceUseCase; - _presenceRepository = presenceRepository; - _groupRepository = groupRepository; + _presenceUseCase = presenceUseCase; + _userUseCase = userUseCase; } - public void GenerateDailyPresence() + public void DisplayPresenceByGroup(int groupId) { - Console.Clear(); - Console.WriteLine("=== Генерация посещаемости на текущий день ==="); - Console.Write("Введите номер первого занятия: "); - var firstClassInput = Console.ReadLine(); - Console.Write("Введите номер последнего занятия: "); - var lastClassInput = Console.ReadLine(); - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - var currentDate = DateTime.Now.Date; + var presence = _presenceUseCase.GetPresenceByGroup(groupId); + var users = _userUseCase.GetAllUsers().ToDictionary(u => u.Id); - if (int.TryParse(firstClassInput, out int firstClassNum) - && int.TryParse(lastClassInput, out int lastClassNum) - && int.TryParse(groupIdInput, out int groupId)) + foreach (var p in presence) { - try - { - _generatePresenceUseCase.GenerateDailyPresence(firstClassNum, lastClassNum, groupId, currentDate); - Console.WriteLine("Посещаемость успешно сгенерирована на текущий день."); - } - catch (GroupNotFoundException ex) - { - Console.WriteLine(ex.Message); - } + var user = users[p.UserId]; + Console.WriteLine($"Дата: {p.Date}, Занятие: {p.LessonNumber}, ФИО: {user.FIO}, Посещаемость: {(p.IsAttendance ? "Присутствовал" : "Отсутствовал")}"); } - else - { - Console.WriteLine("Неверный формат ввода."); - } - - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); } - public void GenerateWeeklyPresence() + public void DisplayPresenceByGroupAndDate(int groupId, DateTime date) { - Console.Clear(); - Console.WriteLine("=== Генерация посещаемости на неделю ==="); - Console.Write("Введите номер первого занятия: "); - var firstClassInput = Console.ReadLine(); - Console.Write("Введите номер последнего занятия: "); - var lastClassInput = Console.ReadLine(); - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - Console.Write("Введите стартовую дату (yyyy-MM-dd): "); - var startDateInput = Console.ReadLine(); + var presence = _presenceUseCase.GetPresenceByGroupAndDate(groupId, date); + var users = _userUseCase.GetAllUsers().ToDictionary(u => u.Id); - if (int.TryParse(firstClassInput, out int firstClassNum) - && int.TryParse(lastClassInput, out int lastClassNum) - && int.TryParse(groupIdInput, out int groupId) - && DateTime.TryParseExact(startDateInput, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime startDate)) + foreach (var p in presence) { - try - { - _generatePresenceUseCase.GenerateWeeklyPresence(firstClassNum, lastClassNum, groupId, startDate); - Console.WriteLine("Посещаемость успешно сгенерирована на неделю."); - } - catch (GroupNotFoundException ex) - { - Console.WriteLine(ex.Message); - } + var user = users[p.UserId]; + Console.WriteLine($"Дата: {p.Date}, Занятие: {p.LessonNumber}, ФИО: {user.FIO}, Посещаемость: {(p.IsAttendance ? "Присутствовал" : "Отсутствовал")}"); } - else - { - Console.WriteLine("Неверный формат ввода."); - } - - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); } - public void ShowPresenceByGroupAndDate() + public void MarkUserAsAbsent(Guid userId, int lessonNumber, DateTime date) { - Console.Clear(); - Console.WriteLine("=== Показать посещаемость по группе и дате ==="); - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - Console.Write("Введите дату (yyyy-MM-dd): "); - var dateInput = Console.ReadLine(); - - if (int.TryParse(groupIdInput, out int groupId) && DateTime.TryParse(dateInput, out DateTime date)) - { - try - { - var group = _groupRepository.GetGroupById(groupId); - // Добавляем проверку на null - if (group == null) - { - Console.WriteLine($"Группа с ID {groupId} не найдена."); - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); - return; - } - - var presences = _presenceRepository.GetPresencesByGroupAndDate(groupId, date); - Console.WriteLine($"Посещаемость группы {group.Name} на {date.ToShortDateString()}:"); - foreach (var presence in presences) - { - Console.WriteLine($"Пользователь ID: {presence.UserId} | Занятие №: {presence.LessonNumber} | Присутствует: {presence.WasPresent}"); - } - } - catch (GroupNotFoundException ex) - { - Console.WriteLine(ex.Message); - } - } - else - { - Console.WriteLine("Неверный формат ввода."); - } - - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); - } - - public void MarkUserAbsent() - { - Console.Clear(); - Console.WriteLine("=== Отметить пользователя как отсутствующего ==="); - Console.Write("Введите ID пользователя (GUID): "); - var userIdInput = Console.ReadLine(); - Console.Write("Введите диапазон занятий (через запятую, например: 1,3): "); - var classRangeInput = Console.ReadLine(); - - if (Guid.TryParse(userIdInput, out Guid userId) - && classRangeInput.Contains(",") - && int.TryParse(classRangeInput.Split(',')[0], out int startClass) - && int.TryParse(classRangeInput.Split(',')[1], out int endClass)) - { - try - { - var currentDate = DateTime.Now.Date; - for (int classNum = startClass; classNum <= endClass; classNum++) - { - var presence = new Presence - { - ClassDate = currentDate, - LessonNumber = classNum, - WasPresent = false, - UserId = userId - }; - _presenceRepository.UpdatePresence(presence); - } - Console.WriteLine("Пользователь успешно отмечен как отсутствующий на указанных занятиях."); - } - catch (RepositoryException ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат ввода."); - } - - Console.WriteLine("Нажмите любую клавишу для продолжения..."); - Console.ReadKey(); - } - - public void ShowPresenceByGroup() - { - Console.Clear(); - Console.WriteLine("=== Показать посещаемость по группе ==="); - Console.Write("Введите ID группы: "); - var groupIdInput = Console.ReadLine(); - - if (int.TryParse(groupIdInput, out int groupId)) - { - try - { - var group = _groupRepository.GetGroupById(groupId); - var presences = _presenceRepository.GetPresenceByGroup(groupId); - - Console.WriteLine($"Посещаемость группы {group.Name}:"); - foreach (var presence in presences) - { - Console.WriteLine($"Дата: {presence.ClassDate.ToShortDateString()} | " + - $"Занятие №{presence.LessonNumber} | " + - $"Присутствует: {(presence.WasPresent ? "Да" : "Нет")} | " + - $"Студент ID: {presence.UserId}"); - } - } - catch (GroupNotFoundException ex) - { - Console.WriteLine($"Ошибка: {ex.Message}"); - } - } - else - { - Console.WriteLine("Неверный формат ID группы."); - } - - Console.WriteLine("\nНажмите любую клавишу для продолжения..."); - Console.ReadKey(); + _presenceUseCase.MarkUserAsAbsent(userId, lessonNumber, date); + Console.WriteLine("Пользователь отмечен как отсутствующий."); } } } \ No newline at end of file diff --git a/Demo1/UI/UserConsole.cs b/Demo1/UI/UserConsole.cs index 94d8dbe..48a9056 100644 --- a/Demo1/UI/UserConsole.cs +++ b/Demo1/UI/UserConsole.cs @@ -1,12 +1,50 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Demo.Data.RemoteData.RemoteDataBase.DAO; // Используйте правильное пространство имен +using Demo.Domain.UseCase; +using System; -namespace Demo1.UI +namespace Demo.UI { - internal class UserConsole + public class UserConsole { + private readonly UserUseCase _userUseCase; + + public UserConsole(UserUseCase userUseCase) + { + _userUseCase = userUseCase; + } + + public void DisplayAllUsers() + { + var users = _userUseCase.GetAllUsers(); + foreach (var user in users) + { + Console.WriteLine($"ID: {user.Id}, FIO: {user.FIO}, GroupID: {user.GroupID}"); + } + } + + public void DeleteUser(Guid id) + { + _userUseCase.DeleteUser(id); + Console.WriteLine("User deleted."); + } + + public void UpdateUser(User user) + { + _userUseCase.UpdateUser(user); + Console.WriteLine("User updated."); + } + + public void FindUser(Guid id) + { + var user = _userUseCase.GetUserById(id); + if (user != null) + { + Console.WriteLine($"ID: {user.Id}, FIO: {user.FIO}, GroupID: {user.GroupID}"); + } + else + { + Console.WriteLine("User not found."); + } + } } -} +} \ No newline at end of file diff --git a/Demo1/bin/Debug/net8.0/Demo1.deps.json b/Demo1/bin/Debug/net8.0/Demo1.deps.json index 2b314a3..e16e37f 100644 --- a/Demo1/bin/Debug/net8.0/Demo1.deps.json +++ b/Demo1/bin/Debug/net8.0/Demo1.deps.json @@ -8,13 +8,37 @@ ".NETCoreApp,Version=v8.0": { "Demo1/1.0.0": { "dependencies": { + "ClosedXML": "0.104.2", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.5", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", "Microsoft.EntityFrameworkCore.Design": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", "Microsoft.EntityFrameworkCore.SqlServer": "8.0.10", "Microsoft.EntityFrameworkCore.Tools": "8.0.10", + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", "Microsoft.Extensions.Hosting": "8.0.0", - "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10", + "Swashbuckle.AspNetCore": "6.6.2", + "Swashbuckle.AspNetCore.Swagger": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2" }, "runtime": { "Demo1.dll": {} @@ -54,6 +78,59 @@ } } }, + "ClosedXML/0.104.2": { + "dependencies": { + "ClosedXML.Parser": "1.2.0", + "DocumentFormat.OpenXml": "3.1.1", + "ExcelNumberFormat": "1.1.0", + "RBush": "4.0.0", + "SixLabors.Fonts": "1.0.0" + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.dll": { + "assemblyVersion": "0.104.2.0", + "fileVersion": "0.104.2.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.1.1": { + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.1.1" + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "assemblyVersion": "3.1.1.0", + "fileVersion": "3.1.1.0" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.1.1": { + "dependencies": { + "System.IO.Packaging": "8.0.1" + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "assemblyVersion": "3.1.1.0", + "fileVersion": "3.1.1.0" + } + } + }, + "ExcelNumberFormat/1.1.0": { + "runtime": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.1.0.0" + } + } + }, "Humanizer.Core/2.14.1": { "runtime": { "lib/net6.0/Humanizer.dll": { @@ -62,6 +139,148 @@ } } }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + } + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0" + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0" + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Net.Http.Headers": "2.2.0" + } + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "8.0.0" + } + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Newtonsoft.Json": "11.0.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + } + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.5": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Core": "2.2.0", + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "System.Diagnostics.DiagnosticSource": "8.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.5", + "Microsoft.Extensions.Localization": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + } + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.5" + } + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "8.0.2" + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "8.0.0" + } + }, "Microsoft.Bcl.AsyncInterfaces/6.0.0": { "runtime": { "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { @@ -420,15 +639,10 @@ "Microsoft.EntityFrameworkCore.Design": "8.0.10" } }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": {}, "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": { @@ -450,58 +664,28 @@ "dependencies": { "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "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.Configuration.Binder/8.0.0": { "dependencies": { "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { "dependencies": { "Microsoft.Extensions.Configuration": "8.0.0", "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { "dependencies": { "Microsoft.Extensions.Configuration": "8.0.0", "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { @@ -511,12 +695,6 @@ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", "Microsoft.Extensions.FileProviders.Physical": "8.0.0", "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Configuration.Json/8.0.0": { @@ -526,12 +704,6 @@ "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { @@ -540,12 +712,6 @@ "Microsoft.Extensions.Configuration.Json": "8.0.0", "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", "Microsoft.Extensions.FileProviders.Physical": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.DependencyInjection/8.0.1": { @@ -580,12 +746,6 @@ "Microsoft.Extensions.Configuration": "8.0.0", "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { @@ -593,23 +753,11 @@ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", "Microsoft.Extensions.Options": "8.0.2", "System.Diagnostics.DiagnosticSource": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { "dependencies": { "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.FileProviders.Physical/8.0.0": { @@ -617,22 +765,9 @@ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {}, "Microsoft.Extensions.Hosting/8.0.0": { "dependencies": { "Microsoft.Extensions.Configuration": "8.0.0", @@ -657,12 +792,6 @@ "Microsoft.Extensions.Logging.EventLog": "8.0.0", "Microsoft.Extensions.Logging.EventSource": "8.0.0", "Microsoft.Extensions.Options": "8.0.2" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Hosting.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { @@ -672,14 +801,17 @@ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", "Microsoft.Extensions.Logging.Abstractions": "8.0.2" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, + "Microsoft.Extensions.Localization/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + } + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": {}, "Microsoft.Extensions.Logging/8.0.1": { "dependencies": { "Microsoft.Extensions.DependencyInjection": "8.0.1", @@ -714,12 +846,6 @@ "Microsoft.Extensions.Logging.Abstractions": "8.0.2", "Microsoft.Extensions.Options": "8.0.2", "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Logging.Console/8.0.0": { @@ -730,12 +856,6 @@ "Microsoft.Extensions.Logging.Configuration": "8.0.0", "Microsoft.Extensions.Options": "8.0.2", "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Logging.Debug/8.0.0": { @@ -743,12 +863,6 @@ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", "Microsoft.Extensions.Logging": "8.0.1", "Microsoft.Extensions.Logging.Abstractions": "8.0.2" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Logging.EventLog/8.0.0": { @@ -758,12 +872,6 @@ "Microsoft.Extensions.Logging.Abstractions": "8.0.2", "Microsoft.Extensions.Options": "8.0.2", "System.Diagnostics.EventLog": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, "Microsoft.Extensions.Logging.EventSource/8.0.0": { @@ -774,14 +882,9 @@ "Microsoft.Extensions.Options": "8.0.2", "Microsoft.Extensions.Primitives": "8.0.0", "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, + "Microsoft.Extensions.ObjectPool/2.2.0": {}, "Microsoft.Extensions.Options/8.0.2": { "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", @@ -801,22 +904,9 @@ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", "Microsoft.Extensions.Options": "8.0.2", "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } } }, + "Microsoft.Extensions.Primitives/8.0.0": {}, "Microsoft.Identity.Client/4.56.0": { "dependencies": { "Microsoft.IdentityModel.Abstractions": "6.35.0" @@ -911,8 +1001,22 @@ } } }, + "Microsoft.Net.Http.Headers/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0", + "System.Buffers": "4.5.0" + } + }, "Microsoft.NETCore.Platforms/1.1.0": {}, "Microsoft.NETCore.Targets/1.1.0": {}, + "Microsoft.OpenApi/1.6.14": { + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "1.6.14.0", + "fileVersion": "1.6.14.0" + } + } + }, "Microsoft.SqlServer.Server/1.0.0": { "runtime": { "lib/netstandard2.0/Microsoft.SqlServer.Server.dll": { @@ -948,6 +1052,14 @@ } } }, + "Newtonsoft.Json/11.0.2": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "11.0.0.0", + "fileVersion": "11.0.2.21924" + } + } + }, "Npgsql/8.0.5": { "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "8.0.2" @@ -973,6 +1085,61 @@ } } }, + "RBush/4.0.0": { + "runtime": { + "lib/net8.0/RBush.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.0.0.0" + } + } + }, + "SixLabors.Fonts/1.0.0": { + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Swashbuckle.AspNetCore/6.6.2": { + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2" + } + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "dependencies": { + "Microsoft.OpenApi": "1.6.14" + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "6.6.2.0", + "fileVersion": "6.6.2.401" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.6.2" + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "6.6.2.0", + "fileVersion": "6.6.2.401" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "6.6.2.0", + "fileVersion": "6.6.2.401" + } + } + }, + "System.Buffers/4.5.0": {}, "System.CodeDom/4.4.0": { "runtime": { "lib/netstandard2.0/System.CodeDom.dll": { @@ -986,6 +1153,7 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.ComponentModel.Annotations/4.5.0": {}, "System.Composition/6.0.0": { "dependencies": { "System.Composition.AttributedModel": "6.0.0", @@ -1059,28 +1227,7 @@ } }, "System.Diagnostics.DiagnosticSource/8.0.0": {}, - "System.Diagnostics.EventLog/8.0.0": { - "runtime": { - "lib/net8.0/System.Diagnostics.EventLog.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - }, - "runtimeTargets": { - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { - "rid": "win", - "assetType": "runtime", - "assemblyVersion": "8.0.0.0", - "fileVersion": "0.0.0.0" - }, - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { - "rid": "win", - "assetType": "runtime", - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, + "System.Diagnostics.EventLog/8.0.0": {}, "System.Drawing.Common/6.0.0": { "dependencies": { "Microsoft.Win32.SystemEvents": "6.0.0" @@ -1125,14 +1272,15 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.IO.Pipelines/6.0.3": { + "System.IO.Packaging/8.0.1": { "runtime": { - "lib/net6.0/System.IO.Pipelines.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.522.21309" + "lib/net8.0/System.IO.Packaging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" } } }, + "System.IO.Pipelines/6.0.3": {}, "System.Memory/4.5.4": {}, "System.Memory.Data/1.0.2": { "dependencies": { @@ -1274,6 +1422,41 @@ "path": "azure.identity/1.10.3", "hashPath": "azure.identity.1.10.3.nupkg.sha512" }, + "ClosedXML/0.104.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gOkSjQ152MhpKmw70cBkJV+FnaZAWzDwM36luRf/7FlWYnNeH++9XYdGTd0Y4KQlVPkKVxy948M5MMsnsGC4GQ==", + "path": "closedxml/0.104.2", + "hashPath": "closedxml.0.104.2.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.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2z9QBzeTLNNKWM9SaOSDMegfQk/7hDuElOsmF77pKZMkFRP/GHA/W/4yOAQD9kn15N/FsFxHn3QVYkatuZghiA==", + "path": "documentformat.openxml/3.1.1", + "hashPath": "documentformat.openxml.3.1.1.nupkg.sha512" + }, + "DocumentFormat.OpenXml.Framework/3.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6APEp/ElZV58S/4v8mf4Ke3ONEDORs64MqdD64Z7wWpcHANB9oovQsGIwtqjnKihulOj7T0a6IxHIHOfMqKOng==", + "path": "documentformat.openxml.framework/3.1.1", + "hashPath": "documentformat.openxml.framework.3.1.1.nupkg.sha512" + }, + "ExcelNumberFormat/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==", + "path": "excelnumberformat/1.1.0", + "hashPath": "excelnumberformat.1.1.0.nupkg.sha512" + }, "Humanizer.Core/2.14.1": { "type": "package", "serviceable": true, @@ -1281,6 +1464,139 @@ "path": "humanizer.core/2.14.1", "hashPath": "humanizer.core.2.14.1.nupkg.sha512" }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XlVJzJ5wPOYW+Y0J6Q/LVTEyfS4ssLXmt60T0SPP+D8abVhBTl+cgw2gDHlyKYIkcJg7btMVh383NDkMVqD/fg==", + "path": "microsoft.aspnetcore.authentication.core/2.2.0", + "hashPath": "microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "hashPath": "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "hashPath": "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==", + "path": "microsoft.aspnetcore.http/2.2.0", + "hashPath": "microsoft.aspnetcore.http.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", + "path": "microsoft.aspnetcore.http.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2DgZ9rWrJtuR7RYiew01nGRzuQBDaGHGmK56Rk54vsLLsCdzuFUPqbDTJCS1qJQWTbmbIQ9wGIOjpxA1t0l7/w==", + "path": "microsoft.aspnetcore.http.extensions/2.2.0", + "hashPath": "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", + "path": "microsoft.aspnetcore.http.features/2.2.0", + "hashPath": "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o9BB9hftnCsyJalz9IT0DUFxz8Xvgh3TOfGWolpuf19duxB4FySq7c25XDYBmBMS+sun5/PsEUAi58ra4iJAoA==", + "path": "microsoft.aspnetcore.jsonpatch/2.2.0", + "hashPath": "microsoft.aspnetcore.jsonpatch.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ET6uZpfVbGR1NjCuLaLy197cQ3qZUjzl7EG5SL4GfJH/c9KRE89MMBrQegqWsh0w1iRUB/zQaK0anAjxa/pz4g==", + "path": "microsoft.aspnetcore.mvc.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/8sr8ixIUD57UFwUntha9bOwex7/AkZfdk1f9oNJG1Ek7p/uuKVa7fuHmYZpQOf35Oxrt+2Ku4WPwMSbNxOuWg==", + "path": "microsoft.aspnetcore.mvc.core/2.2.5", + "hashPath": "microsoft.aspnetcore.mvc.core.2.2.5.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WOw4SA3oT47aiU7ZjN/88j+b79YU6VftmHmxK29Km3PTI7WZdmw675QTcgWfsjEX4joCB82v7TvarO3D0oqOyw==", + "path": "microsoft.aspnetcore.mvc.dataannotations/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.dataannotations.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ScWwXrkAvw6PekWUFkIr5qa9NKn4uZGRvxtt3DvtUrBYW5Iu2y4SS/vx79JN0XDHNYgAJ81nVs+4M7UE1Y/O+g==", + "path": "microsoft.aspnetcore.mvc.formatters.json/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.formatters.json.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CIHWEKrHzZfFp7t57UXsueiSA/raku56TgRYauV/W1+KAQq6vevz60zjEKaazt3BI76zwMz3B4jGWnCwd8kwQw==", + "path": "microsoft.aspnetcore.responsecaching.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==", + "path": "microsoft.aspnetcore.routing/2.2.0", + "hashPath": "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "hashPath": "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512" + }, "Microsoft.Bcl.AsyncInterfaces/6.0.0": { "type": "package", "serviceable": true, @@ -1393,6 +1709,13 @@ "path": "microsoft.entityframeworkcore.tools/8.0.10", "hashPath": "microsoft.entityframeworkcore.tools.8.0.10.nupkg.sha512" }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512" + }, "Microsoft.Extensions.Caching.Abstractions/8.0.0": { "type": "package", "serviceable": true, @@ -1533,6 +1856,20 @@ "path": "microsoft.extensions.hosting.abstractions/8.0.0", "hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512" }, + "Microsoft.Extensions.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3nBQLeBrcd4Rgd9vQi4gF5NgAWxnQrHekjjwlgww4wyLNfJDizjiex2resOLoAuAgy3y2IIAWjOpbr0UKR2ykw==", + "path": "microsoft.extensions.localization/2.2.0", + "hashPath": "microsoft.extensions.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FQzXG/lYR9UOM2zHpqsjTRpp3EghIYo3FCsQpfmtbp+glPaU0WXZfNmMjyqBRmMj1Sq93fPnC+G9zzYRauuRQA==", + "path": "microsoft.extensions.localization.abstractions/2.2.0", + "hashPath": "microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512" + }, "Microsoft.Extensions.Logging/8.0.1": { "type": "package", "serviceable": true, @@ -1582,6 +1919,13 @@ "path": "microsoft.extensions.logging.eventsource/8.0.0", "hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512" }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==", + "path": "microsoft.extensions.objectpool/2.2.0", + "hashPath": "microsoft.extensions.objectpool.2.2.0.nupkg.sha512" + }, "Microsoft.Extensions.Options/8.0.2": { "type": "package", "serviceable": true, @@ -1659,6 +2003,13 @@ "path": "microsoft.identitymodel.tokens/6.35.0", "hashPath": "microsoft.identitymodel.tokens.6.35.0.nupkg.sha512" }, + "Microsoft.Net.Http.Headers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", + "path": "microsoft.net.http.headers/2.2.0", + "hashPath": "microsoft.net.http.headers.2.2.0.nupkg.sha512" + }, "Microsoft.NETCore.Platforms/1.1.0": { "type": "package", "serviceable": true, @@ -1673,6 +2024,13 @@ "path": "microsoft.netcore.targets/1.1.0", "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" }, + "Microsoft.OpenApi/1.6.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==", + "path": "microsoft.openapi/1.6.14", + "hashPath": "microsoft.openapi.1.6.14.nupkg.sha512" + }, "Microsoft.SqlServer.Server/1.0.0": { "type": "package", "serviceable": true, @@ -1694,6 +2052,13 @@ "path": "mono.texttemplating/2.2.1", "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512" }, + "Newtonsoft.Json/11.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==", + "path": "newtonsoft.json/11.0.2", + "hashPath": "newtonsoft.json.11.0.2.nupkg.sha512" + }, "Npgsql/8.0.5": { "type": "package", "serviceable": true, @@ -1708,6 +2073,55 @@ "path": "npgsql.entityframeworkcore.postgresql/8.0.10", "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" }, + "RBush/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j3GeRxxLUQdc+UrZnvythdQxi3bd8ayn87VDjfGXrvfodF550n9wR6SgQvpo+YiAv3GJezsu6lK0l47rRqnbdg==", + "path": "rbush/4.0.0", + "hashPath": "rbush.4.0.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" + }, + "Swashbuckle.AspNetCore/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==", + "path": "swashbuckle.aspnetcore/6.6.2", + "hashPath": "swashbuckle.aspnetcore.6.6.2.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==", + "path": "swashbuckle.aspnetcore.swagger/6.6.2", + "hashPath": "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==", + "path": "swashbuckle.aspnetcore.swaggergen/6.6.2", + "hashPath": "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==", + "path": "swashbuckle.aspnetcore.swaggerui/6.6.2", + "hashPath": "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512" + }, + "System.Buffers/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==", + "path": "system.buffers/4.5.0", + "hashPath": "system.buffers.4.5.0.nupkg.sha512" + }, "System.CodeDom/4.4.0": { "type": "package", "serviceable": true, @@ -1722,6 +2136,13 @@ "path": "system.collections.immutable/6.0.0", "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" }, + "System.ComponentModel.Annotations/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==", + "path": "system.componentmodel.annotations/4.5.0", + "hashPath": "system.componentmodel.annotations.4.5.0.nupkg.sha512" + }, "System.Composition/6.0.0": { "type": "package", "serviceable": true, @@ -1813,6 +2234,13 @@ "path": "system.io.filesystem.accesscontrol/5.0.0", "hashPath": "system.io.filesystem.accesscontrol.5.0.0.nupkg.sha512" }, + "System.IO.Packaging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KYkIOAvPexQOLDxPO2g0BVoWInnQhPpkFzRqvNrNrMhVT6kqhVr0zEb6KCHlptLFukxnZrjuMVAnxK7pOGUYrw==", + "path": "system.io.packaging/8.0.1", + "hashPath": "system.io.packaging.8.0.1.nupkg.sha512" + }, "System.IO.Pipelines/6.0.3": { "type": "package", "serviceable": true, diff --git a/Demo1/bin/Debug/net8.0/Demo1.dll b/Demo1/bin/Debug/net8.0/Demo1.dll index 2d5952a..c0817e3 100644 Binary files a/Demo1/bin/Debug/net8.0/Demo1.dll and b/Demo1/bin/Debug/net8.0/Demo1.dll differ diff --git a/Demo1/bin/Debug/net8.0/Demo1.exe b/Demo1/bin/Debug/net8.0/Demo1.exe index 5a80b88..c70c38b 100644 Binary files a/Demo1/bin/Debug/net8.0/Demo1.exe and b/Demo1/bin/Debug/net8.0/Demo1.exe differ diff --git a/Demo1/bin/Debug/net8.0/Demo1.pdb b/Demo1/bin/Debug/net8.0/Demo1.pdb index 2ee6861..9d4b77d 100644 Binary files a/Demo1/bin/Debug/net8.0/Demo1.pdb and b/Demo1/bin/Debug/net8.0/Demo1.pdb differ diff --git a/Demo1/bin/Debug/net8.0/Demo1.runtimeconfig.json b/Demo1/bin/Debug/net8.0/Demo1.runtimeconfig.json index 244e1ab..a42fa34 100644 --- a/Demo1/bin/Debug/net8.0/Demo1.runtimeconfig.json +++ b/Demo1/bin/Debug/net8.0/Demo1.runtimeconfig.json @@ -1,10 +1,16 @@ { "runtimeOptions": { "tfm": "net8.0", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "8.0.0" - }, + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "8.0.0" + } + ], "configProperties": { "System.Reflection.NullabilityInfoContext.IsSupported": true, "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll deleted file mode 100644 index 99aac98..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll deleted file mode 100644 index a5ab313..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Binder.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Binder.dll deleted file mode 100644 index 19df35e..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Binder.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll deleted file mode 100644 index 2aa287c..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll deleted file mode 100644 index 09657dd..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll deleted file mode 100644 index 4efc1a5..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Json.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Json.dll deleted file mode 100644 index 296db6a..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Json.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll deleted file mode 100644 index e771695..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.dll deleted file mode 100644 index d3e5c22..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Configuration.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll deleted file mode 100644 index 85d852e..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.dll deleted file mode 100644 index 5b784c8..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll deleted file mode 100644 index f907206..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileProviders.Physical.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileProviders.Physical.dll deleted file mode 100644 index 6fb7f47..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileProviders.Physical.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll deleted file mode 100644 index e590735..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll deleted file mode 100644 index c769057..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Hosting.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Hosting.dll deleted file mode 100644 index c235ca0..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Hosting.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Configuration.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Configuration.dll deleted file mode 100644 index cbea37f..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Configuration.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Console.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Console.dll deleted file mode 100644 index a722e34..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Console.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Debug.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Debug.dll deleted file mode 100644 index 38d93db..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.Debug.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.EventLog.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.EventLog.dll deleted file mode 100644 index a6c6931..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.EventLog.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.EventSource.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.EventSource.dll deleted file mode 100644 index 56c6f07..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Logging.EventSource.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll deleted file mode 100644 index cbb29a1..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll b/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll deleted file mode 100644 index c24f2a0..0000000 Binary files a/Demo1/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/System.Diagnostics.EventLog.dll b/Demo1/bin/Debug/net8.0/System.Diagnostics.EventLog.dll deleted file mode 100644 index f293ce4..0000000 Binary files a/Demo1/bin/Debug/net8.0/System.Diagnostics.EventLog.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/System.IO.Pipelines.dll b/Demo1/bin/Debug/net8.0/System.IO.Pipelines.dll deleted file mode 100644 index 8ee4dfd..0000000 Binary files a/Demo1/bin/Debug/net8.0/System.IO.Pipelines.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll b/Demo1/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll deleted file mode 100644 index a8d91f3..0000000 Binary files a/Demo1/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll and /dev/null differ diff --git a/Demo1/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll b/Demo1/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll deleted file mode 100644 index 33066bd..0000000 Binary files a/Demo1/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll and /dev/null differ diff --git a/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfo.cs b/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfo.cs index 5fc0dba..8b544e9 100644 --- a/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfo.cs +++ b/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Demo1")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+06b1f950636c0e6a821db89e32cb6df6c2d4fc5f")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9ba62b2fa20afffbdbc79b338375befcb707042e")] [assembly: System.Reflection.AssemblyProductAttribute("Demo1")] [assembly: System.Reflection.AssemblyTitleAttribute("Demo1")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfoInputs.cache b/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfoInputs.cache index ec13369..6711bd1 100644 --- a/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfoInputs.cache +++ b/Demo1/obj/Debug/net8.0/Demo1.AssemblyInfoInputs.cache @@ -1 +1 @@ -8046c00cc63f26032cdf9c354ffd58718de497cdf22950b9f6347890d28bab85 +24fc4f9ad3ba087f0487bb5048bb12b901e22796b3af03e60fc92020ba47eae3 diff --git a/Demo1/obj/Debug/net8.0/Demo1.GeneratedMSBuildEditorConfig.editorconfig b/Demo1/obj/Debug/net8.0/Demo1.GeneratedMSBuildEditorConfig.editorconfig index 4328fb5..8b432c9 100644 --- a/Demo1/obj/Debug/net8.0/Demo1.GeneratedMSBuildEditorConfig.editorconfig +++ b/Demo1/obj/Debug/net8.0/Demo1.GeneratedMSBuildEditorConfig.editorconfig @@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Demo1 -build_property.ProjectDir = C:\Users\class_Student\source\repos\slarny4\Demo1\ +build_property.ProjectDir = C:\Users\Наиль\source\repos\slarny4\Demo1\ build_property.EnableComHosting = build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Demo1/obj/Debug/net8.0/Demo1.assets.cache b/Demo1/obj/Debug/net8.0/Demo1.assets.cache index 0b5e2d6..377bd4a 100644 Binary files a/Demo1/obj/Debug/net8.0/Demo1.assets.cache and b/Demo1/obj/Debug/net8.0/Demo1.assets.cache differ diff --git a/Demo1/obj/Debug/net8.0/Demo1.csproj.AssemblyReference.cache b/Demo1/obj/Debug/net8.0/Demo1.csproj.AssemblyReference.cache index 5fee516..f8ab600 100644 Binary files a/Demo1/obj/Debug/net8.0/Demo1.csproj.AssemblyReference.cache and b/Demo1/obj/Debug/net8.0/Demo1.csproj.AssemblyReference.cache differ diff --git a/Demo1/obj/Debug/net8.0/Demo1.csproj.CoreCompileInputs.cache b/Demo1/obj/Debug/net8.0/Demo1.csproj.CoreCompileInputs.cache index 2ad506c..c6bec72 100644 --- a/Demo1/obj/Debug/net8.0/Demo1.csproj.CoreCompileInputs.cache +++ b/Demo1/obj/Debug/net8.0/Demo1.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -a2e9375af416c60c5d5a6c13c3a19ecad9cc79f6c813241ee14a887ff123cd9e +729d4e5b4bcb76b0f91e0f8cf6dd5758cd1e0192e39a80507a7329f04c37b25f diff --git a/Demo1/obj/Debug/net8.0/Demo1.csproj.FileListAbsolute.txt b/Demo1/obj/Debug/net8.0/Demo1.csproj.FileListAbsolute.txt index b2206b6..243eeb8 100644 --- a/Demo1/obj/Debug/net8.0/Demo1.csproj.FileListAbsolute.txt +++ b/Demo1/obj/Debug/net8.0/Demo1.csproj.FileListAbsolute.txt @@ -181,3 +181,145 @@ C:\Users\class_Student\source\repos\slarny4\Demo1\obj\Debug\net8.0\refint\Demo1. C:\Users\class_Student\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.pdb C:\Users\class_Student\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.genruntimeconfig.cache C:\Users\class_Student\source\repos\slarny4\Demo1\obj\Debug\net8.0\ref\Demo1.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.exe +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.deps.json +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.runtimeconfig.json +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.pdb +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Azure.Core.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Azure.Identity.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ClosedXML.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ClosedXML.Parser.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\DocumentFormat.OpenXml.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ExcelNumberFormat.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Humanizer.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Data.SqlClient.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.SqlServer.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Extensions.Options.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Identity.Client.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Identity.Client.Extensions.Msal.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.IdentityModel.Abstractions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.IdentityModel.JsonWebTokens.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.IdentityModel.Logging.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.IdentityModel.Protocols.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.IdentityModel.Tokens.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.SqlServer.Server.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.Win32.SystemEvents.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Mono.TextTemplating.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Npgsql.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\RBush.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\SixLabors.Fonts.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.CodeDom.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Composition.AttributedModel.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Composition.Convention.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Composition.Hosting.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Composition.Runtime.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Composition.TypedParts.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Configuration.ConfigurationManager.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Drawing.Common.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.IdentityModel.Tokens.Jwt.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.IO.Packaging.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Memory.Data.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Runtime.Caching.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Security.Cryptography.ProtectedData.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Security.Permissions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\System.Windows.Extensions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\unix\lib\net6.0\Microsoft.Data.SqlClient.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win\lib\net6.0\Microsoft.Data.SqlClient.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win-arm\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win-arm64\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win\lib\net6.0\Microsoft.Win32.SystemEvents.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\unix\lib\net6.0\System.Drawing.Common.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win\lib\net6.0\System.Drawing.Common.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win\lib\net6.0\System.Runtime.Caching.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win\lib\net6.0\System.Security.Cryptography.ProtectedData.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\bin\Debug\net8.0\runtimes\win\lib\net6.0\System.Windows.Extensions.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.csproj.AssemblyReference.cache +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.AssemblyInfoInputs.cache +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.AssemblyInfo.cs +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.csproj.CoreCompileInputs.cache +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.csproj.Up2Date +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\refint\Demo1.dll +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.pdb +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.genruntimeconfig.cache +C:\Users\Наиль\source\repos\slarny4\Demo1\obj\Debug\net8.0\ref\Demo1.dll +C:\Users\Наиль\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.AspNetCore.JsonPatch.dll +C:\Users\Наиль\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Microsoft.OpenApi.dll +C:\Users\Наиль\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Newtonsoft.Json.dll +C:\Users\Наиль\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Swashbuckle.AspNetCore.Swagger.dll +C:\Users\Наиль\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerGen.dll +C:\Users\Наиль\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerUI.dll diff --git a/Demo1/obj/Debug/net8.0/Demo1.dll b/Demo1/obj/Debug/net8.0/Demo1.dll index 2d5952a..c0817e3 100644 Binary files a/Demo1/obj/Debug/net8.0/Demo1.dll and b/Demo1/obj/Debug/net8.0/Demo1.dll differ diff --git a/Demo1/obj/Debug/net8.0/Demo1.genruntimeconfig.cache b/Demo1/obj/Debug/net8.0/Demo1.genruntimeconfig.cache index e42ee06..732bbb3 100644 --- a/Demo1/obj/Debug/net8.0/Demo1.genruntimeconfig.cache +++ b/Demo1/obj/Debug/net8.0/Demo1.genruntimeconfig.cache @@ -1 +1 @@ -c1d83064ffad5ac40d6bf8e11f19c1109fd528240e7c406374f203b9697ee728 +06d83991a6a2094ad6107ad9d04ccab2854aac5641ce38c08a9be04e8f11e64b diff --git a/Demo1/obj/Debug/net8.0/Demo1.pdb b/Demo1/obj/Debug/net8.0/Demo1.pdb index 2ee6861..9d4b77d 100644 Binary files a/Demo1/obj/Debug/net8.0/Demo1.pdb and b/Demo1/obj/Debug/net8.0/Demo1.pdb differ diff --git a/Demo1/obj/Debug/net8.0/apphost.exe b/Demo1/obj/Debug/net8.0/apphost.exe index 5a80b88..c70c38b 100644 Binary files a/Demo1/obj/Debug/net8.0/apphost.exe and b/Demo1/obj/Debug/net8.0/apphost.exe differ diff --git a/Demo1/obj/Debug/net8.0/ref/Demo1.dll b/Demo1/obj/Debug/net8.0/ref/Demo1.dll index 7b64d47..5ad7d1f 100644 Binary files a/Demo1/obj/Debug/net8.0/ref/Demo1.dll and b/Demo1/obj/Debug/net8.0/ref/Demo1.dll differ diff --git a/Demo1/obj/Debug/net8.0/refint/Demo1.dll b/Demo1/obj/Debug/net8.0/refint/Demo1.dll index 7b64d47..5ad7d1f 100644 Binary files a/Demo1/obj/Debug/net8.0/refint/Demo1.dll and b/Demo1/obj/Debug/net8.0/refint/Demo1.dll differ diff --git a/Demo1/obj/Demo1.csproj.nuget.dgspec.json b/Demo1/obj/Demo1.csproj.nuget.dgspec.json index de8717b..1716a77 100644 --- a/Demo1/obj/Demo1.csproj.nuget.dgspec.json +++ b/Demo1/obj/Demo1.csproj.nuget.dgspec.json @@ -1,23 +1,23 @@ { "format": 1, "restore": { - "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj": {} + "C:\\Users\\Наиль\\source\\repos\\slarny4\\Demo1\\Demo1.csproj": {} }, "projects": { - "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj": { + "C:\\Users\\Наиль\\source\\repos\\slarny4\\Demo1\\Demo1.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", + "projectUniqueName": "C:\\Users\\Наиль\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", "projectName": "Demo1", - "projectPath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", - "packagesPath": "C:\\Users\\class_Student\\.nuget\\packages\\", - "outputPath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\obj\\", + "projectPath": "C:\\Users\\Наиль\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", + "packagesPath": "C:\\Users\\Наиль\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Наиль\\Source\\Repos\\slarny4\\Demo1\\obj\\", "projectStyle": "PackageReference", "fallbackFolders": [ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" ], "configFilePaths": [ - "C:\\Users\\class_Student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Наиль\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], @@ -26,7 +26,6 @@ ], "sources": { "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "C:\\Program Files\\dotnet\\library-packs": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { @@ -50,16 +49,48 @@ "net8.0": { "targetAlias": "net8.0", "dependencies": { + "ClosedXML": { + "target": "Package", + "version": "[0.104.2, )" + }, + "Microsoft.AspNetCore.Mvc.Abstractions": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.Mvc.Core": { + "target": "Package", + "version": "[2.2.5, )" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json": { + "target": "Package", + "version": "[2.2.0, )" + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[8.0.10, )" }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "target": "Package", + "version": "[8.0.10, )" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "target": "Package", + "version": "[8.0.10, )" + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[8.0.10, )" }, + "Microsoft.EntityFrameworkCore.Relational": { + "target": "Package", + "version": "[8.0.10, )" + }, "Microsoft.EntityFrameworkCore.SqlServer": { "target": "Package", "version": "[8.0.10, )" @@ -70,10 +101,58 @@ "target": "Package", "version": "[8.0.10, )" }, + "Microsoft.Extensions.Caching.Abstractions": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[8.0.1, )" + }, + "Microsoft.Extensions.Configuration": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.Binder": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.Json": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "target": "Package", + "version": "[8.0.0, )" + }, "Microsoft.Extensions.DependencyInjection": { "target": "Package", "version": "[8.0.1, )" }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "target": "Package", + "version": "[8.0.2, )" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "target": "Package", + "version": "[8.0.0, )" + }, "Microsoft.Extensions.Hosting": { "target": "Package", "version": "[8.0.0, )" @@ -81,6 +160,22 @@ "Npgsql.EntityFrameworkCore.PostgreSQL": { "target": "Package", "version": "[8.0.10, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[6.6.2, )" + }, + "Swashbuckle.AspNetCore.Swagger": { + "target": "Package", + "version": "[6.6.2, )" + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "target": "Package", + "version": "[6.6.2, )" + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "target": "Package", + "version": "[6.6.2, )" } }, "imports": [ @@ -99,7 +194,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" } } } diff --git a/Demo1/obj/Demo1.csproj.nuget.g.props b/Demo1/obj/Demo1.csproj.nuget.g.props index 47d88f7..08e6bb4 100644 --- a/Demo1/obj/Demo1.csproj.nuget.g.props +++ b/Demo1/obj/Demo1.csproj.nuget.g.props @@ -5,21 +5,24 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\class_Student\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + C:\Users\Наиль\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages PackageReference - 6.9.1 + 6.11.1 - + + + - C:\Users\class_Student\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 - C:\Users\class_Student\.nuget\packages\microsoft.entityframeworkcore.tools\8.0.10 + C:\Users\Наиль\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + C:\Users\Наиль\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 + C:\Users\Наиль\.nuget\packages\microsoft.entityframeworkcore.tools\8.0.10 \ No newline at end of file diff --git a/Demo1/obj/Demo1.csproj.nuget.g.targets b/Demo1/obj/Demo1.csproj.nuget.g.targets index f1d2e0d..2c1a319 100644 --- a/Demo1/obj/Demo1.csproj.nuget.g.targets +++ b/Demo1/obj/Demo1.csproj.nuget.g.targets @@ -2,6 +2,7 @@ + diff --git a/Demo1/obj/project.assets.json b/Demo1/obj/project.assets.json index 54b881c..6e66bcb 100644 --- a/Demo1/obj/project.assets.json +++ b/Demo1/obj/project.assets.json @@ -46,6 +46,84 @@ } } }, + "ClosedXML/0.104.2": { + "type": "package", + "dependencies": { + "ClosedXML.Parser": "[1.2.0, 2.0.0)", + "DocumentFormat.OpenXml": "[3.1.1, 4.0.0)", + "ExcelNumberFormat": "1.1.0", + "RBush": "4.0.0", + "SixLabors.Fonts": "1.0.0" + }, + "compile": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + } + }, + "ClosedXML.Parser/1.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml/3.1.1": { + "type": "package", + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.1.1" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.1.1": { + "type": "package", + "dependencies": { + "System.IO.Packaging": "8.0.1" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + } + }, + "ExcelNumberFormat/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + } + }, "Humanizer.Core/2.14.1": { "type": "package", "compile": { @@ -59,6 +137,351 @@ } } }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Newtonsoft.Json": "11.0.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.5": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Core": "2.2.0", + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.DependencyModel": "2.1.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": { + "related": ".xml" + } + } + }, "Microsoft.Bcl.AsyncInterfaces/6.0.0": { "type": "package", "compile": { @@ -499,6 +922,17 @@ "lib/net8.0/_._": {} } }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "build": { + "build/Microsoft.Extensions.ApiDescription.Server.props": {}, + "build/Microsoft.Extensions.ApiDescription.Server.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {}, + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {} + } + }, "Microsoft.Extensions.Caching.Abstractions/8.0.0": { "type": "package", "dependencies": { @@ -746,7 +1180,7 @@ "Microsoft.Extensions.DependencyModel/8.0.2": { "type": "package", "compile": { - "lib/net8.0/_._": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { "related": ".xml" } }, @@ -920,6 +1354,38 @@ "buildTransitive/net6.0/_._": {} } }, + "Microsoft.Extensions.Localization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "related": ".xml" + } + } + }, "Microsoft.Extensions.Logging/8.0.1": { "type": "package", "dependencies": { @@ -1078,6 +1544,19 @@ "buildTransitive/net6.0/_._": {} } }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": { + "related": ".xml" + } + } + }, "Microsoft.Extensions.Options/8.0.2": { "type": "package", "dependencies": { @@ -1271,6 +1750,23 @@ } } }, + "Microsoft.Net.Http.Headers/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": { + "related": ".xml" + } + } + }, "Microsoft.NETCore.Platforms/1.1.0": { "type": "package", "compile": { @@ -1289,6 +1785,19 @@ "lib/netstandard1.0/_._": {} } }, + "Microsoft.OpenApi/1.6.14": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb;.xml" + } + } + }, "Microsoft.SqlServer.Server/1.0.0": { "type": "package", "compile": { @@ -1336,6 +1845,19 @@ "lib/netstandard2.0/Mono.TextTemplating.dll": {} } }, + "Newtonsoft.Json/11.0.2": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, "Npgsql/8.0.5": { "type": "package", "dependencies": { @@ -1371,6 +1893,104 @@ } } }, + "RBush/4.0.0": { + "type": "package", + "compile": { + "lib/net8.0/RBush.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/RBush.dll": { + "related": ".xml" + } + } + }, + "SixLabors.Fonts/1.0.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + } + }, + "Swashbuckle.AspNetCore/6.6.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2" + }, + "build": { + "build/Swashbuckle.AspNetCore.props": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "type": "package", + "dependencies": { + "Microsoft.OpenApi": "1.6.14" + }, + "compile": { + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "type": "package", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.6.2" + }, + "compile": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "type": "package", + "compile": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "System.Buffers/4.5.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/_._": {} + }, + "runtime": { + "lib/netcoreapp2.0/_._": {} + } + }, "System.CodeDom/4.4.0": { "type": "package", "compile": { @@ -1401,6 +2021,15 @@ "buildTransitive/netcoreapp3.1/_._": {} } }, + "System.ComponentModel.Annotations/4.5.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/_._": {} + }, + "runtime": { + "lib/netcoreapp2.0/_._": {} + } + }, "System.Composition/6.0.0": { "type": "package", "dependencies": { @@ -1649,6 +2278,22 @@ } } }, + "System.IO.Packaging/8.0.1": { + "type": "package", + "compile": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, "System.IO.Pipelines/6.0.3": { "type": "package", "compile": { @@ -2052,6 +2697,106 @@ "lib/netstandard2.0/Azure.Identity.xml" ] }, + "ClosedXML/0.104.2": { + "sha512": "gOkSjQ152MhpKmw70cBkJV+FnaZAWzDwM36luRf/7FlWYnNeH++9XYdGTd0Y4KQlVPkKVxy948M5MMsnsGC4GQ==", + "type": "package", + "path": "closedxml/0.104.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "closedxml.0.104.2.nupkg.sha512", + "closedxml.nuspec", + "lib/netstandard2.0/ClosedXML.dll", + "lib/netstandard2.0/ClosedXML.pdb", + "lib/netstandard2.0/ClosedXML.xml", + "lib/netstandard2.1/ClosedXML.dll", + "lib/netstandard2.1/ClosedXML.pdb", + "lib/netstandard2.1/ClosedXML.xml", + "nuget-logo.png" + ] + }, + "ClosedXML.Parser/1.2.0": { + "sha512": "w+/0tsxABS3lkSH8EUlA7IGme+mq5T/Puf3DbOiTckmSuUpAUO2LK29oXYByCcWkBv6wcRHxgWlQb1lxkwI0Tw==", + "type": "package", + "path": "closedxml.parser/1.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "closedxml.parser.1.2.0.nupkg.sha512", + "closedxml.parser.nuspec", + "lib/netstandard2.0/ClosedXML.Parser.dll", + "lib/netstandard2.0/ClosedXML.Parser.xml", + "lib/netstandard2.1/ClosedXML.Parser.dll", + "lib/netstandard2.1/ClosedXML.Parser.xml" + ] + }, + "DocumentFormat.OpenXml/3.1.1": { + "sha512": "2z9QBzeTLNNKWM9SaOSDMegfQk/7hDuElOsmF77pKZMkFRP/GHA/W/4yOAQD9kn15N/FsFxHn3QVYkatuZghiA==", + "type": "package", + "path": "documentformat.openxml/3.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "documentformat.openxml.3.1.1.nupkg.sha512", + "documentformat.openxml.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.dll", + "lib/net35/DocumentFormat.OpenXml.xml", + "lib/net40/DocumentFormat.OpenXml.dll", + "lib/net40/DocumentFormat.OpenXml.xml", + "lib/net46/DocumentFormat.OpenXml.dll", + "lib/net46/DocumentFormat.OpenXml.xml", + "lib/net8.0/DocumentFormat.OpenXml.dll", + "lib/net8.0/DocumentFormat.OpenXml.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.xml" + ] + }, + "DocumentFormat.OpenXml.Framework/3.1.1": { + "sha512": "6APEp/ElZV58S/4v8mf4Ke3ONEDORs64MqdD64Z7wWpcHANB9oovQsGIwtqjnKihulOj7T0a6IxHIHOfMqKOng==", + "type": "package", + "path": "documentformat.openxml.framework/3.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "documentformat.openxml.framework.3.1.1.nupkg.sha512", + "documentformat.openxml.framework.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.Framework.dll", + "lib/net35/DocumentFormat.OpenXml.Framework.xml", + "lib/net40/DocumentFormat.OpenXml.Framework.dll", + "lib/net40/DocumentFormat.OpenXml.Framework.xml", + "lib/net46/DocumentFormat.OpenXml.Framework.dll", + "lib/net46/DocumentFormat.OpenXml.Framework.xml", + "lib/net6.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net6.0/DocumentFormat.OpenXml.Framework.xml", + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net8.0/DocumentFormat.OpenXml.Framework.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.xml" + ] + }, + "ExcelNumberFormat/1.1.0": { + "sha512": "R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==", + "type": "package", + "path": "excelnumberformat/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "excelnumberformat.1.1.0.nupkg.sha512", + "excelnumberformat.nuspec", + "icon.png", + "lib/net20/ExcelNumberFormat.dll", + "lib/net20/ExcelNumberFormat.xml", + "lib/netstandard1.0/ExcelNumberFormat.dll", + "lib/netstandard1.0/ExcelNumberFormat.xml", + "lib/netstandard2.0/ExcelNumberFormat.dll", + "lib/netstandard2.0/ExcelNumberFormat.xml" + ] + }, "Humanizer.Core/2.14.1": { "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", "type": "package", @@ -2070,6 +2815,255 @@ "logo.png" ] }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "sha512": "VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", + "type": "package", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.xml", + "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authentication.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "sha512": "XlVJzJ5wPOYW+Y0J6Q/LVTEyfS4ssLXmt60T0SPP+D8abVhBTl+cgw2gDHlyKYIkcJg7btMVh383NDkMVqD/fg==", + "type": "package", + "path": "microsoft.aspnetcore.authentication.core/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.xml", + "microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authentication.core.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "sha512": "/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==", + "type": "package", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml", + "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "sha512": "aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==", + "type": "package", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.xml", + "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.policy.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "sha512": "ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.xml", + "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "sha512": "1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", + "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.server.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "sha512": "YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==", + "type": "package", + "path": "microsoft.aspnetcore.http/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.xml", + "microsoft.aspnetcore.http.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "sha512": "Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", + "type": "package", + "path": "microsoft.aspnetcore.http.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.xml", + "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "sha512": "2DgZ9rWrJtuR7RYiew01nGRzuQBDaGHGmK56Rk54vsLLsCdzuFUPqbDTJCS1qJQWTbmbIQ9wGIOjpxA1t0l7/w==", + "type": "package", + "path": "microsoft.aspnetcore.http.extensions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.xml", + "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.extensions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "sha512": "ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", + "type": "package", + "path": "microsoft.aspnetcore.http.features/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", + "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.features.nuspec" + ] + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "sha512": "o9BB9hftnCsyJalz9IT0DUFxz8Xvgh3TOfGWolpuf19duxB4FySq7c25XDYBmBMS+sun5/PsEUAi58ra4iJAoA==", + "type": "package", + "path": "microsoft.aspnetcore.jsonpatch/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.xml", + "microsoft.aspnetcore.jsonpatch.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.jsonpatch.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "sha512": "ET6uZpfVbGR1NjCuLaLy197cQ3qZUjzl7EG5SL4GfJH/c9KRE89MMBrQegqWsh0w1iRUB/zQaK0anAjxa/pz4g==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.xml", + "microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.5": { + "sha512": "/8sr8ixIUD57UFwUntha9bOwex7/AkZfdk1f9oNJG1Ek7p/uuKVa7fuHmYZpQOf35Oxrt+2Ku4WPwMSbNxOuWg==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.core/2.2.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.xml", + "microsoft.aspnetcore.mvc.core.2.2.5.nupkg.sha512", + "microsoft.aspnetcore.mvc.core.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "sha512": "WOw4SA3oT47aiU7ZjN/88j+b79YU6VftmHmxK29Km3PTI7WZdmw675QTcgWfsjEX4joCB82v7TvarO3D0oqOyw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.dataannotations/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.xml", + "microsoft.aspnetcore.mvc.dataannotations.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.dataannotations.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "sha512": "ScWwXrkAvw6PekWUFkIr5qa9NKn4uZGRvxtt3DvtUrBYW5Iu2y4SS/vx79JN0XDHNYgAJ81nVs+4M7UE1Y/O+g==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.formatters.json/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.xml", + "microsoft.aspnetcore.mvc.formatters.json.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.formatters.json.nuspec" + ] + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "sha512": "CIHWEKrHzZfFp7t57UXsueiSA/raku56TgRYauV/W1+KAQq6vevz60zjEKaazt3BI76zwMz3B4jGWnCwd8kwQw==", + "type": "package", + "path": "microsoft.aspnetcore.responsecaching.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.xml", + "microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.responsecaching.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "sha512": "jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==", + "type": "package", + "path": "microsoft.aspnetcore.routing/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.xml", + "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "sha512": "lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==", + "type": "package", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.xml", + "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "sha512": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "type": "package", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.xml", + "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.webutilities.nuspec" + ] + }, "Microsoft.Bcl.AsyncInterfaces/6.0.0": { "sha512": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", "type": "package", @@ -2785,6 +3779,237 @@ "tools/netcoreapp2.0/any/ef.runtimeconfig.json" ] }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "type": "package", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/Microsoft.Extensions.ApiDescription.Server.props", + "build/Microsoft.Extensions.ApiDescription.Server.targets", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", + "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "microsoft.extensions.apidescription.server.nuspec", + "tools/Newtonsoft.Json.dll", + "tools/dotnet-getdocument.deps.json", + "tools/dotnet-getdocument.dll", + "tools/dotnet-getdocument.runtimeconfig.json", + "tools/net461-x86/GetDocument.Insider.exe", + "tools/net461-x86/GetDocument.Insider.exe.config", + "tools/net461-x86/Microsoft.Win32.Primitives.dll", + "tools/net461-x86/System.AppContext.dll", + "tools/net461-x86/System.Buffers.dll", + "tools/net461-x86/System.Collections.Concurrent.dll", + "tools/net461-x86/System.Collections.NonGeneric.dll", + "tools/net461-x86/System.Collections.Specialized.dll", + "tools/net461-x86/System.Collections.dll", + "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", + "tools/net461-x86/System.ComponentModel.Primitives.dll", + "tools/net461-x86/System.ComponentModel.TypeConverter.dll", + "tools/net461-x86/System.ComponentModel.dll", + "tools/net461-x86/System.Console.dll", + "tools/net461-x86/System.Data.Common.dll", + "tools/net461-x86/System.Diagnostics.Contracts.dll", + "tools/net461-x86/System.Diagnostics.Debug.dll", + "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", + "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", + "tools/net461-x86/System.Diagnostics.Process.dll", + "tools/net461-x86/System.Diagnostics.StackTrace.dll", + "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461-x86/System.Diagnostics.Tools.dll", + "tools/net461-x86/System.Diagnostics.TraceSource.dll", + "tools/net461-x86/System.Diagnostics.Tracing.dll", + "tools/net461-x86/System.Drawing.Primitives.dll", + "tools/net461-x86/System.Dynamic.Runtime.dll", + "tools/net461-x86/System.Globalization.Calendars.dll", + "tools/net461-x86/System.Globalization.Extensions.dll", + "tools/net461-x86/System.Globalization.dll", + "tools/net461-x86/System.IO.Compression.ZipFile.dll", + "tools/net461-x86/System.IO.Compression.dll", + "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", + "tools/net461-x86/System.IO.FileSystem.Primitives.dll", + "tools/net461-x86/System.IO.FileSystem.Watcher.dll", + "tools/net461-x86/System.IO.FileSystem.dll", + "tools/net461-x86/System.IO.IsolatedStorage.dll", + "tools/net461-x86/System.IO.MemoryMappedFiles.dll", + "tools/net461-x86/System.IO.Pipes.dll", + "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", + "tools/net461-x86/System.IO.dll", + "tools/net461-x86/System.Linq.Expressions.dll", + "tools/net461-x86/System.Linq.Parallel.dll", + "tools/net461-x86/System.Linq.Queryable.dll", + "tools/net461-x86/System.Linq.dll", + "tools/net461-x86/System.Memory.dll", + "tools/net461-x86/System.Net.Http.dll", + "tools/net461-x86/System.Net.NameResolution.dll", + "tools/net461-x86/System.Net.NetworkInformation.dll", + "tools/net461-x86/System.Net.Ping.dll", + "tools/net461-x86/System.Net.Primitives.dll", + "tools/net461-x86/System.Net.Requests.dll", + "tools/net461-x86/System.Net.Security.dll", + "tools/net461-x86/System.Net.Sockets.dll", + "tools/net461-x86/System.Net.WebHeaderCollection.dll", + "tools/net461-x86/System.Net.WebSockets.Client.dll", + "tools/net461-x86/System.Net.WebSockets.dll", + "tools/net461-x86/System.Numerics.Vectors.dll", + "tools/net461-x86/System.ObjectModel.dll", + "tools/net461-x86/System.Reflection.Extensions.dll", + "tools/net461-x86/System.Reflection.Primitives.dll", + "tools/net461-x86/System.Reflection.dll", + "tools/net461-x86/System.Resources.Reader.dll", + "tools/net461-x86/System.Resources.ResourceManager.dll", + "tools/net461-x86/System.Resources.Writer.dll", + "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461-x86/System.Runtime.Extensions.dll", + "tools/net461-x86/System.Runtime.Handles.dll", + "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461-x86/System.Runtime.InteropServices.dll", + "tools/net461-x86/System.Runtime.Numerics.dll", + "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", + "tools/net461-x86/System.Runtime.Serialization.Json.dll", + "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", + "tools/net461-x86/System.Runtime.Serialization.Xml.dll", + "tools/net461-x86/System.Runtime.dll", + "tools/net461-x86/System.Security.Claims.dll", + "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", + "tools/net461-x86/System.Security.Cryptography.Csp.dll", + "tools/net461-x86/System.Security.Cryptography.Encoding.dll", + "tools/net461-x86/System.Security.Cryptography.Primitives.dll", + "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", + "tools/net461-x86/System.Security.Principal.dll", + "tools/net461-x86/System.Security.SecureString.dll", + "tools/net461-x86/System.Text.Encoding.Extensions.dll", + "tools/net461-x86/System.Text.Encoding.dll", + "tools/net461-x86/System.Text.RegularExpressions.dll", + "tools/net461-x86/System.Threading.Overlapped.dll", + "tools/net461-x86/System.Threading.Tasks.Parallel.dll", + "tools/net461-x86/System.Threading.Tasks.dll", + "tools/net461-x86/System.Threading.Thread.dll", + "tools/net461-x86/System.Threading.ThreadPool.dll", + "tools/net461-x86/System.Threading.Timer.dll", + "tools/net461-x86/System.Threading.dll", + "tools/net461-x86/System.ValueTuple.dll", + "tools/net461-x86/System.Xml.ReaderWriter.dll", + "tools/net461-x86/System.Xml.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.dll", + "tools/net461-x86/System.Xml.XmlDocument.dll", + "tools/net461-x86/System.Xml.XmlSerializer.dll", + "tools/net461-x86/netstandard.dll", + "tools/net461/GetDocument.Insider.exe", + "tools/net461/GetDocument.Insider.exe.config", + "tools/net461/Microsoft.Win32.Primitives.dll", + "tools/net461/System.AppContext.dll", + "tools/net461/System.Buffers.dll", + "tools/net461/System.Collections.Concurrent.dll", + "tools/net461/System.Collections.NonGeneric.dll", + "tools/net461/System.Collections.Specialized.dll", + "tools/net461/System.Collections.dll", + "tools/net461/System.ComponentModel.EventBasedAsync.dll", + "tools/net461/System.ComponentModel.Primitives.dll", + "tools/net461/System.ComponentModel.TypeConverter.dll", + "tools/net461/System.ComponentModel.dll", + "tools/net461/System.Console.dll", + "tools/net461/System.Data.Common.dll", + "tools/net461/System.Diagnostics.Contracts.dll", + "tools/net461/System.Diagnostics.Debug.dll", + "tools/net461/System.Diagnostics.DiagnosticSource.dll", + "tools/net461/System.Diagnostics.FileVersionInfo.dll", + "tools/net461/System.Diagnostics.Process.dll", + "tools/net461/System.Diagnostics.StackTrace.dll", + "tools/net461/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461/System.Diagnostics.Tools.dll", + "tools/net461/System.Diagnostics.TraceSource.dll", + "tools/net461/System.Diagnostics.Tracing.dll", + "tools/net461/System.Drawing.Primitives.dll", + "tools/net461/System.Dynamic.Runtime.dll", + "tools/net461/System.Globalization.Calendars.dll", + "tools/net461/System.Globalization.Extensions.dll", + "tools/net461/System.Globalization.dll", + "tools/net461/System.IO.Compression.ZipFile.dll", + "tools/net461/System.IO.Compression.dll", + "tools/net461/System.IO.FileSystem.DriveInfo.dll", + "tools/net461/System.IO.FileSystem.Primitives.dll", + "tools/net461/System.IO.FileSystem.Watcher.dll", + "tools/net461/System.IO.FileSystem.dll", + "tools/net461/System.IO.IsolatedStorage.dll", + "tools/net461/System.IO.MemoryMappedFiles.dll", + "tools/net461/System.IO.Pipes.dll", + "tools/net461/System.IO.UnmanagedMemoryStream.dll", + "tools/net461/System.IO.dll", + "tools/net461/System.Linq.Expressions.dll", + "tools/net461/System.Linq.Parallel.dll", + "tools/net461/System.Linq.Queryable.dll", + "tools/net461/System.Linq.dll", + "tools/net461/System.Memory.dll", + "tools/net461/System.Net.Http.dll", + "tools/net461/System.Net.NameResolution.dll", + "tools/net461/System.Net.NetworkInformation.dll", + "tools/net461/System.Net.Ping.dll", + "tools/net461/System.Net.Primitives.dll", + "tools/net461/System.Net.Requests.dll", + "tools/net461/System.Net.Security.dll", + "tools/net461/System.Net.Sockets.dll", + "tools/net461/System.Net.WebHeaderCollection.dll", + "tools/net461/System.Net.WebSockets.Client.dll", + "tools/net461/System.Net.WebSockets.dll", + "tools/net461/System.Numerics.Vectors.dll", + "tools/net461/System.ObjectModel.dll", + "tools/net461/System.Reflection.Extensions.dll", + "tools/net461/System.Reflection.Primitives.dll", + "tools/net461/System.Reflection.dll", + "tools/net461/System.Resources.Reader.dll", + "tools/net461/System.Resources.ResourceManager.dll", + "tools/net461/System.Resources.Writer.dll", + "tools/net461/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461/System.Runtime.Extensions.dll", + "tools/net461/System.Runtime.Handles.dll", + "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461/System.Runtime.InteropServices.dll", + "tools/net461/System.Runtime.Numerics.dll", + "tools/net461/System.Runtime.Serialization.Formatters.dll", + "tools/net461/System.Runtime.Serialization.Json.dll", + "tools/net461/System.Runtime.Serialization.Primitives.dll", + "tools/net461/System.Runtime.Serialization.Xml.dll", + "tools/net461/System.Runtime.dll", + "tools/net461/System.Security.Claims.dll", + "tools/net461/System.Security.Cryptography.Algorithms.dll", + "tools/net461/System.Security.Cryptography.Csp.dll", + "tools/net461/System.Security.Cryptography.Encoding.dll", + "tools/net461/System.Security.Cryptography.Primitives.dll", + "tools/net461/System.Security.Cryptography.X509Certificates.dll", + "tools/net461/System.Security.Principal.dll", + "tools/net461/System.Security.SecureString.dll", + "tools/net461/System.Text.Encoding.Extensions.dll", + "tools/net461/System.Text.Encoding.dll", + "tools/net461/System.Text.RegularExpressions.dll", + "tools/net461/System.Threading.Overlapped.dll", + "tools/net461/System.Threading.Tasks.Parallel.dll", + "tools/net461/System.Threading.Tasks.dll", + "tools/net461/System.Threading.Thread.dll", + "tools/net461/System.Threading.ThreadPool.dll", + "tools/net461/System.Threading.Timer.dll", + "tools/net461/System.Threading.dll", + "tools/net461/System.ValueTuple.dll", + "tools/net461/System.Xml.ReaderWriter.dll", + "tools/net461/System.Xml.XDocument.dll", + "tools/net461/System.Xml.XPath.XDocument.dll", + "tools/net461/System.Xml.XPath.dll", + "tools/net461/System.Xml.XmlDocument.dll", + "tools/net461/System.Xml.XmlSerializer.dll", + "tools/net461/netstandard.dll", + "tools/netcoreapp2.1/GetDocument.Insider.deps.json", + "tools/netcoreapp2.1/GetDocument.Insider.dll", + "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json", + "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" + ] + }, "Microsoft.Extensions.Caching.Abstractions/8.0.0": { "sha512": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", "type": "package", @@ -3406,6 +4631,32 @@ "useSharedDesignerContext.txt" ] }, + "Microsoft.Extensions.Localization/2.2.0": { + "sha512": "3nBQLeBrcd4Rgd9vQi4gF5NgAWxnQrHekjjwlgww4wyLNfJDizjiex2resOLoAuAgy3y2IIAWjOpbr0UKR2ykw==", + "type": "package", + "path": "microsoft.extensions.localization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll", + "lib/netstandard2.0/Microsoft.Extensions.Localization.xml", + "microsoft.extensions.localization.2.2.0.nupkg.sha512", + "microsoft.extensions.localization.nuspec" + ] + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "sha512": "FQzXG/lYR9UOM2zHpqsjTRpp3EghIYo3FCsQpfmtbp+glPaU0WXZfNmMjyqBRmMj1Sq93fPnC+G9zzYRauuRQA==", + "type": "package", + "path": "microsoft.extensions.localization.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.xml", + "microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.localization.abstractions.nuspec" + ] + }, "Microsoft.Extensions.Logging/8.0.1": { "sha512": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", "type": "package", @@ -3658,6 +4909,19 @@ "useSharedDesignerContext.txt" ] }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==", + "type": "package", + "path": "microsoft.extensions.objectpool/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.xml", + "microsoft.extensions.objectpool.2.2.0.nupkg.sha512", + "microsoft.extensions.objectpool.nuspec" + ] + }, "Microsoft.Extensions.Options/8.0.2": { "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", "type": "package", @@ -3952,6 +5216,19 @@ "microsoft.identitymodel.tokens.nuspec" ] }, + "Microsoft.Net.Http.Headers/2.2.0": { + "sha512": "iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", + "type": "package", + "path": "microsoft.net.http.headers/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.xml", + "microsoft.net.http.headers.2.2.0.nupkg.sha512", + "microsoft.net.http.headers.nuspec" + ] + }, "Microsoft.NETCore.Platforms/1.1.0": { "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", "type": "package", @@ -3982,6 +5259,21 @@ "runtime.json" ] }, + "Microsoft.OpenApi/1.6.14": { + "sha512": "tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==", + "type": "package", + "path": "microsoft.openapi/1.6.14", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/netstandard2.0/Microsoft.OpenApi.dll", + "lib/netstandard2.0/Microsoft.OpenApi.pdb", + "lib/netstandard2.0/Microsoft.OpenApi.xml", + "microsoft.openapi.1.6.14.nupkg.sha512", + "microsoft.openapi.nuspec" + ] + }, "Microsoft.SqlServer.Server/1.0.0": { "sha512": "N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==", "type": "package", @@ -4042,6 +5334,36 @@ "mono.texttemplating.nuspec" ] }, + "Newtonsoft.Json/11.0.2": { + "sha512": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==", + "type": "package", + "path": "newtonsoft.json/11.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml", + "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml", + "newtonsoft.json.11.0.2.nupkg.sha512", + "newtonsoft.json.nuspec" + ] + }, "Npgsql/8.0.5": { "sha512": "zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", "type": "package", @@ -4080,6 +5402,173 @@ "postgresql.png" ] }, + "RBush/4.0.0": { + "sha512": "j3GeRxxLUQdc+UrZnvythdQxi3bd8ayn87VDjfGXrvfodF550n9wR6SgQvpo+YiAv3GJezsu6lK0l47rRqnbdg==", + "type": "package", + "path": "rbush/4.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net47/RBush.dll", + "lib/net47/RBush.xml", + "lib/net8.0/RBush.dll", + "lib/net8.0/RBush.xml", + "lib/netstandard2.0/RBush.dll", + "lib/netstandard2.0/RBush.xml", + "rbush.4.0.0.nupkg.sha512", + "rbush.nuspec", + "readme.md" + ] + }, + "SixLabors.Fonts/1.0.0": { + "sha512": "LFQsCZlV0xlUyXAOMUo5kkSl+8zAQXXbbdwWchtk0B4o7zotZhQsQOcJUELGHdfPfm/xDAsz6hONAuV25bJaAg==", + "type": "package", + "path": "sixlabors.fonts/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp3.1/SixLabors.Fonts.dll", + "lib/netcoreapp3.1/SixLabors.Fonts.xml", + "lib/netstandard2.0/SixLabors.Fonts.dll", + "lib/netstandard2.0/SixLabors.Fonts.xml", + "lib/netstandard2.1/SixLabors.Fonts.dll", + "lib/netstandard2.1/SixLabors.Fonts.xml", + "sixlabors.fonts.1.0.0.nupkg.sha512", + "sixlabors.fonts.128.png", + "sixlabors.fonts.nuspec" + ] + }, + "Swashbuckle.AspNetCore/6.6.2": { + "sha512": "+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==", + "type": "package", + "path": "swashbuckle.aspnetcore/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/Swashbuckle.AspNetCore.props", + "swashbuckle.aspnetcore.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.nuspec" + ] + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "sha512": "ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swagger/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.swagger.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "sha512": "zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggergen/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.swaggergen.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "sha512": "mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggerui/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.swaggerui.nuspec" + ] + }, + "System.Buffers/4.5.0": { + "sha512": "pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==", + "type": "package", + "path": "system.buffers/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.1/System.Buffers.dll", + "lib/netstandard1.1/System.Buffers.xml", + "lib/netstandard2.0/System.Buffers.dll", + "lib/netstandard2.0/System.Buffers.xml", + "lib/uap10.0.16299/_._", + "ref/net45/System.Buffers.dll", + "ref/net45/System.Buffers.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.1/System.Buffers.dll", + "ref/netstandard1.1/System.Buffers.xml", + "ref/netstandard2.0/System.Buffers.dll", + "ref/netstandard2.0/System.Buffers.xml", + "ref/uap10.0.16299/_._", + "system.buffers.4.5.0.nupkg.sha512", + "system.buffers.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, "System.CodeDom/4.4.0": { "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", "type": "package", @@ -4124,6 +5613,95 @@ "useSharedDesignerContext.txt" ] }, + "System.ComponentModel.Annotations/4.5.0": { + "sha512": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==", + "type": "package", + "path": "system.componentmodel.annotations/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net461/System.ComponentModel.Annotations.dll", + "lib/netcore50/System.ComponentModel.Annotations.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.4/System.ComponentModel.Annotations.dll", + "lib/netstandard2.0/System.ComponentModel.Annotations.dll", + "lib/portable-net45+win8/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net461/System.ComponentModel.Annotations.dll", + "ref/net461/System.ComponentModel.Annotations.xml", + "ref/netcore50/System.ComponentModel.Annotations.dll", + "ref/netcore50/System.ComponentModel.Annotations.xml", + "ref/netcore50/de/System.ComponentModel.Annotations.xml", + "ref/netcore50/es/System.ComponentModel.Annotations.xml", + "ref/netcore50/fr/System.ComponentModel.Annotations.xml", + "ref/netcore50/it/System.ComponentModel.Annotations.xml", + "ref/netcore50/ja/System.ComponentModel.Annotations.xml", + "ref/netcore50/ko/System.ComponentModel.Annotations.xml", + "ref/netcore50/ru/System.ComponentModel.Annotations.xml", + "ref/netcore50/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netcore50/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.1/System.ComponentModel.Annotations.dll", + "ref/netstandard1.1/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/de/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/es/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/fr/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/it/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/ja/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/ko/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/ru/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/System.ComponentModel.Annotations.dll", + "ref/netstandard1.3/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/de/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/es/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/fr/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/it/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/ja/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/ko/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/ru/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/System.ComponentModel.Annotations.dll", + "ref/netstandard1.4/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/de/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/es/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/fr/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/it/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/ja/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/ko/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/ru/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netstandard2.0/System.ComponentModel.Annotations.dll", + "ref/netstandard2.0/System.ComponentModel.Annotations.xml", + "ref/portable-net45+win8/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.componentmodel.annotations.4.5.0.nupkg.sha512", + "system.componentmodel.annotations.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, "System.Composition/6.0.0": { "sha512": "d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", "type": "package", @@ -4475,6 +6053,35 @@ "version.txt" ] }, + "System.IO.Packaging/8.0.1": { + "sha512": "KYkIOAvPexQOLDxPO2g0BVoWInnQhPpkFzRqvNrNrMhVT6kqhVr0zEb6KCHlptLFukxnZrjuMVAnxK7pOGUYrw==", + "type": "package", + "path": "system.io.packaging/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.IO.Packaging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.IO.Packaging.targets", + "lib/net462/System.IO.Packaging.dll", + "lib/net462/System.IO.Packaging.xml", + "lib/net6.0/System.IO.Packaging.dll", + "lib/net6.0/System.IO.Packaging.xml", + "lib/net7.0/System.IO.Packaging.dll", + "lib/net7.0/System.IO.Packaging.xml", + "lib/net8.0/System.IO.Packaging.dll", + "lib/net8.0/System.IO.Packaging.xml", + "lib/netstandard2.0/System.IO.Packaging.dll", + "lib/netstandard2.0/System.IO.Packaging.xml", + "system.io.packaging.8.0.1.nupkg.sha512", + "system.io.packaging.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.IO.Pipelines/6.0.3": { "sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", "type": "package", @@ -5299,33 +6906,57 @@ }, "projectFileDependencyGroups": { "net8.0": [ + "ClosedXML >= 0.104.2", + "Microsoft.AspNetCore.Mvc.Abstractions >= 2.2.0", + "Microsoft.AspNetCore.Mvc.Core >= 2.2.5", + "Microsoft.AspNetCore.Mvc.DataAnnotations >= 2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json >= 2.2.0", "Microsoft.EntityFrameworkCore >= 8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions >= 8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers >= 8.0.10", "Microsoft.EntityFrameworkCore.Design >= 8.0.10", + "Microsoft.EntityFrameworkCore.Relational >= 8.0.10", "Microsoft.EntityFrameworkCore.SqlServer >= 8.0.10", "Microsoft.EntityFrameworkCore.Tools >= 8.0.10", + "Microsoft.Extensions.Caching.Abstractions >= 8.0.0", + "Microsoft.Extensions.Caching.Memory >= 8.0.1", + "Microsoft.Extensions.Configuration >= 8.0.0", + "Microsoft.Extensions.Configuration.Abstractions >= 8.0.0", + "Microsoft.Extensions.Configuration.Binder >= 8.0.0", + "Microsoft.Extensions.Configuration.CommandLine >= 8.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables >= 8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions >= 8.0.0", + "Microsoft.Extensions.Configuration.Json >= 8.0.0", + "Microsoft.Extensions.Configuration.UserSecrets >= 8.0.0", "Microsoft.Extensions.DependencyInjection >= 8.0.1", + "Microsoft.Extensions.DependencyInjection.Abstractions >= 8.0.2", + "Microsoft.Extensions.FileProviders.Abstractions >= 8.0.0", "Microsoft.Extensions.Hosting >= 8.0.0", - "Npgsql.EntityFrameworkCore.PostgreSQL >= 8.0.10" + "Npgsql.EntityFrameworkCore.PostgreSQL >= 8.0.10", + "Swashbuckle.AspNetCore >= 6.6.2", + "Swashbuckle.AspNetCore.Swagger >= 6.6.2", + "Swashbuckle.AspNetCore.SwaggerGen >= 6.6.2", + "Swashbuckle.AspNetCore.SwaggerUI >= 6.6.2" ] }, "packageFolders": { - "C:\\Users\\class_Student\\.nuget\\packages\\": {}, + "C:\\Users\\Наиль\\.nuget\\packages\\": {}, "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", + "projectUniqueName": "C:\\Users\\Наиль\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj", "projectName": "Demo1", - "projectPath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", - "packagesPath": "C:\\Users\\class_Student\\.nuget\\packages\\", - "outputPath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\obj\\", + "projectPath": "C:\\Users\\Наиль\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj", + "packagesPath": "C:\\Users\\Наиль\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Наиль\\Source\\Repos\\slarny4\\Demo1\\obj\\", "projectStyle": "PackageReference", "fallbackFolders": [ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" ], "configFilePaths": [ - "C:\\Users\\class_Student\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Наиль\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], @@ -5334,7 +6965,6 @@ ], "sources": { "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "C:\\Program Files\\dotnet\\library-packs": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { @@ -5358,16 +6988,48 @@ "net8.0": { "targetAlias": "net8.0", "dependencies": { + "ClosedXML": { + "target": "Package", + "version": "[0.104.2, )" + }, + "Microsoft.AspNetCore.Mvc.Abstractions": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.Mvc.Core": { + "target": "Package", + "version": "[2.2.5, )" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json": { + "target": "Package", + "version": "[2.2.0, )" + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[8.0.10, )" }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "target": "Package", + "version": "[8.0.10, )" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "target": "Package", + "version": "[8.0.10, )" + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[8.0.10, )" }, + "Microsoft.EntityFrameworkCore.Relational": { + "target": "Package", + "version": "[8.0.10, )" + }, "Microsoft.EntityFrameworkCore.SqlServer": { "target": "Package", "version": "[8.0.10, )" @@ -5378,10 +7040,58 @@ "target": "Package", "version": "[8.0.10, )" }, + "Microsoft.Extensions.Caching.Abstractions": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[8.0.1, )" + }, + "Microsoft.Extensions.Configuration": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.Binder": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.Json": { + "target": "Package", + "version": "[8.0.0, )" + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "target": "Package", + "version": "[8.0.0, )" + }, "Microsoft.Extensions.DependencyInjection": { "target": "Package", "version": "[8.0.1, )" }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "target": "Package", + "version": "[8.0.2, )" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "target": "Package", + "version": "[8.0.0, )" + }, "Microsoft.Extensions.Hosting": { "target": "Package", "version": "[8.0.0, )" @@ -5389,6 +7099,22 @@ "Npgsql.EntityFrameworkCore.PostgreSQL": { "target": "Package", "version": "[8.0.10, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[6.6.2, )" + }, + "Swashbuckle.AspNetCore.Swagger": { + "target": "Package", + "version": "[6.6.2, )" + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "target": "Package", + "version": "[6.6.2, )" + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "target": "Package", + "version": "[6.6.2, )" } }, "imports": [ @@ -5407,7 +7133,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" } } } diff --git a/Demo1/obj/project.nuget.cache b/Demo1/obj/project.nuget.cache index 55c062f..97bb0c4 100644 --- a/Demo1/obj/project.nuget.cache +++ b/Demo1/obj/project.nuget.cache @@ -1,108 +1,148 @@ { "version": 2, - "dgSpecHash": "KS0UR1vcfxU+Cp0vHhNihsAvoPAqfecxj9EUAflUiIADZqG6BmA75DdVxBi9tiEHy5JR4JPjoQWx+ipgVzteHg==", + "dgSpecHash": "XvWO8xZs4ng=", "success": true, - "projectFilePath": "C:\\Users\\class_Student\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", + "projectFilePath": "C:\\Users\\Наиль\\source\\repos\\slarny4\\Demo1\\Demo1.csproj", "expectedPackageFiles": [ - "C:\\Users\\class_Student\\.nuget\\packages\\azure.core\\1.35.0\\azure.core.1.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\azure.identity\\1.10.3\\azure.identity.1.10.3.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.csharp\\4.5.0\\microsoft.csharp.4.5.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.data.sqlclient\\5.1.5\\microsoft.data.sqlclient.5.1.5.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\5.1.1\\microsoft.data.sqlclient.sni.runtime.5.1.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore.sqlserver\\8.0.10\\microsoft.entityframeworkcore.sqlserver.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\8.0.10\\microsoft.entityframeworkcore.tools.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\8.0.0\\microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\8.0.0\\microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\8.0.0\\microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.0\\microsoft.extensions.diagnostics.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.0\\microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.hosting\\8.0.0\\microsoft.extensions.hosting.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.0\\microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.0\\microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging.console\\8.0.0\\microsoft.extensions.logging.console.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging.debug\\8.0.0\\microsoft.extensions.logging.debug.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging.eventlog\\8.0.0\\microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\8.0.0\\microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identity.client\\4.56.0\\microsoft.identity.client.4.56.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identity.client.extensions.msal\\4.56.0\\microsoft.identity.client.extensions.msal.4.56.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identitymodel.abstractions\\6.35.0\\microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.35.0\\microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identitymodel.logging\\6.35.0\\microsoft.identitymodel.logging.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.35.0\\microsoft.identitymodel.protocols.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.35.0\\microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.35.0\\microsoft.identitymodel.tokens.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.sqlserver.server\\1.0.0\\microsoft.sqlserver.server.1.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.1\\system.configuration.configurationmanager.6.0.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.formats.asn1\\5.0.0\\system.formats.asn1.5.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.35.0\\system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.io.filesystem.accesscontrol\\5.0.0\\system.io.filesystem.accesscontrol.5.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.memory.data\\1.0.2\\system.memory.data.1.0.2.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.numerics.vectors\\4.5.0\\system.numerics.vectors.4.5.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.runtime.caching\\6.0.0\\system.runtime.caching.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.security.cryptography.cng\\5.0.0\\system.security.cryptography.cng.5.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512", - "C:\\Users\\class_Student\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512" + "C:\\Users\\Наиль\\.nuget\\packages\\azure.core\\1.35.0\\azure.core.1.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\azure.identity\\1.10.3\\azure.identity.1.10.3.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\closedxml\\0.104.2\\closedxml.0.104.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\documentformat.openxml\\3.1.1\\documentformat.openxml.3.1.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\documentformat.openxml.framework\\3.1.1\\documentformat.openxml.framework.3.1.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.authentication.abstractions\\2.2.0\\microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.authentication.core\\2.2.0\\microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.authorization\\2.2.0\\microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.authorization.policy\\2.2.0\\microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.hosting.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.hosting.server.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.http\\2.2.0\\microsoft.aspnetcore.http.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.http.abstractions\\2.2.0\\microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.http.extensions\\2.2.0\\microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.http.features\\2.2.0\\microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\2.2.0\\microsoft.aspnetcore.jsonpatch.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.mvc.abstractions\\2.2.0\\microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.mvc.core\\2.2.5\\microsoft.aspnetcore.mvc.core.2.2.5.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.mvc.dataannotations\\2.2.0\\microsoft.aspnetcore.mvc.dataannotations.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.mvc.formatters.json\\2.2.0\\microsoft.aspnetcore.mvc.formatters.json.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.responsecaching.abstractions\\2.2.0\\microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.routing\\2.2.0\\microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.routing.abstractions\\2.2.0\\microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.aspnetcore.webutilities\\2.2.0\\microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.csharp\\4.5.0\\microsoft.csharp.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.data.sqlclient\\5.1.5\\microsoft.data.sqlclient.5.1.5.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\5.1.1\\microsoft.data.sqlclient.sni.runtime.5.1.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore.sqlserver\\8.0.10\\microsoft.entityframeworkcore.sqlserver.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\8.0.10\\microsoft.entityframeworkcore.tools.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\8.0.0\\microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\8.0.0\\microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\8.0.0\\microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.0\\microsoft.extensions.diagnostics.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.0\\microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.hosting\\8.0.0\\microsoft.extensions.hosting.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.0\\microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.localization\\2.2.0\\microsoft.extensions.localization.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\2.2.0\\microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.0\\microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging.console\\8.0.0\\microsoft.extensions.logging.console.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging.debug\\8.0.0\\microsoft.extensions.logging.debug.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging.eventlog\\8.0.0\\microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\8.0.0\\microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.objectpool\\2.2.0\\microsoft.extensions.objectpool.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identity.client\\4.56.0\\microsoft.identity.client.4.56.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identity.client.extensions.msal\\4.56.0\\microsoft.identity.client.extensions.msal.4.56.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identitymodel.abstractions\\6.35.0\\microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.35.0\\microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identitymodel.logging\\6.35.0\\microsoft.identitymodel.logging.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.35.0\\microsoft.identitymodel.protocols.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.35.0\\microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.35.0\\microsoft.identitymodel.tokens.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.net.http.headers\\2.2.0\\microsoft.net.http.headers.2.2.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.openapi\\1.6.14\\microsoft.openapi.1.6.14.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.sqlserver.server\\1.0.0\\microsoft.sqlserver.server.1.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\newtonsoft.json\\11.0.2\\newtonsoft.json.11.0.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\rbush\\4.0.0\\rbush.4.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\swashbuckle.aspnetcore\\6.6.2\\swashbuckle.aspnetcore.6.6.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.6.2\\swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.6.2\\swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.6.2\\swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.buffers\\4.5.0\\system.buffers.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.componentmodel.annotations\\4.5.0\\system.componentmodel.annotations.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.1\\system.configuration.configurationmanager.6.0.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.formats.asn1\\5.0.0\\system.formats.asn1.5.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.35.0\\system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.io.filesystem.accesscontrol\\5.0.0\\system.io.filesystem.accesscontrol.5.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.io.packaging\\8.0.1\\system.io.packaging.8.0.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.memory.data\\1.0.2\\system.memory.data.1.0.2.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.numerics.vectors\\4.5.0\\system.numerics.vectors.4.5.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.runtime.caching\\6.0.0\\system.runtime.caching.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.security.cryptography.cng\\5.0.0\\system.security.cryptography.cng.5.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512", + "C:\\Users\\Наиль\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/Demo1/postman-collections/demo1-collection.json b/Demo1/postman-collections/demo1-collection.json new file mode 100644 index 0000000..77e46b1 --- /dev/null +++ b/Demo1/postman-collections/demo1-collection.json @@ -0,0 +1,82 @@ +{ + "info": { + "_postman_id": "12345678-1234-1234-1234-123456789012", + "name": "Demo1 Collection", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "Get All Users", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/api/admin/getAllUsers", + "host": [ "{{baseUrl}}" ], + "path": [ "api", "admin", "getAllUsers" ] + } + }, + "response": [] + }, + { + "name": "Add Group", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\"group_name\": \"ip1-22\", \"students\": [{\"FIO\": \"Иванов Иван Иванович\", \"GroupID\": 1}, {\"FIO\": \"Петров Петр Петрович\", \"GroupID\": 1}]}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/api/admin/addGroup", + "host": [ "{{baseUrl}}" ], + "path": [ "api", "admin", "addGroup" ] + } + }, + "response": [] + }, + { + "name": "Delete User", + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{baseUrl}}/api/admin/deleteUser?id=e6b9964d-ea9f-420a-84b9-af9633bbfab9", + "host": [ "{{baseUrl}}" ], + "path": [ "api", "admin", "deleteUser" ], + "query": [ + { + "key": "id", + "value": "e6b9964d-ea9f-420a-84b9-af9633bbfab9" + } + ] + } + }, + "response": [] + }, + { + "name": "Get Presence by Group", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/api/presence/getPresence?groupId=1", + "host": [ "{{baseUrl}}" ], + "path": [ "api", "presence", "getPresence" ], + "query": [ + { + "key": "groupId", + "value": "1" + } + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file