Compare commits
No commits in common. "Devi" and "main" have entirely different histories.
@ -2,15 +2,9 @@
|
||||
"ExpandedNodes": [
|
||||
"",
|
||||
"\\Zurnal",
|
||||
"\\Zurnal\\Date",
|
||||
"\\Zurnal\\Date\\Repository",
|
||||
"\\Zurnal\\Domain",
|
||||
"\\Zurnal\\Domain\\UseCase",
|
||||
"\\Zurnal\\Presence",
|
||||
"\\Zurnal\\RemaDateBase",
|
||||
"\\Zurnal\\RemaDateBase\\DateDao",
|
||||
"\\Zurnal\\RemaDateBase\\Interfase",
|
||||
"\\Zurnal\\UI"
|
||||
"\\Zurnal\\Domain\\UseCase"
|
||||
],
|
||||
"SelectedNode": "\\Zurnal\\Domain\\UseCase\\UseCasePresence.cs",
|
||||
"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,
|
||||
"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": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
@ -9,11 +50,137 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": -1,
|
||||
"SelectedChildIndex": 0,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
"$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": "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,
|
||||
"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": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
@ -9,11 +50,132 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": -1,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$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
|
||||
{
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -1,86 +1,63 @@
|
||||
using System.Diagnostics;
|
||||
using Zurnal.RemaDateBase.DateDao;
|
||||
using System.Text.RegularExpressions;
|
||||
using Zurnal.domain.Models;
|
||||
using Demo.domain.Models;
|
||||
using System.Diagnostics;
|
||||
using Zurnal.Date.LocalDate;
|
||||
using Zurnal.Date.Repository;
|
||||
|
||||
namespace Zurnal.Data.Repository
|
||||
namespace Demo.Data.Repository
|
||||
{
|
||||
[DebuggerDisplay($"{{{nameof(GetDebuggerDisplay)}(),nq}}")]
|
||||
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;
|
||||
LocalStaticData.groups.Add(newGroup);
|
||||
}
|
||||
|
||||
public void AddGroup(GroupDao group)
|
||||
public void UpdateGroupName(int groupId, string newName)
|
||||
{
|
||||
if (group == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(group));
|
||||
}
|
||||
GroupDao.Name.Add(group);
|
||||
}
|
||||
|
||||
public void UpdateGroupName(int groupId, string name)
|
||||
{
|
||||
var group = GroupDao.Name.FirstOrDefault(g => g.Id == groupId);
|
||||
var group = LocalStaticData.groups.FirstOrDefault(g => g.Id == groupId);
|
||||
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)
|
||||
{
|
||||
group.GroupName = updatedGroup.GroupName;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return LocalStaticData.groups.FirstOrDefault(g => g.Id == groupId);
|
||||
}
|
||||
|
||||
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);
|
||||
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);
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public List<GroupLocalEntity> GetAllGroup()
|
||||
{
|
||||
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 Zurnal.RemaDateBase.DateDao;
|
||||
using Demo.domain.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Zurnal.Date.Repository
|
||||
{
|
||||
internal interface IGroupRepository
|
||||
{
|
||||
List<GroupDao> AllGroup { get; }
|
||||
|
||||
public IEnumerable<GroupDao> AllGroups()
|
||||
{
|
||||
return AllGroup.Select(g => new GroupDao { GroupName = g.GroupName, Id = g.Id });
|
||||
}
|
||||
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;
|
||||
bool RemoveGroupById(int groupID);
|
||||
bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup);
|
||||
GroupLocalEntity GetGroupById(int groupID);
|
||||
bool AddGroup(GroupLocalEntity newGroup);
|
||||
}
|
||||
}
|
@ -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.Domain.UseCase;
|
||||
using Zurnal.RemaDateBase.DateDao;
|
||||
using Zurnal.Date.Repository;
|
||||
|
||||
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)
|
||||
{
|
||||
UserLocalEnity? userLocal = GetAllUsers
|
||||
.Where(x => x.Guid == userGuid)
|
||||
.FirstOrDefault();
|
||||
.Where(x => x.Guid == userGuid).FirstOrDefault();
|
||||
if (userLocal == null) return false;
|
||||
|
||||
return GetAllUsers.Remove(userLocal);
|
||||
@ -37,11 +38,35 @@ namespace Zurnal.Data.Repository
|
||||
userLocal.GroupID = userUpdateLocalEnity.GroupID;
|
||||
return userLocal;
|
||||
}
|
||||
|
||||
public List<UserLocalEnity> GetAllUsersList()
|
||||
{
|
||||
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 required int Id { 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();
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
|
@ -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
|
||||
{
|
||||
internal int Id;
|
||||
|
||||
public required string FIO { 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 Zurnal.domain.Models;
|
||||
using Zurnal.RemaDateBase.DateDao;
|
||||
namespace Zurnal.Domain.UseCase
|
||||
using Demo.Data.Repository;
|
||||
using Demo.domain.Models;
|
||||
using System;
|
||||
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 GroupRepositoryImpl _repositoryGroupImpl;
|
||||
|
||||
|
||||
|
||||
public List<GroupDao> GetAllGroups() => _repositoryGroupImpl.GetAllGroups()
|
||||
.Select(it => new GroupDao { Id = it.Id, GroupName = it.GroupName }).ToList();
|
||||
public List<Group> GetAllGroups() => _repositoryGroupImpl.GetAllGroups()
|
||||
.Select(it => new Group { Id = it.Id, Name = it.Name }).ToList();
|
||||
|
||||
public GroupUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
||||
{
|
||||
@ -22,7 +22,7 @@ namespace Zurnal.Domain.UseCase
|
||||
_repositoryGroupImpl = repositoryGroupImpl;
|
||||
}
|
||||
|
||||
public void AddGroup(GroupDao group)
|
||||
public void AddGroup(Group group)
|
||||
{
|
||||
_repositoryGroupImpl.AddGroup(group: group);
|
||||
}
|
||||
@ -32,48 +32,5 @@ namespace Zurnal.Domain.UseCase
|
||||
_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,35 +1,54 @@
|
||||
using Zurnal.RemaDateBase.DateDao;
|
||||
using static Zurnal.Presence.UseCaseGeneratePresence;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Zurnal.Domain.UseCase
|
||||
{
|
||||
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))
|
||||
{
|
||||
attendanceRecords[group] = new List<DateTime>();
|
||||
}
|
||||
attendanceRecords[group].Add(date);
|
||||
}
|
||||
|
||||
public List<PresnceDao> GetAttendanceByGroupAndDate(string groupNumber, DateOnly date)
|
||||
public List<DateTime> GetAttendanceByGroup(string group)
|
||||
{
|
||||
return attendanceRecords.Where(record => record.userDao.Group.GroupName == groupNumber && record.Date == date).ToList();
|
||||
if (attendanceRecords.ContainsKey(group))
|
||||
{
|
||||
return attendanceRecords[group];
|
||||
}
|
||||
return new List<DateTime>();
|
||||
}
|
||||
|
||||
public void MarkUserAsAbsent(string groupNumber, int firstLesson, int lastLesson, DateOnly date)
|
||||
public List<DateTime> GetAttendanceByGroupAndDate(string group, DateTime date)
|
||||
{
|
||||
foreach (var lesson in Enumerable.Range(firstLesson, lastLesson - firstLesson + 1))
|
||||
if (attendanceRecords.ContainsKey(group))
|
||||
{
|
||||
var record = attendanceRecords.FirstOrDefault(r => r.userDao.Group.GroupName == groupNumber && r.LessonNumber == lesson && r.Date == date);
|
||||
if (record != null)
|
||||
return attendanceRecords[group].Where(d => d.Date == date.Date).ToList();
|
||||
}
|
||||
return new List<DateTime>();
|
||||
}
|
||||
|
||||
public void MarkUserAsAbsent(string group, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
record.IsAttendensy = false;
|
||||
if (attendanceRecords.ContainsKey(group))
|
||||
{
|
||||
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
|
||||
{
|
||||
attendanceRecords[group].Remove(date);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,79 +1,57 @@
|
||||
using Zurnal.Data.Repository;
|
||||
using Zurnal.domain.Models;
|
||||
using Zurnal.RemaDateBase.DateDao;
|
||||
using Demo.Data.Repository;
|
||||
using Demo.domain.Models;
|
||||
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;
|
||||
internal IGroupRepository RepositoryGroupImpl { get; }
|
||||
private UserRepositoryImpl _repositoryUserImpl;
|
||||
private readonly IGroupRepository _repositoryGroupImpl;
|
||||
|
||||
List<UserLocalEnity> IUserRepository.GetAllUsers => throw new NotImplementedException();
|
||||
|
||||
public List<GroupDao> AllGroup => throw new NotImplementedException();
|
||||
internal IGroupRepository RepositoryGroupImpl => _repositoryGroupImpl;
|
||||
|
||||
public UserUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl)
|
||||
{
|
||||
_repositoryUserImpl = repositoryImpl;
|
||||
RepositoryGroupImpl = (IGroupRepository?)(repositoryGroupImpl ?? throw new ArgumentNullException(nameof(repositoryGroupImpl)));
|
||||
_repositoryGroupImpl = (IGroupRepository?)repositoryGroupImpl;
|
||||
}
|
||||
|
||||
public List<UserDao> GetAllUsers() => _repositoryUserImpl.GetAllUsersList()
|
||||
.Join(RepositoryGroupImpl.AllGroup,
|
||||
public List<Group> GetAllGroups() => RepositoryGroupImpl.GetAllGroup()
|
||||
.Select(it => new Group { Id = it.Id, Name = it.Name}).ToList();
|
||||
public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUsers
|
||||
.Join(RepositoryGroupImpl.GetAllGroup(),
|
||||
user => user.GroupID,
|
||||
group => group.Id,
|
||||
(user, group) =>
|
||||
new UserDao { FIO = user.FIO,
|
||||
UserGuid = user.Guid,
|
||||
Group = new GroupDao { Id = group.Id, GroupName = group.GroupName },
|
||||
GroupID = group.Id }
|
||||
new User { FIO = user.FIO,
|
||||
Guid = user.Guid,
|
||||
Group = new Group {Id = group.Id, Name = group.Name } }
|
||||
).ToList();
|
||||
|
||||
public bool RemoveUserByGuid(Guid userGuid)
|
||||
{
|
||||
public bool RemoveUserByGuid(Guid userGuid) {
|
||||
return _repositoryUserImpl.RemoveUserByGuid(userGuid);
|
||||
}
|
||||
|
||||
public IEnumerable<GroupDao> GetAllGroups()
|
||||
{
|
||||
return RepositoryGroupImpl.AllGroup;
|
||||
public User UpdateUser(User user) {
|
||||
UserLocalEnity userLocalEnity = new UserLocalEnity { FIO = user.FIO, GroupID = user.Group.Id, Guid = user.Guid };
|
||||
UserLocalEnity? result = _repositoryUserImpl.UpdateUser(userLocalEnity);
|
||||
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);
|
||||
if (user == null)
|
||||
{
|
||||
Console.WriteLine("Пользователь не найден.");
|
||||
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; }
|
||||
if (user == null) throw new Exception("Нет такого пользователя");
|
||||
var group = RepositoryGroupImpl.GetAllGroup().FirstOrDefault(g => g.Id == user.GroupID);
|
||||
return new User { FIO = user.FIO, Guid = user.Guid, Group = group };
|
||||
}
|
||||
}
|
||||
}
|
@ -1,23 +1,17 @@
|
||||
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 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)
|
||||
{
|
||||
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++)
|
||||
{
|
||||
attendanceRecords.Add(new AttendanceRecord
|
||||
@ -28,7 +22,6 @@
|
||||
IsPresent = true
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return attendanceRecords;
|
||||
}
|
||||
@ -46,4 +39,12 @@
|
||||
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 Zurnal.Date.Repository.SQLRepos;
|
||||
using Zurnal.Domain.UseCase;
|
||||
using Zurnal.Presence;
|
||||
using Zurnal.UI;
|
||||
using Demo.Data.Repository;
|
||||
using Demo.Domain.UseCase;
|
||||
using Demo.UI;
|
||||
|
||||
class Programka
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
IServiceCollection services = new ServiceCollection();
|
||||
GroupRepositoryImpl groupRepositoryImpl = new GroupRepositoryImpl();
|
||||
UserRepositoryImpl userRepositoryImpl = new UserRepositoryImpl();
|
||||
UserUseCase userUseCase = new UserUseCase(userRepositoryImpl, groupRepositoryImpl);
|
||||
|
||||
services
|
||||
.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();
|
||||
}
|
||||
}
|
||||
MainMenuUI mainMenuUI = new MainMenuUI(userUseCase);
|
@ -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;
|
||||
namespace Zurnal.UI
|
||||
using Demo.Domain.UseCase;
|
||||
|
||||
namespace Demo.UI
|
||||
{
|
||||
public class MainMenuUI
|
||||
{
|
||||
@ -13,7 +14,7 @@ namespace Zurnal.UI
|
||||
|
||||
}
|
||||
|
||||
public void DisplayMenu()
|
||||
private void DisplayMenu()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
@ -26,8 +27,9 @@ namespace Zurnal.UI
|
||||
DisplayMenu();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,7 +1,11 @@
|
||||
using System.Text;
|
||||
using Zurnal.Domain.UseCase;
|
||||
using Demo.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
|
||||
{
|
||||
@ -23,7 +27,7 @@ namespace Zurnal.UI
|
||||
StringBuilder userOutput = new StringBuilder();
|
||||
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);
|
||||
}
|
||||
|
@ -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>
|
||||
|
||||
<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="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
|
||||
</ItemGroup>
|
||||
|
||||
</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>
|
||||
// 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>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@ -13,10 +14,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Zurnal")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[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.AssemblyTitleAttribute("Zurnal")]
|
||||
[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.AssemblyConfigurationAttribute("Release")]
|
||||
[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.AssemblyTitleAttribute("Zurnal")]
|
||||
[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\\",
|
||||
"outputPath": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"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"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
@ -49,27 +45,9 @@
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"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": {
|
||||
"target": "Package",
|
||||
"version": "[8.0.2, )"
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL": {
|
||||
"target": "Package",
|
||||
"version": "[8.0.10, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
|
@ -5,19 +5,11 @@
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\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>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\profi\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</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>
|
@ -1,7 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<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>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
File diff suppressed because it is too large
Load Diff
@ -1,47 +1,10 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "/Ii72Vl1qzo=",
|
||||
"dgSpecHash": "mBpiSzc34gA=",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\profi\\source\\repos\\Zurnal\\Zurnal\\Zurnal.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\profi\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.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"
|
||||
"C:\\Users\\profi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
|
||||
],
|
||||
"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