Compare commits
No commits in common. "Devi" and "main" have entirely different histories.
@ -2,15 +2,9 @@
|
|||||||
"ExpandedNodes": [
|
"ExpandedNodes": [
|
||||||
"",
|
"",
|
||||||
"\\Zurnal",
|
"\\Zurnal",
|
||||||
"\\Zurnal\\Date",
|
|
||||||
"\\Zurnal\\Date\\Repository",
|
|
||||||
"\\Zurnal\\Domain",
|
"\\Zurnal\\Domain",
|
||||||
"\\Zurnal\\Domain\\UseCase",
|
"\\Zurnal\\Domain\\UseCase"
|
||||||
"\\Zurnal\\Presence",
|
|
||||||
"\\Zurnal\\RemaDateBase",
|
|
||||||
"\\Zurnal\\RemaDateBase\\DateDao",
|
|
||||||
"\\Zurnal\\RemaDateBase\\Interfase",
|
|
||||||
"\\Zurnal\\UI"
|
|
||||||
],
|
],
|
||||||
|
"SelectedNode": "\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
"PreviewInSolutionExplorer": false
|
"PreviewInSolutionExplorer": false
|
||||||
}
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,7 +1,48 @@
|
|||||||
{
|
{
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\",
|
"WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\",
|
||||||
"Documents": [],
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\domain\\usecase\\usecasepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\domain\\usecase\\usecasepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\presence\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\presence\\usecasegeneratepresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\ui\\meinmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\ui\\meinmenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\ui\\userconsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\date\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\date\\repository\\grouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\date\\localdate\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\date\\localdate\\entity\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\date\\localdate\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\date\\localdate\\localstaticdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\date\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{29C97C84-2606-4D99-8BF5-4B4674F44541}|Zurnal\\Zurnal.csproj|solutionrelative:zurnal\\date\\repository\\userrepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
}
|
||||||
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
{
|
{
|
||||||
"Orientation": 0,
|
"Orientation": 0,
|
||||||
@ -9,11 +50,137 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": -1,
|
"SelectedChildIndex": 0,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Bookmark",
|
"$type": "Document",
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
"DocumentIndex": 0,
|
||||||
|
"Title": "UseCasePresence.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"ViewState": "AgIAAB0AAAAAAAAAAAAwwDcAAAABAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T11:51:23.091Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 4,
|
||||||
|
"Title": "UserConsole.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAACIAAAABAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T11:39:20.727Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 6,
|
||||||
|
"Title": "User.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T11:10:50.678Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "UseCaseGeneratePresence.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"ViewState": "AgIAABkAAAAAAAAAAAAgwDEAAAABAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:49:23.262Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "MeinMenu.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"ViewState": "AgIAABAAAAAAAAAAAAAgwAsAAAAuAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:40:32.085Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 3,
|
||||||
|
"Title": "Program.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Program.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Program.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Program.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Program.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:37:14.956Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 5,
|
||||||
|
"Title": "GroupRepositoryImpl.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"ViewState": "AgIAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:36:36.451Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 8,
|
||||||
|
"Title": "UserUseCase.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"ViewState": "AgIAACUAAAAAAAAAAAAAADQAAAA7AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:34:06.789Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 9,
|
||||||
|
"Title": "UserRepositoryImpl.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAArAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:32:45.245Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
|
"Title": "LocalStaticData.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAACAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:31:32.261Z",
|
||||||
|
"EditorCaption": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,48 @@
|
|||||||
{
|
{
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\",
|
"WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\",
|
||||||
"Documents": [],
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Domain\\UseCase\\UseCasePresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\UserConsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\UI\\UserConsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\User.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Date\\LocalDate\\Entity\\User.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Presence\\UseCaseGeneratePresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Presence\\UseCaseGeneratePresence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\MeinMenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\UI\\MeinMenu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Domain\\UseCase\\UserUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\UserRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Date\\Repository\\UserRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\LocalStaticData.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Zurnal\\Date\\LocalDate\\LocalStaticData.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
}
|
||||||
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
{
|
{
|
||||||
"Orientation": 0,
|
"Orientation": 0,
|
||||||
@ -9,11 +50,132 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": -1,
|
"SelectedChildIndex": 1,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Bookmark",
|
"$type": "Bookmark",
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 0,
|
||||||
|
"Title": "UseCasePresence.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAANAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T11:51:23.091Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "UserConsole.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\UI\\UserConsole.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAACIAAAABAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T11:39:20.727Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "User.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\LocalDate\\Entity\\User.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T11:10:50.678Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 3,
|
||||||
|
"Title": "UseCaseGeneratePresence.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Presence\\UseCaseGeneratePresence.cs",
|
||||||
|
"ViewState": "AgIAABkAAAAAAAAAAAAgwDEAAAABAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:49:23.262Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 4,
|
||||||
|
"Title": "MeinMenu.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\UI\\MeinMenu.cs",
|
||||||
|
"ViewState": "AgIAABAAAAAAAAAAAAAgwAsAAAAuAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:40:32.085Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 5,
|
||||||
|
"Title": "Program.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Program.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Program.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Program.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Program.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:37:14.956Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 6,
|
||||||
|
"Title": "GroupRepositoryImpl.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\Repository\\GroupRepositoryImpl.cs",
|
||||||
|
"ViewState": "AgIAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:36:36.451Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
|
"Title": "UserUseCase.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
||||||
|
"ViewState": "AgIAACUAAAAAAAAAAAAAADQAAAA7AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:34:06.789Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 8,
|
||||||
|
"Title": "UserRepositoryImpl.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\Repository\\UserRepositoryImpl.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAArAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:32:45.245Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 9,
|
||||||
|
"Title": "LocalStaticData.cs",
|
||||||
|
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"RelativeDocumentMoniker": "Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"RelativeToolTip": "Zurnal\\Date\\LocalDate\\LocalStaticData.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAACAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-10-21T10:31:32.261Z"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,109 +0,0 @@
|
|||||||
{
|
|
||||||
"Version": 1,
|
|
||||||
"WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\",
|
|
||||||
"Documents": [
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\ui\\info.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|solutionrelative:zurnal\\ui\\info.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\ui\\conver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|solutionrelative:zurnal\\ui\\conver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|solutionrelative:zurnal\\domain\\usecase\\userusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\remadatebase\\remoutdatebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|solutionrelative:zurnal\\remadatebase\\remoutdatebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|c:\\users\\profi\\source\\repos\\zurnal\\zurnal\\date\\localdate\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{1A424C41-55D9-4D22-99F5-4C69E68E1E20}|Zurnal1.csproj|solutionrelative:zurnal\\date\\localdate\\entity\\presence.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"DocumentGroupContainers": [
|
|
||||||
{
|
|
||||||
"Orientation": 0,
|
|
||||||
"VerticalTabListWidth": 256,
|
|
||||||
"DocumentGroups": [
|
|
||||||
{
|
|
||||||
"DockedWidth": 200,
|
|
||||||
"SelectedChildIndex": 1,
|
|
||||||
"Children": [
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 1,
|
|
||||||
"Title": "conver.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\conver.cs",
|
|
||||||
"RelativeDocumentMoniker": "Zurnal\\UI\\conver.cs",
|
|
||||||
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\conver.cs",
|
|
||||||
"RelativeToolTip": "Zurnal\\UI\\conver.cs",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-10-28T10:38:09.432Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 0,
|
|
||||||
"Title": "Info.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\Info.cs",
|
|
||||||
"RelativeDocumentMoniker": "Zurnal\\UI\\Info.cs",
|
|
||||||
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\UI\\Info.cs",
|
|
||||||
"RelativeToolTip": "Zurnal\\UI\\Info.cs",
|
|
||||||
"ViewState": "AgIAAAMAAAAAAAAAAAAAACMAAAAJAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-10-28T10:38:07.545Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 3,
|
|
||||||
"Title": "RemoutDateBase.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\RemaDateBase\\RemoutDateBase.cs",
|
|
||||||
"RelativeDocumentMoniker": "Zurnal\\RemaDateBase\\RemoutDateBase.cs",
|
|
||||||
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\RemaDateBase\\RemoutDateBase.cs",
|
|
||||||
"RelativeToolTip": "Zurnal\\RemaDateBase\\RemoutDateBase.cs",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-10-28T10:26:33.673Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 2,
|
|
||||||
"Title": "UserUseCase.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
|
||||||
"RelativeDocumentMoniker": "Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
|
||||||
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
|
||||||
"RelativeToolTip": "Zurnal\\Domain\\UseCase\\UserUseCase.cs",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAZAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-10-28T10:25:57.458Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 4,
|
|
||||||
"Title": "Presence.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\Presence.cs",
|
|
||||||
"RelativeDocumentMoniker": "Zurnal\\Date\\LocalDate\\Entity\\Presence.cs",
|
|
||||||
"ToolTip": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Date\\LocalDate\\Entity\\Presence.cs",
|
|
||||||
"RelativeToolTip": "Zurnal\\Date\\LocalDate\\Entity\\Presence.cs",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-10-28T10:23:14.477Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Bookmark",
|
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Binary file not shown.
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
@ -1,4 +1,10 @@
|
|||||||
namespace Zurnal.domain.Models
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Demo.domain.Models
|
||||||
{
|
{
|
||||||
public class GroupLocalEntity
|
public class GroupLocalEntity
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,10 @@
|
|||||||
namespace Zurnal.domain.Models
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Demo.domain.Models
|
||||||
{
|
{
|
||||||
internal class PresenceLocalEntity
|
internal class PresenceLocalEntity
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,10 @@
|
|||||||
namespace Zurnal.domain.Models
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Demo.domain.Models
|
||||||
{
|
{
|
||||||
public class UserLocalEnity : IEquatable<UserLocalEnity>
|
public class UserLocalEnity : IEquatable<UserLocalEnity>
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
using Zurnal.domain.Models;
|
using Demo.domain.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Zurnal.Date.LocalDate
|
namespace Zurnal.Date.LocalDate
|
||||||
{
|
{
|
||||||
|
@ -1,86 +1,63 @@
|
|||||||
using System.Diagnostics;
|
using Demo.domain.Models;
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
using System.Diagnostics;
|
||||||
using System.Text.RegularExpressions;
|
using Zurnal.Date.LocalDate;
|
||||||
using Zurnal.domain.Models;
|
using Zurnal.Date.Repository;
|
||||||
|
|
||||||
namespace Zurnal.Data.Repository
|
namespace Demo.Data.Repository
|
||||||
{
|
{
|
||||||
[DebuggerDisplay($"{{{nameof(GetDebuggerDisplay)}(),nq}}")]
|
[DebuggerDisplay($"{{{nameof(GetDebuggerDisplay)}(),nq}}")]
|
||||||
public class GroupRepositoryImpl : IGroupRepository
|
public class GroupRepositoryImpl : IGroupRepository
|
||||||
{
|
{
|
||||||
public List<GroupDao> AllGroup => GroupDao.Name.ToList();
|
public List<GroupLocalEntity> GetAllGroups() => LocalStaticData.groups;
|
||||||
|
|
||||||
public IEnumerable<GroupDao> GetAllGroups()
|
public void AddGroup(GroupLocalEntity newGroup)
|
||||||
{
|
|
||||||
return GroupDao.Name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddGroup(GroupDao group)
|
|
||||||
{
|
{
|
||||||
if (group == null)
|
LocalStaticData.groups.Add(newGroup);
|
||||||
{
|
|
||||||
throw new ArgumentNullException(nameof(group));
|
|
||||||
}
|
|
||||||
GroupDao.Name.Add(group);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateGroupName(int groupId, string name)
|
public void UpdateGroupName(int groupId, string newName)
|
||||||
{
|
{
|
||||||
var group = GroupDao.Name.FirstOrDefault(g => g.Id == groupId);
|
var group = LocalStaticData.groups.FirstOrDefault(g => g.Id == groupId);
|
||||||
if (group != null)
|
if (group != null)
|
||||||
{
|
{
|
||||||
group.GroupName = name;
|
group.Name = newName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool UpdateGroupById(int groupId, GroupDao updatedGroup)
|
|
||||||
{
|
public GroupLocalEntity GetGroupById(int groupId)
|
||||||
var group = GroupDao.Name.FirstOrDefault(g => g.Id == groupId);
|
{
|
||||||
if (group != null)
|
return LocalStaticData.groups.FirstOrDefault(g => g.Id == groupId);
|
||||||
{
|
}
|
||||||
group.GroupName = updatedGroup.GroupName;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static string GetDebuggerDisplay()
|
private static string GetDebuggerDisplay()
|
||||||
{
|
{
|
||||||
return $"GroupRepository with {GroupDao.Name.Count} groups";
|
return $"GroupRepository with {LocalStaticData.groups.Count} groups";
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool RemoveGroupById(int groupId)
|
internal void AddGroup(Group group)
|
||||||
{
|
{
|
||||||
var group = GroupDao.Name.FirstOrDefault(g => g.Id == groupId);
|
throw new NotImplementedException();
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
GroupDao.Name.Remove(group);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<GroupDao> AllGroups()
|
|
||||||
{
|
|
||||||
return GroupDao.Name.Select(g => new GroupDao { GroupName = g.GroupName, Id = g.Id });
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DeleteGroup(int id)
|
|
||||||
{
|
|
||||||
var group = GroupDao.Name.FirstOrDefault(g => g.Id == id);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
GroupDao.Name.Remove(group);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public GroupDao FindGroupById(int groupId)
|
|
||||||
{
|
|
||||||
return AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GroupLocalEntity> GetAllGroup()
|
public List<GroupLocalEntity> GetAllGroup()
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool RemoveGroupById(int groupID)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IGroupRepository.AddGroup(GroupLocalEntity newGroup)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,80 +1,18 @@
|
|||||||
using Zurnal.domain.Models;
|
using Demo.domain.Models;
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
internal interface IGroupRepository
|
namespace Zurnal.Date.Repository
|
||||||
{
|
{
|
||||||
List<GroupDao> AllGroup { get; }
|
internal interface IGroupRepository
|
||||||
|
|
||||||
public IEnumerable<GroupDao> AllGroups()
|
|
||||||
{
|
{
|
||||||
return AllGroup.Select(g => new GroupDao { GroupName = g.GroupName, Id = g.Id });
|
List<GroupLocalEntity> GetAllGroup();
|
||||||
|
bool RemoveGroupById(int groupID);
|
||||||
|
bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup);
|
||||||
|
GroupLocalEntity GetGroupById(int groupID);
|
||||||
|
bool AddGroup(GroupLocalEntity newGroup);
|
||||||
}
|
}
|
||||||
List<GroupLocalEntity> GetAllGroup();
|
}
|
||||||
public bool RemoveGroupById(int groupId)
|
|
||||||
{
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
AllGroup.Remove(group);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GroupDao FindGroupById(int groupId)
|
|
||||||
{
|
|
||||||
return AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool UpdateGroupById(int groupId, GroupDao updatedGroup)
|
|
||||||
{
|
|
||||||
if (updatedGroup == null) throw new ArgumentNullException(nameof(updatedGroup));
|
|
||||||
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
group.GroupName = updatedGroup.GroupName;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DeleteGroup(int id)
|
|
||||||
{
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == id);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
AllGroup.Remove(group);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<GroupDao> GetAllGroups()
|
|
||||||
{
|
|
||||||
return AllGroup;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateGroupName(int groupId, string name)
|
|
||||||
{
|
|
||||||
if (name == null) throw new ArgumentNullException(nameof(name));
|
|
||||||
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
group.GroupName = name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public bool UpdateUser(Guid userGuid, UserDao updatedUser)
|
|
||||||
{
|
|
||||||
if (updatedUser == null) throw new ArgumentNullException(nameof(updatedUser));
|
|
||||||
|
|
||||||
var user = AllGroup.SelectMany(g => g.Users).FirstOrDefault(u => u.UserGuid == userGuid);
|
|
||||||
if (user != null)
|
|
||||||
{
|
|
||||||
user.FIO = updatedUser.FIO;
|
|
||||||
user.GroupID = updatedUser.GroupID;
|
|
||||||
user.Group = updatedUser.Group;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
[DebuggerDisplay($"{{{nameof(GetDebuggerDisplay)}(),nq}}")]
|
|
||||||
public class PresenceRepositoryIml : IPresenceRepository
|
|
||||||
{
|
|
||||||
private readonly List<PresnceDao> _presences = new List<PresnceDao>();
|
|
||||||
|
|
||||||
public void AddPresence(PresnceDao presence)
|
|
||||||
{
|
|
||||||
_presences.Add(presence);
|
|
||||||
}
|
|
||||||
|
|
||||||
public PresnceDao GetPresenceById(int id)
|
|
||||||
{
|
|
||||||
return _presences.Find(p => p.LessonNumber == id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<PresnceDao> GetAllPresences()
|
|
||||||
{
|
|
||||||
return _presences;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdatePresence(PresnceDao presence)
|
|
||||||
{
|
|
||||||
var existingPresence = GetPresenceById(presence.LessonNumber);
|
|
||||||
if (existingPresence != null)
|
|
||||||
{
|
|
||||||
existingPresence.UserGuid = presence.UserGuid;
|
|
||||||
existingPresence.IsAttendensy = presence.IsAttendensy;
|
|
||||||
existingPresence.Date = presence.Date;
|
|
||||||
existingPresence.userDao = presence.userDao;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DeletePresence(int id)
|
|
||||||
{
|
|
||||||
var presence = GetPresenceById(id);
|
|
||||||
if (presence != null)
|
|
||||||
{
|
|
||||||
_presences.Remove(presence);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private string GetDebuggerDisplay()
|
|
||||||
{
|
|
||||||
return ToString();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
|
|
||||||
using Zurnal.Date.LocalDate;
|
|
||||||
using Zurnal.domain.Models;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
namespace Zurnal.Date.Repository.SQLRepos
|
|
||||||
{
|
|
||||||
public class SQLGroupRepositoryImpl : IGroupRepository
|
|
||||||
{
|
|
||||||
private readonly RemoteDateBaseContext _remoteDataBaseContext;
|
|
||||||
|
|
||||||
public SQLGroupRepositoryImpl(RemoteDateBaseContext remoteDataBaseContext) {
|
|
||||||
_remoteDataBaseContext = remoteDataBaseContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GroupDao> AllGroup => throw new NotImplementedException();
|
|
||||||
|
|
||||||
List<GroupDao> IGroupRepository.AllGroup => throw new NotImplementedException();
|
|
||||||
|
|
||||||
public bool AddGroup(GroupLocalEntity newGroup)
|
|
||||||
{
|
|
||||||
GroupDao groupDao = new GroupDao { GroupName = newGroup.Name };
|
|
||||||
var result = _remoteDataBaseContext.Group.Add(groupDao);
|
|
||||||
if (result != null) {
|
|
||||||
_remoteDataBaseContext.SaveChanges();
|
|
||||||
return true; }
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GroupLocalEntity> GetAllGroup()
|
|
||||||
{
|
|
||||||
return _remoteDataBaseContext.Group.Select(group => new GroupLocalEntity{
|
|
||||||
Id = group.Id,
|
|
||||||
Name = group.GroupName}
|
|
||||||
).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GroupLocalEntity> GetAllGroups() => LocalStaticData.groups;
|
|
||||||
|
|
||||||
List<GroupLocalEntity> IGroupRepository.GetAllGroup()
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
using Zurnal.Date.LocalDate;
|
|
||||||
using Zurnal.domain.Models;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
namespace Zurnal.Date.Repository.SQLRepos
|
|
||||||
{
|
|
||||||
public class SQLPresenceRepositoryImpl : IPresenceRepository
|
|
||||||
{
|
|
||||||
private readonly RemoteDateBaseContext _remoteDataBaseContext;
|
|
||||||
|
|
||||||
public SQLPresenceRepositoryImpl(RemoteDateBaseContext remoteDataBaseContext) {
|
|
||||||
_remoteDataBaseContext = remoteDataBaseContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddPresence(PresnceDao presence)
|
|
||||||
{
|
|
||||||
var result = _remoteDataBaseContext.Presence.Add(presence);
|
|
||||||
if (result != null) {
|
|
||||||
_remoteDataBaseContext.SaveChanges();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public PresnceDao GetPresenceById(int id)
|
|
||||||
{
|
|
||||||
return _remoteDataBaseContext.Presence.Find(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<PresnceDao> GetAllPresences()
|
|
||||||
{
|
|
||||||
return _remoteDataBaseContext.Presence.ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdatePresence(PresnceDao presence)
|
|
||||||
{
|
|
||||||
_remoteDataBaseContext.Presence.Update(presence);
|
|
||||||
_remoteDataBaseContext.SaveChanges();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DeletePresence(int id)
|
|
||||||
{
|
|
||||||
var presence = GetPresenceById(id);
|
|
||||||
if (presence != null)
|
|
||||||
{
|
|
||||||
_remoteDataBaseContext.Presence.Remove(presence);
|
|
||||||
_remoteDataBaseContext.SaveChanges();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,61 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using Zurnal.Data.Repository;
|
|
||||||
using Zurnal.domain.Models;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
namespace Zurnal.Date.Repository.SQLRepos
|
|
||||||
{
|
|
||||||
public class SQLUserRepositoryImpl : IUserRepository
|
|
||||||
{
|
|
||||||
private readonly RemoteDateBaseContext _remoteDataBaseContext;
|
|
||||||
|
|
||||||
public SQLUserRepositoryImpl(RemoteDateBaseContext remoteDataBaseContext)
|
|
||||||
{
|
|
||||||
_remoteDataBaseContext = remoteDataBaseContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<UserDao> GetAllUsers =>
|
|
||||||
_remoteDataBaseContext.User.Select(user => new UserDao
|
|
||||||
{
|
|
||||||
UserGuid = user.UserGuid,
|
|
||||||
FIO = user.FIO,
|
|
||||||
GroupID = user.GroupID,
|
|
||||||
}).ToList();
|
|
||||||
|
|
||||||
public bool RemoveUserByGuid(Guid userGuid)
|
|
||||||
{
|
|
||||||
var user = _remoteDataBaseContext.User.Find(userGuid);
|
|
||||||
if (user == null) return false;
|
|
||||||
|
|
||||||
_remoteDataBaseContext.User.Remove(user);
|
|
||||||
_remoteDataBaseContext.SaveChanges();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserDao? GetUserByGuid(Guid userGuid)
|
|
||||||
{
|
|
||||||
var user = _remoteDataBaseContext.User.Find(userGuid);
|
|
||||||
if (user == null) return null;
|
|
||||||
|
|
||||||
return new UserDao
|
|
||||||
{
|
|
||||||
UserGuid = user.UserGuid,
|
|
||||||
FIO = user.FIO,
|
|
||||||
GroupID = user.GroupID,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserDao? UpdateUser(UserDao userUpdateLocalEnity)
|
|
||||||
{
|
|
||||||
var user = _remoteDataBaseContext.User.Find(userUpdateLocalEnity.UserGuid);
|
|
||||||
if (user == null) return null;
|
|
||||||
|
|
||||||
user.FIO = userUpdateLocalEnity.FIO;
|
|
||||||
user.GroupID = userUpdateLocalEnity.GroupID;
|
|
||||||
_remoteDataBaseContext.SaveChanges();
|
|
||||||
return userUpdateLocalEnity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +1,22 @@
|
|||||||
using Zurnal.domain.Models;
|
using Demo.domain.Models;
|
||||||
using Zurnal.Date.LocalDate;
|
using Zurnal.Date.LocalDate;
|
||||||
using Zurnal.Domain.UseCase;
|
using Zurnal.Date.Repository;
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
namespace Zurnal.Data.Repository
|
namespace Demo.Data.Repository
|
||||||
{
|
{
|
||||||
public class UserRepositoryImpl : IUserRepository
|
public class UserRepositoryImpl : IGroupRepository
|
||||||
{
|
{
|
||||||
public UserRepositoryImpl() => GetAllUsers = LocalStaticData.users;
|
public UserRepositoryImpl() {
|
||||||
|
GetAllUsers = LocalStaticData.users;
|
||||||
public List<UserLocalEnity> GetAllUsers { get; set; }
|
}
|
||||||
|
|
||||||
|
public List<UserLocalEnity> GetAllUsers
|
||||||
|
{ get; set; }
|
||||||
|
|
||||||
public bool RemoveUserByGuid(Guid userGuid)
|
public bool RemoveUserByGuid(Guid userGuid)
|
||||||
{
|
{
|
||||||
UserLocalEnity? userLocal = GetAllUsers
|
UserLocalEnity? userLocal = GetAllUsers
|
||||||
.Where(x => x.Guid == userGuid)
|
.Where(x => x.Guid == userGuid).FirstOrDefault();
|
||||||
.FirstOrDefault();
|
|
||||||
if (userLocal == null) return false;
|
if (userLocal == null) return false;
|
||||||
|
|
||||||
return GetAllUsers.Remove(userLocal);
|
return GetAllUsers.Remove(userLocal);
|
||||||
@ -37,11 +38,35 @@ namespace Zurnal.Data.Repository
|
|||||||
userLocal.GroupID = userUpdateLocalEnity.GroupID;
|
userLocal.GroupID = userUpdateLocalEnity.GroupID;
|
||||||
return userLocal;
|
return userLocal;
|
||||||
}
|
}
|
||||||
|
public List<UserLocalEnity> GetAllUsersList()
|
||||||
public List<UserLocalEnity> GetAllUsersList()
|
|
||||||
{
|
{
|
||||||
return GetAllUsers;
|
return GetAllUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<GroupLocalEntity> IGroupRepository.GetAllGroup()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IGroupRepository.RemoveGroupById(int groupID)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IGroupRepository.UpdateGroupById(int groupID, GroupLocalEntity updatedGroup)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
GroupLocalEntity IGroupRepository.GetGroupById(int groupID)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IGroupRepository.AddGroup(GroupLocalEntity newGroup)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,25 +1,20 @@
|
|||||||
using Zurnal.RemaDateBase.DateDao;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Zurnal.domain.Models
|
namespace Demo.domain.Models
|
||||||
{
|
{
|
||||||
public class Group
|
public class Group
|
||||||
{
|
{
|
||||||
public required int Id { get; set; }
|
public required int Id { get; set; }
|
||||||
public required string Name { get; set; }
|
public required string Name { get; set; }
|
||||||
|
|
||||||
public static implicit operator Group?(GroupLocalEntity? v)
|
public static implicit operator Group(GroupLocalEntity v)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static implicit operator Guid(Group v)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static implicit operator Group?(GroupDao? v)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,10 @@
|
|||||||
namespace Zurnal.domain.Models
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Demo.domain.Models
|
||||||
{
|
{
|
||||||
public class Presence
|
public class Presence
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
namespace Zurnal.domain.Models
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Demo.domain.Models
|
||||||
{
|
{
|
||||||
public class User
|
public class User
|
||||||
{
|
{
|
||||||
internal int Id;
|
|
||||||
|
|
||||||
public required string FIO { get; set; }
|
public required string FIO { get; set; }
|
||||||
public Guid Guid { get; set; }
|
public Guid Guid { get; set; }
|
||||||
|
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
namespace domain.Models.RequestModels
|
|
||||||
{
|
|
||||||
public class GroupAddRequest
|
|
||||||
{
|
|
||||||
public string Name { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
public class GroupResponse{
|
|
||||||
public int Id {get; set;}
|
|
||||||
public string Name {get; set;}
|
|
||||||
}
|
|
@ -1,20 +1,20 @@
|
|||||||
using Zurnal.Data.Repository;
|
using Demo.Data.Repository;
|
||||||
using Zurnal.domain.Models;
|
using Demo.domain.Models;
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
using System;
|
||||||
namespace Zurnal.Domain.UseCase
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Demo.Domain.UseCase
|
||||||
{
|
{
|
||||||
public class GroupUseCase : IGroupRepository
|
public class GroupUseCase
|
||||||
{
|
{
|
||||||
private readonly IGroupRepository _repository;
|
|
||||||
private List<GroupDao> _groups = new List<GroupDao>();
|
|
||||||
public List<GroupDao> AllGroup => _groups;
|
|
||||||
private UserRepositoryImpl _repositoryUserImpl;
|
private UserRepositoryImpl _repositoryUserImpl;
|
||||||
private GroupRepositoryImpl _repositoryGroupImpl;
|
private GroupRepositoryImpl _repositoryGroupImpl;
|
||||||
|
|
||||||
|
public List<Group> GetAllGroups() => _repositoryGroupImpl.GetAllGroups()
|
||||||
|
.Select(it => new Group { Id = it.Id, Name = it.Name }).ToList();
|
||||||
public List<GroupDao> GetAllGroups() => _repositoryGroupImpl.GetAllGroups()
|
|
||||||
.Select(it => new GroupDao { Id = it.Id, GroupName = it.GroupName }).ToList();
|
|
||||||
|
|
||||||
public GroupUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
public GroupUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
||||||
{
|
{
|
||||||
@ -22,7 +22,7 @@ namespace Zurnal.Domain.UseCase
|
|||||||
_repositoryGroupImpl = repositoryGroupImpl;
|
_repositoryGroupImpl = repositoryGroupImpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddGroup(GroupDao group)
|
public void AddGroup(Group group)
|
||||||
{
|
{
|
||||||
_repositoryGroupImpl.AddGroup(group: group);
|
_repositoryGroupImpl.AddGroup(group: group);
|
||||||
}
|
}
|
||||||
@ -32,48 +32,5 @@ namespace Zurnal.Domain.UseCase
|
|||||||
_repositoryGroupImpl.UpdateGroupName(groupId, newName);
|
_repositoryGroupImpl.UpdateGroupName(groupId, newName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<GroupDao> AllGroups()
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool RemoveGroupById(int groupID)
|
|
||||||
{
|
|
||||||
var group = _repositoryGroupImpl.FindGroupById(groupID);
|
|
||||||
if (group == null)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
_repositoryGroupImpl.DeleteGroup(groupID);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
IEnumerable<GroupDao> IGroupRepository.GetAllGroups()
|
|
||||||
{
|
|
||||||
return _repositoryGroupImpl.GetAllGroups()
|
|
||||||
.Select(it => new GroupDao { Id = it.Id, GroupName = it.GroupName, Users = it.Users })
|
|
||||||
.ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public GroupDao GetGroupById(int id)
|
|
||||||
{
|
|
||||||
return _groups.FirstOrDefault(g => g.Id == id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GroupResponse> getAllGroup(){
|
|
||||||
return _repository.GetAllGroup().Select(group =>
|
|
||||||
new GroupResponse {
|
|
||||||
Id = group.Id,
|
|
||||||
Name = group.Name
|
|
||||||
}
|
|
||||||
).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GroupLocalEntity> GetAllGroup()
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -1,37 +1,56 @@
|
|||||||
using Zurnal.RemaDateBase.DateDao;
|
using System;
|
||||||
using static Zurnal.Presence.UseCaseGeneratePresence;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Zurnal.Domain.UseCase
|
namespace Zurnal.Domain.UseCase
|
||||||
{
|
{
|
||||||
internal class UseCasePresence
|
internal class UseCasePresence
|
||||||
{
|
{
|
||||||
private List<PresnceDao> attendanceRecords;
|
private Dictionary<string, List<DateTime>> attendanceRecords;
|
||||||
|
|
||||||
public UseCasePresence(List<PresnceDao> attendanceRecords)
|
public UseCasePresence()
|
||||||
{
|
{
|
||||||
this.attendanceRecords = attendanceRecords;
|
attendanceRecords = new Dictionary<string, List<DateTime>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PresnceDao> GetAttendanceByGroup(string groupNumber)
|
public void MarkAttendance(string group, DateTime date)
|
||||||
{
|
{
|
||||||
return attendanceRecords.Where(record => record.userDao.Group.GroupName == groupNumber).ToList();
|
if (!attendanceRecords.ContainsKey(group))
|
||||||
}
|
|
||||||
|
|
||||||
public List<PresnceDao> GetAttendanceByGroupAndDate(string groupNumber, DateOnly date)
|
|
||||||
{
|
|
||||||
return attendanceRecords.Where(record => record.userDao.Group.GroupName == groupNumber && record.Date == date).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void MarkUserAsAbsent(string groupNumber, int firstLesson, int lastLesson, DateOnly date)
|
|
||||||
{
|
|
||||||
foreach (var lesson in Enumerable.Range(firstLesson, lastLesson - firstLesson + 1))
|
|
||||||
{
|
{
|
||||||
var record = attendanceRecords.FirstOrDefault(r => r.userDao.Group.GroupName == groupNumber && r.LessonNumber == lesson && r.Date == date);
|
attendanceRecords[group] = new List<DateTime>();
|
||||||
if (record != null)
|
}
|
||||||
|
attendanceRecords[group].Add(date);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DateTime> GetAttendanceByGroup(string group)
|
||||||
|
{
|
||||||
|
if (attendanceRecords.ContainsKey(group))
|
||||||
|
{
|
||||||
|
return attendanceRecords[group];
|
||||||
|
}
|
||||||
|
return new List<DateTime>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DateTime> GetAttendanceByGroupAndDate(string group, DateTime date)
|
||||||
|
{
|
||||||
|
if (attendanceRecords.ContainsKey(group))
|
||||||
|
{
|
||||||
|
return attendanceRecords[group].Where(d => d.Date == date.Date).ToList();
|
||||||
|
}
|
||||||
|
return new List<DateTime>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void MarkUserAsAbsent(string group, DateTime startDate, DateTime endDate)
|
||||||
|
{
|
||||||
|
if (attendanceRecords.ContainsKey(group))
|
||||||
|
{
|
||||||
|
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
|
||||||
{
|
{
|
||||||
record.IsAttendensy = false;
|
attendanceRecords[group].Remove(date);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,79 +1,57 @@
|
|||||||
using Zurnal.Data.Repository;
|
using Demo.Data.Repository;
|
||||||
using Zurnal.domain.Models;
|
using Demo.domain.Models;
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Zurnal.Date.Repository;
|
||||||
|
|
||||||
namespace Zurnal.Domain.UseCase
|
namespace Demo.Domain.UseCase
|
||||||
{
|
{
|
||||||
public class UserUseCase : IUserRepository
|
public class UserUseCase
|
||||||
{
|
{
|
||||||
private readonly UserRepositoryImpl _repositoryUserImpl;
|
private UserRepositoryImpl _repositoryUserImpl;
|
||||||
internal IGroupRepository RepositoryGroupImpl { get; }
|
private readonly IGroupRepository _repositoryGroupImpl;
|
||||||
|
|
||||||
List<UserLocalEnity> IUserRepository.GetAllUsers => throw new NotImplementedException();
|
internal IGroupRepository RepositoryGroupImpl => _repositoryGroupImpl;
|
||||||
|
|
||||||
public List<GroupDao> AllGroup => throw new NotImplementedException();
|
|
||||||
|
|
||||||
public UserUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
public UserUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
||||||
{
|
{
|
||||||
_repositoryUserImpl = repositoryImpl;
|
_repositoryUserImpl = repositoryImpl;
|
||||||
RepositoryGroupImpl = (IGroupRepository?)(repositoryGroupImpl ?? throw new ArgumentNullException(nameof(repositoryGroupImpl)));
|
_repositoryGroupImpl = (IGroupRepository?)repositoryGroupImpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<UserDao> GetAllUsers() => _repositoryUserImpl.GetAllUsersList()
|
public List<Group> GetAllGroups() => RepositoryGroupImpl.GetAllGroup()
|
||||||
.Join(RepositoryGroupImpl.AllGroup,
|
.Select(it => new Group { Id = it.Id, Name = it.Name}).ToList();
|
||||||
|
public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUsers
|
||||||
|
.Join(RepositoryGroupImpl.GetAllGroup(),
|
||||||
user => user.GroupID,
|
user => user.GroupID,
|
||||||
group => group.Id,
|
group => group.Id,
|
||||||
(user, group) =>
|
(user, group) =>
|
||||||
new UserDao { FIO = user.FIO,
|
new User { FIO = user.FIO,
|
||||||
UserGuid = user.Guid,
|
Guid = user.Guid,
|
||||||
Group = new GroupDao { Id = group.Id, GroupName = group.GroupName },
|
Group = new Group {Id = group.Id, Name = group.Name } }
|
||||||
GroupID = group.Id }
|
).ToList();
|
||||||
).ToList();
|
|
||||||
|
|
||||||
public bool RemoveUserByGuid(Guid userGuid)
|
public bool RemoveUserByGuid(Guid userGuid) {
|
||||||
{
|
return _repositoryUserImpl.RemoveUserByGuid(userGuid);
|
||||||
return _repositoryUserImpl.RemoveUserByGuid(userGuid);
|
|
||||||
}
|
}
|
||||||
|
public User UpdateUser(User user) {
|
||||||
public IEnumerable<GroupDao> GetAllGroups()
|
UserLocalEnity userLocalEnity = new UserLocalEnity { FIO = user.FIO, GroupID = user.Group.Id, Guid = user.Guid };
|
||||||
{
|
UserLocalEnity? result = _repositoryUserImpl.UpdateUser(userLocalEnity);
|
||||||
return RepositoryGroupImpl.AllGroup;
|
if (result == null) throw new Exception("");
|
||||||
|
Group? group = GetAllGroups().FirstOrDefault(it => it.Id == result!.GroupID);
|
||||||
|
if (group == null) throw new Exception("Группа не найдена");
|
||||||
|
return new User { FIO = user.FIO, Guid = user.Guid, Group = group };
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserDao FindUserByGuid(Guid userGuid)
|
public User FindUserByGuid(Guid userGuid)
|
||||||
{
|
{
|
||||||
var user = _repositoryUserImpl.GetAllUsersList().FirstOrDefault(u => u.Guid == userGuid);
|
var user = _repositoryUserImpl.GetAllUsersList().FirstOrDefault(u => u.Guid == userGuid);
|
||||||
if (user == null)
|
if (user == null) throw new Exception("Нет такого пользователя");
|
||||||
{
|
var group = RepositoryGroupImpl.GetAllGroup().FirstOrDefault(g => g.Id == user.GroupID);
|
||||||
Console.WriteLine("Пользователь не найден.");
|
return new User { FIO = user.FIO, Guid = user.Guid, Group = group };
|
||||||
return null;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
GroupDao group = RepositoryGroupImpl.AllGroup.FirstOrDefault(g => g.Id == user.GroupID);
|
|
||||||
if (group == null)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Группа не найдена.");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new UserDao { FIO = user.FIO, UserGuid = user.Guid, Group = group, GroupID = group.Id };
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserLocalEnity? GetUserByGuid(Guid userGuid)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public UserLocalEnity? UpdateUser(UserLocalEnity userUpdateLocalEnity)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
internal class UserLocalEntity
|
|
||||||
{
|
|
||||||
public string FIO { get; set; }
|
|
||||||
public int GroupID { get; set; }
|
|
||||||
public Guid Guid { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,33 +1,26 @@
|
|||||||
namespace Zurnal.Presence
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Zurnal.Presence
|
||||||
{
|
{
|
||||||
internal class UseCaseGeneratePresence
|
internal class UseCaseGeneratePresence
|
||||||
{
|
{
|
||||||
internal class AttendanceRecord
|
|
||||||
{
|
|
||||||
public int LessonNumber { get; set; }
|
|
||||||
public required string GroupNumber { get; set; }
|
|
||||||
public DateTime Date { get; set; }
|
|
||||||
public bool IsPresent { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<AttendanceRecord> GenerateDailyAttendance(int firstLesson, int lastLesson, string groupNumber, DateTime currentDate)
|
public List<AttendanceRecord> GenerateDailyAttendance(int firstLesson, int lastLesson, string groupNumber, DateTime currentDate)
|
||||||
{
|
{
|
||||||
List<AttendanceRecord> attendanceRecords = new List<AttendanceRecord>();
|
List<AttendanceRecord> attendanceRecords = new List<AttendanceRecord>();
|
||||||
var users = Zurnal.RemaDateBase.DateDao.GroupDao.Name
|
|
||||||
.FirstOrDefault(g => g.GroupName == groupNumber)?.Users;
|
|
||||||
|
|
||||||
foreach (var user in users)
|
for (int lesson = firstLesson; lesson <= lastLesson; lesson++)
|
||||||
{
|
{
|
||||||
for (int lesson = firstLesson; lesson <= lastLesson; lesson++)
|
attendanceRecords.Add(new AttendanceRecord
|
||||||
{
|
{
|
||||||
attendanceRecords.Add(new AttendanceRecord
|
LessonNumber = lesson,
|
||||||
{
|
GroupNumber = groupNumber,
|
||||||
LessonNumber = lesson,
|
Date = currentDate,
|
||||||
GroupNumber = groupNumber,
|
IsPresent = true
|
||||||
Date = currentDate,
|
});
|
||||||
IsPresent = true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return attendanceRecords;
|
return attendanceRecords;
|
||||||
@ -46,4 +39,12 @@
|
|||||||
return weeklyAttendanceRecords;
|
return weeklyAttendanceRecords;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
internal class AttendanceRecord
|
||||||
|
{
|
||||||
|
public int LessonNumber { get; set; }
|
||||||
|
public string GroupNumber { get; set; }
|
||||||
|
public DateTime Date { get; set; }
|
||||||
|
public bool IsPresent { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,28 +1,9 @@
|
|||||||
using Zurnal.Data.Repository;
|
using Demo.Data.Repository;
|
||||||
using Zurnal.Date.Repository.SQLRepos;
|
using Demo.Domain.UseCase;
|
||||||
using Zurnal.Domain.UseCase;
|
using Demo.UI;
|
||||||
using Zurnal.Presence;
|
|
||||||
using Zurnal.UI;
|
|
||||||
|
|
||||||
class Programka
|
GroupRepositoryImpl groupRepositoryImpl = new GroupRepositoryImpl();
|
||||||
{
|
UserRepositoryImpl userRepositoryImpl = new UserRepositoryImpl();
|
||||||
static void Main(string[] args)
|
UserUseCase userUseCase = new UserUseCase(userRepositoryImpl, groupRepositoryImpl);
|
||||||
{
|
|
||||||
IServiceCollection services = new ServiceCollection();
|
|
||||||
|
|
||||||
services
|
MainMenuUI mainMenuUI = new MainMenuUI(userUseCase);
|
||||||
.AddDbContext<RemoteDateBaseContext>()
|
|
||||||
.AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>()
|
|
||||||
.AddSingleton<IUserRepository, SQLUserRepositoryImpl>()
|
|
||||||
.AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>()
|
|
||||||
.AddSingleton<UserUseCase>()
|
|
||||||
.AddSingleton<GroupUseCase>()
|
|
||||||
.AddSingleton<UseCaseGeneratePresence>()
|
|
||||||
.AddSingleton<MainMenuUI>();
|
|
||||||
|
|
||||||
var serviceProvider = services.BuildServiceProvider();
|
|
||||||
MainMenuUI mainMenuUI = serviceProvider.GetService<MainMenuUI>();
|
|
||||||
|
|
||||||
mainMenuUI.DisplayMenu();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
|
|
||||||
namespace Zurnal.RemaDateBase.DateDao
|
|
||||||
{
|
|
||||||
public class GroupDao
|
|
||||||
{
|
|
||||||
internal static List<GroupDao> Name = new List<GroupDao>();
|
|
||||||
|
|
||||||
public int Id { get; set; }
|
|
||||||
public required string GroupName { get; set; }
|
|
||||||
public IEnumerable<UserDao> Users { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
namespace Zurnal.RemaDateBase.DateDao
|
|
||||||
{
|
|
||||||
public class PresnceDao
|
|
||||||
{
|
|
||||||
|
|
||||||
public Guid UserGuid { get; set; }
|
|
||||||
public bool IsAttendensy { get; set; } = true;
|
|
||||||
public int LessonNumber { get; set; }
|
|
||||||
public DateOnly Date { get; set; }
|
|
||||||
public UserDao userDao { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
namespace Zurnal.RemaDateBase.DateDao
|
|
||||||
{
|
|
||||||
public class UserAttendance
|
|
||||||
{
|
|
||||||
public int UserId { get; set; }
|
|
||||||
public double Attended { get; set; }
|
|
||||||
public double Missed { get; set; }
|
|
||||||
public double AttendanceRate { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
namespace Zurnal.RemaDateBase.DateDao
|
|
||||||
{
|
|
||||||
public class UserDao
|
|
||||||
{
|
|
||||||
public required string FIO { get; set; }
|
|
||||||
public Guid UserGuid { get; set; }
|
|
||||||
public GroupDao Group { get; set; }
|
|
||||||
public required int GroupID { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,84 +0,0 @@
|
|||||||
using Zurnal.domain.Models;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
using Group = System.Text.RegularExpressions.Group;
|
|
||||||
|
|
||||||
namespace Zurnal.RemaDateBase
|
|
||||||
{
|
|
||||||
public interface IGroupRepository
|
|
||||||
{
|
|
||||||
List<GroupDao> AllGroup { get; }
|
|
||||||
|
|
||||||
public IEnumerable<GroupDao> AllGroups()
|
|
||||||
{
|
|
||||||
return AllGroup.Select(g => new GroupDao { GroupName = g.GroupName, Id = g.Id });
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool RemoveGroupById(int groupId)
|
|
||||||
{
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
AllGroup.Remove(group);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GroupDao FindGroupById(int groupId)
|
|
||||||
{
|
|
||||||
return AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool UpdateGroupById(int groupId, GroupDao updatedGroup)
|
|
||||||
{
|
|
||||||
if (updatedGroup == null) throw new ArgumentNullException(nameof(updatedGroup));
|
|
||||||
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
group.GroupName = updatedGroup.GroupName;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DeleteGroup(int id)
|
|
||||||
{
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == id);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
AllGroup.Remove(group);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<GroupDao> GetAllGroups()
|
|
||||||
{
|
|
||||||
return AllGroup;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateGroupName(int groupId, string name)
|
|
||||||
{
|
|
||||||
if (name == null) throw new ArgumentNullException(nameof(name));
|
|
||||||
|
|
||||||
var group = AllGroup.FirstOrDefault(g => g.Id == groupId);
|
|
||||||
if (group != null)
|
|
||||||
{
|
|
||||||
group.GroupName = name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public bool UpdateUser(Guid userGuid, UserDao updatedUser)
|
|
||||||
{
|
|
||||||
if (updatedUser == null) throw new ArgumentNullException(nameof(updatedUser));
|
|
||||||
|
|
||||||
var user = AllGroup.SelectMany(g => g.Users).FirstOrDefault(u => u.UserGuid == userGuid);
|
|
||||||
if (user != null)
|
|
||||||
{
|
|
||||||
user.FIO = updatedUser.FIO;
|
|
||||||
user.GroupID = updatedUser.GroupID;
|
|
||||||
user.Group = updatedUser.Group;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
public interface IPresenceRepository
|
|
||||||
{
|
|
||||||
void AddPresence(PresnceDao presence);
|
|
||||||
PresnceDao GetPresenceById(int id);
|
|
||||||
IEnumerable<PresnceDao> GetAllPresences();
|
|
||||||
void UpdatePresence(PresnceDao presence);
|
|
||||||
void DeletePresence(int id);
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using Zurnal.domain.Models;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
namespace Zurnal.Data.Repository
|
|
||||||
{
|
|
||||||
public interface IUserRepository
|
|
||||||
{
|
|
||||||
List<UserDao> GetAllUsers { get; }
|
|
||||||
bool RemoveUserByGuid(Guid userGuid);
|
|
||||||
UserDao? GetUserByGuid(Guid userGuid);
|
|
||||||
UserDao? UpdateUser(UserDao userUpdateLocalEnity);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,80 +0,0 @@
|
|||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
public class PresenceRepository : IPresenceRepository
|
|
||||||
{
|
|
||||||
private List<PresnceDao> presences = new List<PresnceDao>();
|
|
||||||
|
|
||||||
public void AddPresence(PresnceDao presence)
|
|
||||||
{
|
|
||||||
presences.Add(new PresnceDao
|
|
||||||
{
|
|
||||||
UserGuid = presence.UserGuid,
|
|
||||||
IsAttendensy = presence.IsAttendensy,
|
|
||||||
LessonNumber = presence.LessonNumber,
|
|
||||||
Date = presence.Date,
|
|
||||||
userDao = new UserDao
|
|
||||||
{
|
|
||||||
FIO = presence.userDao.FIO,
|
|
||||||
UserGuid = presence.userDao.UserGuid,
|
|
||||||
GroupID = presence.userDao.GroupID,
|
|
||||||
Group = new GroupDao { Id = presence.userDao.Group.Id, GroupName = presence.userDao.Group.GroupName }
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public PresnceDao GetPresenceById(int id)
|
|
||||||
{
|
|
||||||
var presence = presences.FirstOrDefault(p => p.LessonNumber == id);
|
|
||||||
return presence != null ? new PresnceDao
|
|
||||||
{
|
|
||||||
UserGuid = presence.UserGuid,
|
|
||||||
IsAttendensy = presence.IsAttendensy,
|
|
||||||
LessonNumber = presence.LessonNumber,
|
|
||||||
Date = presence.Date,
|
|
||||||
userDao = new UserDao
|
|
||||||
{
|
|
||||||
FIO = presence.userDao.FIO,
|
|
||||||
GroupID = presence.userDao.GroupID,
|
|
||||||
Group = presence.userDao.Group
|
|
||||||
}
|
|
||||||
} : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<PresnceDao> GetAllPresences()
|
|
||||||
{
|
|
||||||
return presences.Select(p => new PresnceDao
|
|
||||||
{
|
|
||||||
UserGuid = p.UserGuid,
|
|
||||||
IsAttendensy = p.IsAttendensy,
|
|
||||||
LessonNumber = p.LessonNumber,
|
|
||||||
Date = p.Date,
|
|
||||||
userDao = new UserDao
|
|
||||||
{
|
|
||||||
FIO = p.userDao.FIO,
|
|
||||||
GroupID = p.userDao.GroupID,
|
|
||||||
Group = p.userDao.Group
|
|
||||||
}
|
|
||||||
}).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdatePresence(PresnceDao presence)
|
|
||||||
{
|
|
||||||
var existingPresence = presences.FirstOrDefault(p => p.LessonNumber == presence.LessonNumber);
|
|
||||||
if (existingPresence != null)
|
|
||||||
{
|
|
||||||
existingPresence.IsAttendensy = presence.IsAttendensy;
|
|
||||||
existingPresence.Date = presence.Date;
|
|
||||||
existingPresence.userDao.FIO = presence.userDao.FIO;
|
|
||||||
existingPresence.userDao.GroupID = presence.userDao.GroupID;
|
|
||||||
existingPresence.userDao.Group.GroupName = presence.userDao.Group.GroupName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DeletePresence(int id)
|
|
||||||
{
|
|
||||||
var presence = presences.FirstOrDefault(p => p.LessonNumber == id);
|
|
||||||
if (presence != null)
|
|
||||||
{
|
|
||||||
presences.Remove(presence);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
public class RemoteDateBaseContext : DbContext
|
|
||||||
{
|
|
||||||
public DbSet<GroupDao> Group { get; set; }
|
|
||||||
public DbSet<UserDao> User { get; set; }
|
|
||||||
public DbSet<PresnceDao> Presence { get; set; }
|
|
||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
||||||
{
|
|
||||||
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user16;Password=dZ28IVE5;Database=user16");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
modelBuilder.Entity<GroupDao>().HasKey(group => group.Id);
|
|
||||||
modelBuilder.Entity<GroupDao>().Property(group => group.Id).ValueGeneratedOnAdd();
|
|
||||||
|
|
||||||
modelBuilder.Entity<UserDao>().HasKey(user => user.UserGuid);
|
|
||||||
modelBuilder.Entity<UserDao>().Property(user => user.UserGuid).ValueGeneratedOnAdd();
|
|
||||||
|
|
||||||
modelBuilder.Entity<PresnceDao>().HasKey(presence => new
|
|
||||||
{
|
|
||||||
presence.UserGuid,
|
|
||||||
presence.Date,
|
|
||||||
presence.IsAttendensy,
|
|
||||||
presence.LessonNumber
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
using domain;
|
|
||||||
using domain.Models.RequestModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Zurnal.Domain.UseCase;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
namespace UI
|
|
||||||
{
|
|
||||||
public class GroupConsol
|
|
||||||
{
|
|
||||||
private readonly GroupUseCase _groupUseCase;
|
|
||||||
public GroupConsol(GroupUseCase groupUseCase) {
|
|
||||||
_groupUseCase = groupUseCase;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddGroup() {
|
|
||||||
Console.WriteLine("Введите название группы: ");
|
|
||||||
string groupName = Console.ReadLine();
|
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(groupName)) {
|
|
||||||
Console.WriteLine("Название группы не может быть пустым. Пожалуйста, введите корректное название.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
GroupDao groupDao = new GroupDao { GroupName = groupName };
|
|
||||||
_groupUseCase.AddGroup(groupDao);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Zurnal.RemaDateBase.DateDao
|
|
||||||
{
|
|
||||||
public class GroupInfo
|
|
||||||
{
|
|
||||||
public int TotalStudents { get; set; }
|
|
||||||
public int TotalLessons { get; set; }
|
|
||||||
public double AttendancePercentage { get; set; }
|
|
||||||
public List<StudentAttendance> StudentAttendances { get; set; }
|
|
||||||
|
|
||||||
public GroupInfo(GroupDao group)
|
|
||||||
{
|
|
||||||
TotalStudents = group.Users.Count();
|
|
||||||
TotalLessons = group.Users.SelectMany(u => u.Group.Users).Count();
|
|
||||||
AttendancePercentage = CalculateAttendancePercentage(group);
|
|
||||||
StudentAttendances = GetStudentAttendances(group);
|
|
||||||
}
|
|
||||||
|
|
||||||
private double CalculateAttendancePercentage(GroupDao group)
|
|
||||||
{
|
|
||||||
var totalAttendance = group.Users.Sum(u => u.Group.Users.Count(x => x.IsAttendensy));
|
|
||||||
var totalClasses = group.Users.Count() * group.Users.FirstOrDefault()?.Group.Users.Count() ?? 0;
|
|
||||||
return totalClasses > 0 ? (double)totalAttendance / totalClasses * 100 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<StudentAttendance> GetStudentAttendances(GroupDao group)
|
|
||||||
{
|
|
||||||
return group.Users.Select(u => new StudentAttendance
|
|
||||||
{
|
|
||||||
FIO = u.FIO,
|
|
||||||
AttendedLessons = u.Group.Users.Count(x => x.UserGuid == u.UserGuid && x.IsAttendensy),
|
|
||||||
MissedLessons = u.Group.Users.Count(x => x.UserGuid == u.UserGuid && !x.IsAttendensy),
|
|
||||||
AttendancePercentage = (u.Group.Users.Count(x => x.UserGuid == u.UserGuid && x.IsAttendensy) / (double)TotalLessons) * 100
|
|
||||||
}).ToList();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class StudentAttendance
|
|
||||||
{
|
|
||||||
public string FIO { get; set; }
|
|
||||||
public int AttendedLessons { get; set; }
|
|
||||||
public int MissedLessons { get; set; }
|
|
||||||
public double AttendancePercentage { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,94 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using Zurnal.RemaDateBase.DateDao;
|
|
||||||
|
|
||||||
public class GroupAttendanceService
|
|
||||||
{
|
|
||||||
private List<PresnceDao> attendances;
|
|
||||||
|
|
||||||
public GroupAttendanceService(List<PresnceDao> records)
|
|
||||||
{
|
|
||||||
attendances = records;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DisplayGroupInfo(Guid userGuid, object GroupName, IEnumerable<UserDao> users)
|
|
||||||
{
|
|
||||||
Console.WriteLine($"Группа: {GroupName}");
|
|
||||||
Console.WriteLine($"Количество студентов: {users.Count()}");
|
|
||||||
|
|
||||||
var totalClasses = new AttendanceCounter(attendances).CountAttendances(userGuid);
|
|
||||||
Console.WriteLine($"Количество проведенных занятий: {totalClasses}");
|
|
||||||
|
|
||||||
var overallAttendancePercentage = CalculateAttendancePercentage(attendances, userGuid);
|
|
||||||
Console.WriteLine($"Общий процент посещаемости: {overallAttendancePercentage:F2}%");
|
|
||||||
Console.WriteLine("Список студентов:");
|
|
||||||
|
|
||||||
foreach (var user in users)
|
|
||||||
{
|
|
||||||
var attendanceInfo = GetAttendanceInfo(user);
|
|
||||||
Console.WriteLine($"{user.FIO}: Посещенные занятия: {attendanceInfo.AttendedClasses}, Пропущенные занятия: {attendanceInfo.MissedClasses}, Процент посещаемости: {attendanceInfo.AttendancePercentage:F2}%");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class AttendanceCounter
|
|
||||||
{
|
|
||||||
private List<PresnceDao> _attendances;
|
|
||||||
|
|
||||||
public AttendanceCounter(List<PresnceDao> attendances)
|
|
||||||
{
|
|
||||||
_attendances = attendances;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int CountAttendances(Guid userGuid)
|
|
||||||
{
|
|
||||||
return _attendances.Count(a => a.UserGuid == userGuid && a.IsAttendensy);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static double CalculateAttendancePercentage(List<PresnceDao> attendanceRecords, Guid userGuid)
|
|
||||||
{
|
|
||||||
var userRecords = attendanceRecords.Where(record => record.UserGuid == userGuid).ToList();
|
|
||||||
if (userRecords.Count == 0) return 0;
|
|
||||||
|
|
||||||
int totalLessons = userRecords.Count;
|
|
||||||
int attendedLessons = userRecords.Count(record => record.IsAttendensy);
|
|
||||||
|
|
||||||
return (double)attendedLessons / totalLessons * 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
private (int AttendedClasses, int MissedClasses, double AttendancePercentage) GetAttendanceInfo(UserDao user)
|
|
||||||
{
|
|
||||||
var attendanceRecords = this.attendances.Where(record => record.UserGuid == user.UserGuid).ToList();
|
|
||||||
int attendedClasses = attendanceRecords.Count(record => record.IsAttendensy);
|
|
||||||
int missedClasses = attendanceRecords.Count - attendedClasses;
|
|
||||||
double attendancePercentage = attendanceRecords.Count == 0 ? 0 : (double)attendedClasses / attendanceRecords.Count * 100;
|
|
||||||
|
|
||||||
return (attendedClasses, missedClasses, attendancePercentage);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<PresnceDao> GetAttendanceByUser(Guid userGuid)
|
|
||||||
{
|
|
||||||
return attendances.Where(record => record.UserGuid == userGuid).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Dictionary<DateOnly, int> GetAttendanceSummary(Guid userGuid)
|
|
||||||
{
|
|
||||||
var userAttendance = attendances.Where(record => record.UserGuid == userGuid);
|
|
||||||
var summary = new Dictionary<DateOnly, int>();
|
|
||||||
|
|
||||||
foreach (var record in userAttendance)
|
|
||||||
{
|
|
||||||
if (summary.ContainsKey(record.Date))
|
|
||||||
{
|
|
||||||
summary[record.Date]++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
summary[record.Date] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return summary;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +1,6 @@
|
|||||||
using Zurnal.Domain.UseCase;
|
using Demo.Domain.UseCase;
|
||||||
namespace Zurnal.UI
|
|
||||||
|
namespace Demo.UI
|
||||||
{
|
{
|
||||||
public class MainMenuUI
|
public class MainMenuUI
|
||||||
{
|
{
|
||||||
@ -13,7 +14,7 @@ namespace Zurnal.UI
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DisplayMenu()
|
private void DisplayMenu()
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@ -26,8 +27,9 @@ namespace Zurnal.UI
|
|||||||
DisplayMenu();
|
DisplayMenu();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,7 +1,11 @@
|
|||||||
using System.Text;
|
using Demo.Domain.UseCase;
|
||||||
using Zurnal.Domain.UseCase;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Zurnal.UI
|
namespace Demo.UI
|
||||||
{
|
{
|
||||||
public class UserConsoleUI
|
public class UserConsoleUI
|
||||||
{
|
{
|
||||||
@ -23,7 +27,7 @@ namespace Zurnal.UI
|
|||||||
StringBuilder userOutput = new StringBuilder();
|
StringBuilder userOutput = new StringBuilder();
|
||||||
foreach (var user in _userUseCase.GetAllUsers())
|
foreach (var user in _userUseCase.GetAllUsers())
|
||||||
{
|
{
|
||||||
userOutput.AppendLine($"{user.UserGuid}\t{user.FIO}\t{user.Group.GroupName}");
|
userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}");
|
||||||
}
|
}
|
||||||
Console.WriteLine(userOutput);
|
Console.WriteLine(userOutput);
|
||||||
}
|
}
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Data;
|
|
||||||
using System.IO;
|
|
||||||
using OfficeOpenXml;
|
|
||||||
|
|
||||||
class Conver
|
|
||||||
{
|
|
||||||
static void Main()
|
|
||||||
{
|
|
||||||
var attendanceData = new Dictionary<string, Dictionary<DateTime, bool>>
|
|
||||||
{
|
|
||||||
{ "Студент 1", new Dictionary<DateTime, bool> { { new DateTime(2023, 10, 1), true }, { new DateTime(2023, 10, 2), false } } },
|
|
||||||
{ "Студент 2", new Dictionary<DateTime, bool> { { new DateTime(2023, 10, 1), true }, { new DateTime(2023, 10, 2), true } } }
|
|
||||||
};
|
|
||||||
|
|
||||||
using (ExcelPackage excel = new ExcelPackage())
|
|
||||||
{
|
|
||||||
foreach (var group in attendanceData)
|
|
||||||
{
|
|
||||||
var worksheet = excel.Workbook.Worksheets.Add(group.Key);
|
|
||||||
worksheet.Cells[1, 1].Value = "Студент";
|
|
||||||
int column = 2;
|
|
||||||
|
|
||||||
foreach (var date in group.Value.Keys)
|
|
||||||
{
|
|
||||||
worksheet.Cells[1, column].Value = date.ToShortDateString();
|
|
||||||
column++;
|
|
||||||
}
|
|
||||||
|
|
||||||
int row = 2;
|
|
||||||
foreach (var student in group.Value)
|
|
||||||
{
|
|
||||||
worksheet.Cells[row, 1].Value = student.Key;
|
|
||||||
column = 2;
|
|
||||||
|
|
||||||
foreach (var date in group.Value.Keys)
|
|
||||||
{
|
|
||||||
worksheet.Cells[row, column].Value = group.Value[date] ? "Присутствует" : "Отсутствует";
|
|
||||||
column++;
|
|
||||||
}
|
|
||||||
row++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FileInfo excelFile = new FileInfo(@"C:\Users\profi\source\Musor\Xcel\Pametka.xlsx");
|
|
||||||
excel.SaveAs(excelFile);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -8,14 +8,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.10" />
|
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.10">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
||||||
# Visual Studio Version 17
|
|
||||||
VisualStudioVersion = 17.5.002.0
|
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Zurnal", "Zurnal.csproj", "{E948AFF5-A619-4931-84CF-9FF05938A922}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "presence_api", "presence_api\presence_api.csproj", "{5A659234-F158-48D4-8533-7DC55D57FC04}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Any CPU = Debug|Any CPU
|
|
||||||
Release|Any CPU = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{E948AFF5-A619-4931-84CF-9FF05938A922}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{E948AFF5-A619-4931-84CF-9FF05938A922}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{E948AFF5-A619-4931-84CF-9FF05938A922}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{E948AFF5-A619-4931-84CF-9FF05938A922}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{5A659234-F158-48D4-8533-7DC55D57FC04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{5A659234-F158-48D4-8533-7DC55D57FC04}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{5A659234-F158-48D4-8533-7DC55D57FC04}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{5A659234-F158-48D4-8533-7DC55D57FC04}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
||||||
SolutionGuid = {29858519-C2C5-4382-ABD0-DB2D478F861D}
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
@ -1,9 +1,10 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// Этот код создан программой.
|
||||||
|
// Исполняемая версия:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||||
// the code is regenerated.
|
// повторной генерации кода.
|
||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -13,10 +14,10 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Zurnal")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Zurnal")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+116f981a8f93a5144173943b21dd780c09089132")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Zurnal")]
|
[assembly: System.Reflection.AssemblyProductAttribute("Zurnal")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Zurnal")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("Zurnal")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
// Создано классом WriteCodeFragment MSBuild.
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
eee0f5d9e72542a80cf035b8542e46c98027b49e8625c27144b3d52576e195d1
|
0cc1957e508d216bc16edfba63c7cd6a92394d06eb6458ec124cc01a0abbb768
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
363301da55cc0da9a5b5db64cdaad65e5fa588627917582d0f884f0b7608c9c8
|
|
@ -1,5 +0,0 @@
|
|||||||
c:\Users\profi\source\repos\Zurnal\Zurnal\obj\Debug\net8.0\Zurnal.csproj.AssemblyReference.cache
|
|
||||||
c:\Users\profi\source\repos\Zurnal\Zurnal\obj\Debug\net8.0\Zurnal.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
c:\Users\profi\source\repos\Zurnal\Zurnal\obj\Debug\net8.0\Zurnal.AssemblyInfoInputs.cache
|
|
||||||
c:\Users\profi\source\repos\Zurnal\Zurnal\obj\Debug\net8.0\Zurnal.AssemblyInfo.cs
|
|
||||||
c:\Users\profi\source\repos\Zurnal\Zurnal\obj\Debug\net8.0\Zurnal.csproj.CoreCompileInputs.cache
|
|
@ -14,7 +14,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Zurnal")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Zurnal")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e715ee085d4de2e3aa15fe3c30ca3e1773251242")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Zurnal")]
|
[assembly: System.Reflection.AssemblyProductAttribute("Zurnal")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Zurnal")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("Zurnal")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
@ -1 +1 @@
|
|||||||
bd6043901ef02a9093eed212b028bc4a4428a7b34f13bfe102043edaf981f5c7
|
f846bd88e13e8a292b5e7aeb6abe44b315b427ca43c96ddf6db29e9d0ee1cff1
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -13,12 +13,8 @@
|
|||||||
"packagesPath": "C:\\Users\\profi\\.nuget\\packages\\",
|
"packagesPath": "C:\\Users\\profi\\.nuget\\packages\\",
|
||||||
"outputPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\obj\\",
|
"outputPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\obj\\",
|
||||||
"projectStyle": "PackageReference",
|
"projectStyle": "PackageReference",
|
||||||
"fallbackFolders": [
|
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
|
||||||
],
|
|
||||||
"configFilePaths": [
|
"configFilePaths": [
|
||||||
"C:\\Users\\profi\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
"C:\\Users\\profi\\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"
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
],
|
],
|
||||||
"originalTargetFrameworks": [
|
"originalTargetFrameworks": [
|
||||||
@ -49,27 +45,9 @@
|
|||||||
"net8.0": {
|
"net8.0": {
|
||||||
"targetAlias": "net8.0",
|
"targetAlias": "net8.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.EntityFrameworkCore": {
|
|
||||||
"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.Extensions.DependencyInjection": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[8.0.1, )"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": {
|
"Microsoft.Extensions.DependencyInjection.Abstractions": {
|
||||||
"target": "Package",
|
"target": "Package",
|
||||||
"version": "[8.0.2, )"
|
"version": "[8.0.2, )"
|
||||||
},
|
|
||||||
"Npgsql.EntityFrameworkCore.PostgreSQL": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[8.0.10, )"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"imports": [
|
"imports": [
|
||||||
|
@ -5,19 +5,11 @@
|
|||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\profi\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\profi\.nuget\packages\</NuGetPackageFolders>
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion>
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<SourceRoot Include="C:\Users\profi\.nuget\packages\" />
|
<SourceRoot Include="C:\Users\profi\.nuget\packages\" />
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.10\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.10\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.10\build\net8.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.10\build\net8.0\Microsoft.EntityFrameworkCore.Design.props')" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\profi\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
</Project>
|
@ -1,7 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
File diff suppressed because it is too large
Load Diff
@ -1,47 +1,10 @@
|
|||||||
{
|
{
|
||||||
"version": 2,
|
"version": 2,
|
||||||
"dgSpecHash": "/Ii72Vl1qzo=",
|
"dgSpecHash": "mBpiSzc34gA=",
|
||||||
"success": true,
|
"success": true,
|
||||||
"projectFilePath": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Zurnal.csproj",
|
"projectFilePath": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Zurnal.csproj",
|
||||||
"expectedPackageFiles": [
|
"expectedPackageFiles": [
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512",
|
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\profi\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512"
|
|
||||||
],
|
],
|
||||||
"logs": []
|
"logs": []
|
||||||
}
|
}
|
@ -1,32 +0,0 @@
|
|||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using Zurnal.Domain.UseCase;
|
|
||||||
|
|
||||||
namespace presence_api.Controllers;
|
|
||||||
[ApiController]
|
|
||||||
[Route("api/[controller]")]
|
|
||||||
public class GroupController: ControllerBase {
|
|
||||||
private readonly GroupUseCase _groupUseCase;
|
|
||||||
public GroupController(GroupUseCase groupUseCase){
|
|
||||||
_groupUseCase = groupUseCase;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet]
|
|
||||||
public ActionResult<IEnumerable<Group>> getGroups(){
|
|
||||||
return Ok(_groupUseCase.getAllGroup());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ApiControllerAttribute : ControllerAttribute, IApiBehaviorMetadata
|
|
||||||
{
|
|
||||||
}
|
|
||||||
public interface IApiBehaviorMetadata : IFilterMetadata
|
|
||||||
{
|
|
||||||
}
|
|
||||||
public interface IFilterMetadata
|
|
||||||
{
|
|
||||||
}
|
|
||||||
public class ControllerAttribute : Attribute
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
using data.RemoteData;
|
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
|
||||||
|
|
||||||
builder.Services.AddControllers();
|
|
||||||
builder.Services.AddDbContext<RemoteDataBaseContext>();
|
|
||||||
builder.Services.AddEndpointsApiExplorer();
|
|
||||||
builder.Services.AddSwaggerGen();
|
|
||||||
|
|
||||||
builder.Services.ConfigurateGroup();
|
|
||||||
|
|
||||||
var app = builder.Build();
|
|
||||||
|
|
||||||
if (app.Environment.IsDevelopment())
|
|
||||||
{
|
|
||||||
app.UseSwagger();
|
|
||||||
app.UseSwaggerUI();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.UseHttpsRedirection();
|
|
||||||
app.MapControllers();
|
|
||||||
|
|
||||||
|
|
||||||
app.Run();
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
|
||||||
"iisSettings": {
|
|
||||||
"windowsAuthentication": false,
|
|
||||||
"anonymousAuthentication": true,
|
|
||||||
"iisExpress": {
|
|
||||||
"applicationUrl": "http://localhost:62350",
|
|
||||||
"sslPort": 44364
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"profiles": {
|
|
||||||
"http": {
|
|
||||||
"commandName": "Project",
|
|
||||||
"dotnetRunMessages": true,
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "swagger",
|
|
||||||
"applicationUrl": "http://localhost:5125",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"https": {
|
|
||||||
"commandName": "Project",
|
|
||||||
"dotnetRunMessages": true,
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "swagger",
|
|
||||||
"applicationUrl": "https://localhost:7114;http://localhost:5125",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"IIS Express": {
|
|
||||||
"commandName": "IISExpress",
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "swagger",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
using Zurnal.Date.Repository.SQLRepos;
|
|
||||||
using Zurnal.Domain.UseCase;
|
|
||||||
|
|
||||||
public static class ServiceExtensions {
|
|
||||||
public static void ConfigurateGroup(this IServiceCollection services){
|
|
||||||
services
|
|
||||||
.AddScoped<IGroupRepository, SQLGroupRepositoryImpl>()
|
|
||||||
.AddScoped<GroupUseCase>();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"AllowedHosts": "*"
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"AllowedHosts": "*"
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user