commit 74ec2fdea7a678f89a686dd1c62c7529dfe83231 Author: Userok Date: Fri Oct 18 09:12:15 2024 +0300 One diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..c39fbbe --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,13 @@ +{ + "ExpandedNodes": [ + "", + "\\Demo", + "\\Demo\\Data", + "\\Demo\\Data\\Repository", + "\\Demo\\Domain", + "\\Demo\\Domain\\UseCase", + "\\Demo\\UI" + ], + "SelectedNode": "\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/presence/FileContentIndex/4e3a921e-9ee6-4209-90ab-7f0d2fbad229.vsidx b/.vs/presence/FileContentIndex/4e3a921e-9ee6-4209-90ab-7f0d2fbad229.vsidx new file mode 100644 index 0000000..f4913b3 Binary files /dev/null and b/.vs/presence/FileContentIndex/4e3a921e-9ee6-4209-90ab-7f0d2fbad229.vsidx differ diff --git a/.vs/presence/FileContentIndex/66dee230-a3d4-460e-b410-8e5619ec9c8c.vsidx b/.vs/presence/FileContentIndex/66dee230-a3d4-460e-b410-8e5619ec9c8c.vsidx new file mode 100644 index 0000000..61357eb Binary files /dev/null and b/.vs/presence/FileContentIndex/66dee230-a3d4-460e-b410-8e5619ec9c8c.vsidx differ diff --git a/.vs/presence/FileContentIndex/aa785a8b-3361-4739-9c4a-438b59d41935.vsidx b/.vs/presence/FileContentIndex/aa785a8b-3361-4739-9c4a-438b59d41935.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/presence/FileContentIndex/aa785a8b-3361-4739-9c4a-438b59d41935.vsidx differ diff --git a/.vs/presence/FileContentIndex/cff1d91a-b5b6-4f3f-879c-09a8adda8682.vsidx b/.vs/presence/FileContentIndex/cff1d91a-b5b6-4f3f-879c-09a8adda8682.vsidx new file mode 100644 index 0000000..54c14b0 Binary files /dev/null and b/.vs/presence/FileContentIndex/cff1d91a-b5b6-4f3f-879c-09a8adda8682.vsidx differ diff --git a/.vs/presence/FileContentIndex/dcce74d1-3d03-44d8-ab4c-9ef1a8cee5f2.vsidx b/.vs/presence/FileContentIndex/dcce74d1-3d03-44d8-ab4c-9ef1a8cee5f2.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/presence/FileContentIndex/dcce74d1-3d03-44d8-ab4c-9ef1a8cee5f2.vsidx differ diff --git a/.vs/presence/v17/.wsuo b/.vs/presence/v17/.wsuo new file mode 100644 index 0000000..a455aa3 Binary files /dev/null and b/.vs/presence/v17/.wsuo differ diff --git a/.vs/presence/v17/DocumentLayout.backup.json b/.vs/presence/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..fb871ad --- /dev/null +++ b/.vs/presence/v17/DocumentLayout.backup.json @@ -0,0 +1,88 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\presence\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\presence\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\Data\\Repository\\GroupRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\Domain\\UseCase\\GroupUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\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\\presence\\Demo\\UI\\UserConsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\UI\\UserConsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "GroupRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "RelativeDocumentMoniker": "Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "RelativeToolTip": "Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-17T11:23:48.997Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "GroupUseCase.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs", + "RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\GroupUseCase.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs", + "RelativeToolTip": "Demo\\Domain\\UseCase\\GroupUseCase.cs", + "ViewState": "AgIAAAMAAAAAAAAAAAAAABoAAAAxAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-16T09:23:36.604Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "UserUseCase.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs", + "RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\UserUseCase.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs", + "RelativeToolTip": "Demo\\Domain\\UseCase\\UserUseCase.cs", + "ViewState": "AgIAABIAAAAAAAAAAAAwwCIAAAAvAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-16T09:39:07.152Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "UserConsole.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs", + "RelativeDocumentMoniker": "Demo\\UI\\UserConsole.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs", + "RelativeToolTip": "Demo\\UI\\UserConsole.cs", + "ViewState": "AgIAAB4AAAAAAAAAAAAAADYAAAA5AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-16T07:06:47.821Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/presence/v17/DocumentLayout.json b/.vs/presence/v17/DocumentLayout.json new file mode 100644 index 0000000..fb871ad --- /dev/null +++ b/.vs/presence/v17/DocumentLayout.json @@ -0,0 +1,88 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\profi\\source\\repos\\presence\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\presence\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\Data\\Repository\\GroupRepositoryImpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\Domain\\UseCase\\GroupUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\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\\presence\\Demo\\UI\\UserConsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Demo\\UI\\UserConsole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "GroupRepositoryImpl.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "RelativeDocumentMoniker": "Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "RelativeToolTip": "Demo\\Data\\Repository\\GroupRepositoryImpl.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-17T11:23:48.997Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "GroupUseCase.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs", + "RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\GroupUseCase.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\GroupUseCase.cs", + "RelativeToolTip": "Demo\\Domain\\UseCase\\GroupUseCase.cs", + "ViewState": "AgIAAAMAAAAAAAAAAAAAABoAAAAxAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-16T09:23:36.604Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "UserUseCase.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs", + "RelativeDocumentMoniker": "Demo\\Domain\\UseCase\\UserUseCase.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Domain\\UseCase\\UserUseCase.cs", + "RelativeToolTip": "Demo\\Domain\\UseCase\\UserUseCase.cs", + "ViewState": "AgIAABIAAAAAAAAAAAAwwCIAAAAvAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-16T09:39:07.152Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "UserConsole.cs", + "DocumentMoniker": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs", + "RelativeDocumentMoniker": "Demo\\UI\\UserConsole.cs", + "ToolTip": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\UI\\UserConsole.cs", + "RelativeToolTip": "Demo\\UI\\UserConsole.cs", + "ViewState": "AgIAAB4AAAAAAAAAAAAAADYAAAA5AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-16T07:06:47.821Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..339aabc Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/Demo.sln b/Demo.sln new file mode 100644 index 0000000..ce1f93c --- /dev/null +++ b/Demo.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35312.102 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo", "Demo\Demo.csproj", "{983820F6-FF31-4B3A-8593-831BC3904E80}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {983820F6-FF31-4B3A-8593-831BC3904E80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {983820F6-FF31-4B3A-8593-831BC3904E80}.Debug|Any CPU.Build.0 = Debug|Any CPU + {983820F6-FF31-4B3A-8593-831BC3904E80}.Release|Any CPU.ActiveCfg = Release|Any CPU + {983820F6-FF31-4B3A-8593-831BC3904E80}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4F43A963-447C-4FCB-BB78-8D315EC0F1D6} + EndGlobalSection +EndGlobal diff --git a/Demo/Data/LocalData/Entity/Group.cs b/Demo/Data/LocalData/Entity/Group.cs new file mode 100644 index 0000000..6041311 --- /dev/null +++ b/Demo/Data/LocalData/Entity/Group.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.domain.Models +{ + public class GroupLocalEntity + { + public required int Id { get; set; } + public required string Name { get; set; } + + } +} diff --git a/Demo/Data/LocalData/Entity/Presence.cs b/Demo/Data/LocalData/Entity/Presence.cs new file mode 100644 index 0000000..70b8d1e --- /dev/null +++ b/Demo/Data/LocalData/Entity/Presence.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.domain.Models +{ + internal class PresenceLocalEntity + { + public required Guid UserGuid { get; set; } + public bool IsAttedance { get; set; } = true; + public required DateOnly Date { get; set; } + + public required int LessonNumber { get; set; } + } +} diff --git a/Demo/Data/LocalData/Entity/User.cs b/Demo/Data/LocalData/Entity/User.cs new file mode 100644 index 0000000..5af4881 --- /dev/null +++ b/Demo/Data/LocalData/Entity/User.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.domain.Models +{ + public class UserLocalEnity : IEquatable + { + public required string FIO { get; set; } + public Guid Guid { get; set; } + + public required int GroupID { get; set; } + + + + public bool Equals(UserLocalEnity? other) + { + if (other == null) return false; + return this.Guid.Equals(other.Guid); + } + } +} diff --git a/Demo/Data/LocalData/LocalStaticData.cs b/Demo/Data/LocalData/LocalStaticData.cs new file mode 100644 index 0000000..50e54f7 --- /dev/null +++ b/Demo/Data/LocalData/LocalStaticData.cs @@ -0,0 +1,31 @@ +using Demo.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.LocalData +{ + public static class LocalStaticData + { + public static List groups => new List + + { + new GroupLocalEntity{ Id = 1, Name = "ИП1-21" }, + new GroupLocalEntity{ Id = 2, Name = "ИП1-22" }, + new GroupLocalEntity{ Id = 3, Name = "ИП1-23" }, + }; + + public static List users => new List + { + new UserLocalEnity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupID = 1 }, + new UserLocalEnity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 }, + new UserLocalEnity{Guid=Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "RandomFio2", GroupID = 3 }, + new UserLocalEnity{Guid=Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "RandomFio3", GroupID = 1 }, + new UserLocalEnity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupID = 2 }, + new UserLocalEnity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupID = 3 }, + }; + } +} diff --git a/Demo/Data/Repository/GroupRepositoryImpl.cs b/Demo/Data/Repository/GroupRepositoryImpl.cs new file mode 100644 index 0000000..063390d --- /dev/null +++ b/Demo/Data/Repository/GroupRepositoryImpl.cs @@ -0,0 +1,28 @@ +using Demo.Data.LocalData; +using Demo.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.Repository +{ + public class GroupRepositoryImpl + { + public List GetAllGroups() => LocalStaticData.groups; + } + public void AddGroup(GroupLocalEntity newGroup) + { + LocalStaticData.groups.Add(newGroup); + } + + public void UpdateGroupName(int GroupId, string NewName) + { + var group = LocalStaticData.groups.FirstOrDefault(g => g.Id == GroupId); + if (group != null) + { + group.Name = newName; + } + } +} diff --git a/Demo/Data/Repository/UserRepositoryImpl.cs b/Demo/Data/Repository/UserRepositoryImpl.cs new file mode 100644 index 0000000..bf9ae8c --- /dev/null +++ b/Demo/Data/Repository/UserRepositoryImpl.cs @@ -0,0 +1,47 @@ +using Demo.Data.LocalData; +using Demo.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.Repository +{ + public class UserRepositoryImpl + { + public UserRepositoryImpl() { + + GetAllUsers = LocalStaticData.users; + } + public List GetAllUsers + { get; set; } + + public bool RemoveUserByGuid(Guid userGuid) + { + UserLocalEnity? userLocal = GetAllUsers + .Where(x => x.Guid == userGuid).FirstOrDefault(); + if (userLocal == null) return false; + + return GetAllUsers.Remove(userLocal); + } + + public UserLocalEnity? GetUserByGuid(Guid userGuid) { + UserLocalEnity? userLocal = GetAllUsers + .Where(x => x.Guid == userGuid).FirstOrDefault(); + if (userLocal == null) return null; + + return userLocal; + } + + public UserLocalEnity? UpdateUser(UserLocalEnity userUpdateLocalEnity) { + UserLocalEnity? userLocal = GetAllUsers + .Where(x => x.Guid == userUpdateLocalEnity.Guid).FirstOrDefault(); + if (userLocal == null) return null; + userLocal.FIO = userUpdateLocalEnity.FIO; + userLocal.GroupID = userUpdateLocalEnity.GroupID; + return userLocal; + + } + } +} diff --git a/Demo/Demo.csproj b/Demo/Demo.csproj new file mode 100644 index 0000000..1ea2759 --- /dev/null +++ b/Demo/Demo.csproj @@ -0,0 +1,14 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + diff --git a/Demo/Domain/Models/Group.cs b/Demo/Domain/Models/Group.cs new file mode 100644 index 0000000..ce0914b --- /dev/null +++ b/Demo/Domain/Models/Group.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.domain.Models +{ + public class Group + { + public required int Id { get; set; } + public required string Name { get; set; } + } +} diff --git a/Demo/Domain/Models/Presence.cs b/Demo/Domain/Models/Presence.cs new file mode 100644 index 0000000..a5fe7a0 --- /dev/null +++ b/Demo/Domain/Models/Presence.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.domain.Models +{ + public class Presence + { + + public required User User { get; set; } + public bool IsAttedance { get; set; } = true; + public required DateOnly Date { get; set; } + + public required int LessonNumber { get; set; } + } +} diff --git a/Demo/Domain/Models/User.cs b/Demo/Domain/Models/User.cs new file mode 100644 index 0000000..cffca41 --- /dev/null +++ b/Demo/Domain/Models/User.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.domain.Models +{ + public class User + { + public required string FIO { get; set; } + public Guid Guid { get; set; } + + public required Group Group { get; set; } + } +} diff --git a/Demo/Domain/UseCase/GroupUseCase.cs b/Demo/Domain/UseCase/GroupUseCase.cs new file mode 100644 index 0000000..3a64faa --- /dev/null +++ b/Demo/Domain/UseCase/GroupUseCase.cs @@ -0,0 +1,41 @@ +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 + { + private UserRepositoryImpl _repositoryUserImpl; + private GroupRepositoryImpl _repositoryGroupImpl; + + public List GetAllGroups() => _repositoryGroupImpl.GetAllGroups() + .Select(it => new Group { Id = it.Id, Name = it.Name }).ToList(); + + public GroupUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl) + { + _repositoryUserImpl = repositoryImpl; + _repositoryGroupImpl = repositoryGroupImpl; + } + + public void AddGroup(Group group) + { + _repositoryGroupImpl.AddGroup(group); + } + + public void UpdateGroupName(int groupId, string newName) + { + var group = _repositoryGroupImpl.GetGroupById(groupId); + if (group != null) + { + group.Name = newName; + _repositoryGroupImpl.UpdateGroup(group); + } + } + + } +} \ No newline at end of file diff --git a/Demo/Domain/UseCase/UserUseCase.cs b/Demo/Domain/UseCase/UserUseCase.cs new file mode 100644 index 0000000..4780ca3 --- /dev/null +++ b/Demo/Domain/UseCase/UserUseCase.cs @@ -0,0 +1,54 @@ +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 UserUseCase + { + private UserRepositoryImpl _repositoryUserImpl; + private GroupRepositoryImpl _repositoryGroupImpl; + + public UserUseCase(UserRepositoryImpl repositoryImpl, GroupRepositoryImpl repositoryGroupImpl) + { + _repositoryUserImpl = repositoryImpl; + _repositoryGroupImpl = repositoryGroupImpl; + } + + public List GetAllGroups() => _repositoryGroupImpl.GetAllGroups() + .Select(it => new Group { Id = it.Id, Name = it.Name}).ToList(); + public List GetAllUsers() => _repositoryUserImpl.GetAllUsers + .Join(_repositoryGroupImpl.GetAllGroups(), + user => user.GroupID, + group => group.Id, + (user, group) => + new User { FIO = user.FIO, + Guid = user.Guid, + Group = new Group {Id = group.Id, Name = group.Name } } + ).ToList(); + + public bool RemoveUserByGuid(Guid userGuid) { + return _repositoryUserImpl.RemoveUserByGuid(userGuid); + } + 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 User FindUserByGuid(Guid userGuid) + { + var user = _repositoryUserImpl.GetAllUsers().FirstOrDefault(u => u.Guid == userGuid); + if (user == null) throw new Exception("Нет такого пользователя"); + var group = _repositoryGroupImpl.GetAllGroups().FirstOrDefault(g => g.Id == user.GroupID); + return new User { FIO = user.FIO, Guid = user.Guid, Group = group }; + } + } + } +} diff --git a/Demo/Program.cs b/Demo/Program.cs new file mode 100644 index 0000000..9ebb621 --- /dev/null +++ b/Demo/Program.cs @@ -0,0 +1,10 @@ + +using Demo.Data.Repository; +using Demo.Domain.UseCase; +using Demo.UI; + +GroupRepositoryImpl groupRepositoryImpl = new GroupRepositoryImpl(); +UserRepositoryImpl userRepositoryImpl = new UserRepositoryImpl(); +UserUseCase userUseCase = new UserUseCase(userRepositoryImpl, groupRepositoryImpl); + +MainMenuUI mainMenuUI = new MainMenuUI(userUseCase); \ No newline at end of file diff --git a/Demo/UI/MainMenu.cs b/Demo/UI/MainMenu.cs new file mode 100644 index 0000000..ce13884 --- /dev/null +++ b/Demo/UI/MainMenu.cs @@ -0,0 +1,37 @@ +using Demo.Domain.UseCase; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.UI +{ + public class MainMenuUI + { + + UserConsoleUI _userConsoleUI; + + public MainMenuUI(UserUseCase userUseCase) { + _userConsoleUI = new UserConsoleUI(userUseCase); + DisplayMenu(); + + } + + private void DisplayMenu() { + while (true) + { + switch (Console.ReadLine()) + { + case "1": _userConsoleUI.DisplayAllUsers(); break; + case "2": _userConsoleUI.RemoveUserByGuid(Guid.Parse(Console.ReadLine())); break; + + default: DisplayMenu(); + break; + } + + } + } + + } +} diff --git a/Demo/UI/UserConsole.cs b/Demo/UI/UserConsole.cs new file mode 100644 index 0000000..5aca4dd --- /dev/null +++ b/Demo/UI/UserConsole.cs @@ -0,0 +1,62 @@ +using Demo.Domain.UseCase; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.UI +{ + public class UserConsoleUI + { + UserUseCase _userUseCase; + GroupUseCase _groupsUseCase; + public UserConsoleUI(UserUseCase userUseCase) { + _userUseCase = userUseCase; + _groupUseCase = GroupUseCase; + } + + public void RemoveUserByGuid(Guid guidUser) { + + string output = _userUseCase.RemoveUserByGuid(guidUser) ? "Пользователь удален" : "Пользователь не удален"; + Console.WriteLine(output); + } + + public void DisplayAllUsers() + { + StringBuilder userOutput = new StringBuilder(); + foreach (var user in _userUseCase.GetAllUsers()) + { + userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}"); + } + Console.WriteLine(userOutput); + } + public void UpdateUsers(Guid guidUser, User updatedUser) + { + string output = _userUseCase.UpdateUser(guidUser, updatedUser) ? "Пользователь обновлен" : "Пользователь не обновлен"; + Console.WriteLine(output); + } + public void SerchUsers(Guid guidUser) + { + var user = _userUseCase.FindUserByGuid(guidUser); + if (user != null) + { + Console.WriteLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}"); + } + else + { + Console.WriteLine("Ненаход"); + } + public void DisplayAllGroup() + { + StringBuilder userOutput = new StringBuilder(); + foreach (var user in _groupsUseCase.GetAllGroup()) + { + userOutput.AppendLine($"{it.Id}\t{it.Name}"); + } + Console.WriteLine(userOutput); + } + } + } + +} diff --git a/Demo/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/Demo/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/Demo/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs new file mode 100644 index 0000000..c4e7b2b --- /dev/null +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Demo")] +[assembly: System.Reflection.AssemblyTitleAttribute("Demo")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache new file mode 100644 index 0000000..027d67d --- /dev/null +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +eb16b2b154799358c5c37f7f25193ef306ab5592617791ff431f7a24a66875c2 diff --git a/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig b/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..8cb4a1d --- /dev/null +++ b/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Demo +build_property.ProjectDir = C:\Users\profi\source\repos\presence\Demo\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Demo/obj/Debug/net8.0/Demo.GlobalUsings.g.cs b/Demo/obj/Debug/net8.0/Demo.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Demo/obj/Debug/net8.0/Demo.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Demo/obj/Debug/net8.0/Demo.assets.cache b/Demo/obj/Debug/net8.0/Demo.assets.cache new file mode 100644 index 0000000..bbc8f55 Binary files /dev/null and b/Demo/obj/Debug/net8.0/Demo.assets.cache differ diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..698bc9c --- /dev/null +++ b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +8631cf5a864e5c5e5f5a870ef74f2bdbb99591c8b31daf749eff409e424cbea2 diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..f882d18 --- /dev/null +++ b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt @@ -0,0 +1,4 @@ +C:\Users\profi\source\repos\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\profi\source\repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache +C:\Users\profi\source\repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs +C:\Users\profi\source\repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache diff --git a/Demo/obj/Demo.csproj.nuget.dgspec.json b/Demo/obj/Demo.csproj.nuget.dgspec.json new file mode 100644 index 0000000..da46742 --- /dev/null +++ b/Demo/obj/Demo.csproj.nuget.dgspec.json @@ -0,0 +1,68 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj": {} + }, + "projects": { + "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj", + "projectName": "Demo", + "projectPath": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj", + "packagesPath": "C:\\Users\\profi\\.nuget\\packages\\", + "outputPath": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\profi\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Demo/obj/Demo.csproj.nuget.g.props b/Demo/obj/Demo.csproj.nuget.g.props new file mode 100644 index 0000000..73139f1 --- /dev/null +++ b/Demo/obj/Demo.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\profi\.nuget\packages\ + PackageReference + 6.11.1 + + + + + \ No newline at end of file diff --git a/Demo/obj/Demo.csproj.nuget.g.targets b/Demo/obj/Demo.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/Demo/obj/Demo.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Demo/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/Demo/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/Demo/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/Demo/obj/Release/net8.0/Demo.AssemblyInfo.cs b/Demo/obj/Release/net8.0/Demo.AssemblyInfo.cs new file mode 100644 index 0000000..26ce1e5 --- /dev/null +++ b/Demo/obj/Release/net8.0/Demo.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Demo")] +[assembly: System.Reflection.AssemblyTitleAttribute("Demo")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/Demo/obj/Release/net8.0/Demo.AssemblyInfoInputs.cache b/Demo/obj/Release/net8.0/Demo.AssemblyInfoInputs.cache new file mode 100644 index 0000000..8b4a841 --- /dev/null +++ b/Demo/obj/Release/net8.0/Demo.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +d9c398faa9c0660d9d613e43ebfb7597ac177dfff549ea56b4c418e809c18643 diff --git a/Demo/obj/Release/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig b/Demo/obj/Release/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..8cb4a1d --- /dev/null +++ b/Demo/obj/Release/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Demo +build_property.ProjectDir = C:\Users\profi\source\repos\presence\Demo\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Demo/obj/Release/net8.0/Demo.GlobalUsings.g.cs b/Demo/obj/Release/net8.0/Demo.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Demo/obj/Release/net8.0/Demo.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Demo/obj/Release/net8.0/Demo.assets.cache b/Demo/obj/Release/net8.0/Demo.assets.cache new file mode 100644 index 0000000..b48376c Binary files /dev/null and b/Demo/obj/Release/net8.0/Demo.assets.cache differ diff --git a/Demo/obj/project.assets.json b/Demo/obj/project.assets.json new file mode 100644 index 0000000..c778af5 --- /dev/null +++ b/Demo/obj/project.assets.json @@ -0,0 +1,73 @@ +{ + "version": 3, + "targets": { + "net8.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net8.0": [] + }, + "packageFolders": { + "C:\\Users\\profi\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj", + "projectName": "Demo", + "projectPath": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj", + "packagesPath": "C:\\Users\\profi\\.nuget\\packages\\", + "outputPath": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\profi\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/Demo/obj/project.nuget.cache b/Demo/obj/project.nuget.cache new file mode 100644 index 0000000..c9dcc0f --- /dev/null +++ b/Demo/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "aOzw3NDFr3g=", + "success": true, + "projectFilePath": "C:\\Users\\profi\\source\\repos\\presence\\Demo\\Demo.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file