diff --git a/.vs/uWine/DesignTimeBuild/.dtbcache.v2 b/.vs/uWine/DesignTimeBuild/.dtbcache.v2 index 56ba631..6ef792a 100644 Binary files a/.vs/uWine/DesignTimeBuild/.dtbcache.v2 and b/.vs/uWine/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/uWine/v17/.suo b/.vs/uWine/v17/.suo index a5b8c15..9b74579 100644 Binary files a/.vs/uWine/v17/.suo and b/.vs/uWine/v17/.suo differ diff --git a/.vs/uWine/v17/DocumentLayout.backup.json b/.vs/uWine/v17/DocumentLayout.backup.json index 8905074..8ab3429 100644 --- a/.vs/uWine/v17/DocumentLayout.backup.json +++ b/.vs/uWine/v17/DocumentLayout.backup.json @@ -3,33 +3,61 @@ "WorkspaceRootPath": "M:\\uv\\uWine\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\repositories\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\repositories\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\authenticationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\authenticationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\role.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\role.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -42,14 +70,6 @@ "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\vineplant.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\vineplant.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\contact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\contact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -70,10 +90,6 @@ "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbcontactrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbcontactrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\contacttype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\contacttype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -86,10 +102,6 @@ "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\repositories\\iaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\repositories\\iaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\rowwork.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\rowwork.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -105,6 +117,10 @@ { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\row.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\row.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\repositories\\iownerrepository.cs||{8B382828-6202-11D1-8870-0000F87579D2}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\repositories\\iownerrepository.cs||{8B382828-6202-11D1-8870-0000F87579D2}" } ], "DocumentGroupContainers": [ @@ -114,11 +130,11 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 10, + "SelectedChildIndex": 28, "Children": [ { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 10, "Title": "UserController.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Controllers\\UserController.cs", "RelativeDocumentMoniker": "uWine.Api\\Controllers\\UserController.cs", @@ -158,9 +174,61 @@ "$type": "Bookmark", "Name": "ST:0:0:{004be353-6879-467c-9d1e-9ac23cdf6d49}" }, + { + "$type": "Document", + "DocumentIndex": 29, + "Title": "IOwnerRepository.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "RelativeToolTip": "uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T18:29:19.604Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "UserService.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\UserService.cs", + "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\UserService.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\UserService.cs", + "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\UserService.cs", + "ViewState": "AgIAABYAAAAAAAAAAAAQwCAAAAAxAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T17:08:48.34Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "IUserRepository.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "RelativeToolTip": "uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "ViewState": "AgIAAAEAAAAAAAAAAAAYwAsAAAANAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T17:07:58.612Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 7, + "Title": "MariaDbUserRepository.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "ViewState": "AgIAABQAAAAAAAAAAAA5wCcAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T17:03:49.896Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 14, "Title": "Role.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Role.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Role.cs", @@ -173,59 +241,59 @@ }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 4, "Title": "User.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\User.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\User.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\User.cs", "RelativeToolTip": "uWine.Core.Domain\\Entities\\User.cs", - "ViewState": "AgIAAAwAAAAAAAAAAAAowAwAAAAbAAAAAAAAAA==", + "ViewState": "AgIAAAkAAAAAAAAAAAAYwBIAAAAeAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T15:30:48.881Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 5, "Title": "TestController.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Controllers\\TestController.cs", "RelativeDocumentMoniker": "uWine.Api\\Controllers\\TestController.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Api\\Controllers\\TestController.cs", "RelativeToolTip": "uWine.Api\\Controllers\\TestController.cs", - "ViewState": "AgIAAAsAAAAAAAAAAAA7wBoAAAAmAAAAAAAAAA==", + "ViewState": "AgIAABYAAAAAAAAAAAAQwCAAAAAQAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T14:20:34.76Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 12, "Title": "Owner.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Owner.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Owner.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Owner.cs", "RelativeToolTip": "uWine.Core.Domain\\Entities\\Owner.cs", - "ViewState": "AgIAAAsAAAAAAAAAAIA7wB0AAAABAAAAAAAAAA==", + "ViewState": "AgIAAAYAAAAAAAAAAAA1wAIAAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T14:14:45.554Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 6, "Title": "Program.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Program.cs", "RelativeDocumentMoniker": "uWine.Api\\Program.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Api\\Program.cs", "RelativeToolTip": "uWine.Api\\Program.cs", - "ViewState": "AgIAABkAAAAAAAAAAAAmwCoAAABDAAAAAAAAAA==", + "ViewState": "AgIAAB4AAAAAAAAAAAAIwDAAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T14:07:06.764Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 13, "Title": "appsettings.json", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\appsettings.json", "RelativeDocumentMoniker": "uWine.Api\\appsettings.json", @@ -238,7 +306,7 @@ }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 15, "Title": "IAuthenticationRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs", @@ -251,46 +319,46 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 11, "Title": "MariaDbAuthenticationRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", - "ViewState": "AgIAADEAAAAAAAAAAAAswDwAAAAnAAAAAAAAAA==", + "ViewState": "AgIAACsAAAAAAAAAAAAIwEEAAAAeAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-05T13:17:22.615Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 9, "Title": "AuthenticationService.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", - "ViewState": "AgIAAAMAAAAAAAAAAAAAABoAAAA+AAAAAAAAAA==", + "ViewState": "AgIAAAYAAAAAAAAAAAAowBoAAAA+AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-05T13:13:38.382Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 2, "Title": "OwnerService.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\OwnerService.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\OwnerService.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\OwnerService.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\OwnerService.cs", - "ViewState": "AgIAABcAAAAAAAAAAAAqwCQAAAAAAAAAAAAAAA==", + "ViewState": "AgIAABsAAAAAAAAAAAAYwCcAAAA7AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-05T12:53:14.567Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 23, "Title": "IContactRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IContactRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IContactRepository.cs", @@ -303,7 +371,7 @@ }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 22, "Title": "ContactType.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ContactType.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ContactType.cs", @@ -316,7 +384,7 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 17, "Title": "Contact.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Contact.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Contact.cs", @@ -329,7 +397,7 @@ }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 21, "Title": "MariaDbContactRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs", @@ -342,7 +410,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 24, "Title": "IAddressRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAddressRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAddressRepository.cs", @@ -355,33 +423,33 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 1, "Title": "Address.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Address.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Address.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Address.cs", "RelativeToolTip": "uWine.Core.Domain\\Entities\\Address.cs", - "ViewState": "AgIAAAoAAAAAAAAAAAA5wAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAABEAAAAAAAAAAAAUwAQAAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-04T12:44:44.188Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 0, "Title": "MariaDbAddressRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAJAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADkAAAAdAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-04T12:25:22.151Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 25, "Title": "RowWork.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\RowWork.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\RowWork.cs", @@ -394,7 +462,7 @@ }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 27, "Title": "WarehouseProduct.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\WarehouseProduct.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\WarehouseProduct.cs", @@ -407,7 +475,7 @@ }, { "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 26, "Title": "ProductUsage.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ProductUsage.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ProductUsage.cs", @@ -420,7 +488,7 @@ }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 19, "Title": "Worker.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Worker.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Worker.cs", @@ -433,7 +501,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 18, "Title": "PlantVariety.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\PlantVariety.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\PlantVariety.cs", @@ -446,7 +514,7 @@ }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 16, "Title": "VinePlant.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\VinePlant.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\VinePlant.cs", @@ -459,7 +527,7 @@ }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 20, "Title": "Vineyard.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Vineyard.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Vineyard.cs", @@ -472,7 +540,7 @@ }, { "$type": "Document", - "DocumentIndex": 25, + "DocumentIndex": 28, "Title": "Row.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Row.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Row.cs", diff --git a/.vs/uWine/v17/DocumentLayout.json b/.vs/uWine/v17/DocumentLayout.json index d12b0a4..8ab3429 100644 --- a/.vs/uWine/v17/DocumentLayout.json +++ b/.vs/uWine/v17/DocumentLayout.json @@ -3,33 +3,61 @@ "WorkspaceRootPath": "M:\\uv\\uWine\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\user.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\testcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\repositories\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\repositories\\iuserrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\authenticationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\authenticationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbauthenticationrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|m:\\uv\\uwine\\uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{8E5D260E-7395-4875-8A4F-16205F92AD38}|uWine.Api\\uWine.Api.csproj|solutionrelative:uwine.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\role.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\role.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -42,14 +70,6 @@ "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\vineplant.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\vineplant.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\services\\ownerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\owner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\contact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\contact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -70,10 +90,6 @@ "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbcontactrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbcontactrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|solutionrelative:uwine.core.infrastructure\\repository\\mariadbaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\contacttype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\contacttype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -86,10 +102,6 @@ "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\repositories\\iaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\repositories\\iaddressrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\rowwork.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\rowwork.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -105,6 +117,10 @@ { "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\row.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\entities\\row.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\repositories\\iownerrepository.cs||{8B382828-6202-11D1-8870-0000F87579D2}", + "RelativeMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|solutionrelative:uwine.core.domain\\repositories\\iownerrepository.cs||{8B382828-6202-11D1-8870-0000F87579D2}" } ], "DocumentGroupContainers": [ @@ -114,11 +130,11 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 3, + "SelectedChildIndex": 28, "Children": [ { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 10, "Title": "UserController.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Controllers\\UserController.cs", "RelativeDocumentMoniker": "uWine.Api\\Controllers\\UserController.cs", @@ -130,9 +146,89 @@ "IsPinned": true, "EditorCaption": "" }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}" + }, + { + "$type": "Bookmark", + "Name": "ST:134:0:{1fc202d4-d401-403c-9834-5b218574bb67}" + }, + { + "$type": "Bookmark", + "Name": "ST:134:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" + }, + { + "$type": "Bookmark", + "Name": "ST:135:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" + }, + { + "$type": "Bookmark", + "Name": "ST:130:0:{1fc202d4-d401-403c-9834-5b218574bb67}" + }, + { + "$type": "Bookmark", + "Name": "ST:131:0:{1fc202d4-d401-403c-9834-5b218574bb67}" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{004be353-6879-467c-9d1e-9ac23cdf6d49}" + }, + { + "$type": "Document", + "DocumentIndex": 29, + "Title": "IOwnerRepository.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "RelativeToolTip": "uWine.Core.Domain\\Repositories\\IOwnerRepository.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T18:29:19.604Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "UserService.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\UserService.cs", + "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\UserService.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\UserService.cs", + "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\UserService.cs", + "ViewState": "AgIAABYAAAAAAAAAAAAQwCAAAAAxAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T17:08:48.34Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "IUserRepository.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "RelativeToolTip": "uWine.Core.Domain\\Repositories\\IUserRepository.cs", + "ViewState": "AgIAAAEAAAAAAAAAAAAYwAsAAAANAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T17:07:58.612Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 7, + "Title": "MariaDbUserRepository.cs", + "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbUserRepository.cs", + "ViewState": "AgIAABQAAAAAAAAAAAA5wCcAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-09T17:03:49.896Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 14, "Title": "Role.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Role.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Role.cs", @@ -145,59 +241,59 @@ }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 4, "Title": "User.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\User.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\User.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\User.cs", "RelativeToolTip": "uWine.Core.Domain\\Entities\\User.cs", - "ViewState": "AgIAAAwAAAAAAAAAAAAowAwAAAAbAAAAAAAAAA==", + "ViewState": "AgIAAAkAAAAAAAAAAAAYwBIAAAAeAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T15:30:48.881Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 5, "Title": "TestController.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Controllers\\TestController.cs", "RelativeDocumentMoniker": "uWine.Api\\Controllers\\TestController.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Api\\Controllers\\TestController.cs", "RelativeToolTip": "uWine.Api\\Controllers\\TestController.cs", - "ViewState": "AgIAAAsAAAAAAAAAAAA7wBoAAABAAAAAAAAAAA==", + "ViewState": "AgIAABYAAAAAAAAAAAAQwCAAAAAQAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T14:20:34.76Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 12, "Title": "Owner.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Owner.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Owner.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Owner.cs", "RelativeToolTip": "uWine.Core.Domain\\Entities\\Owner.cs", - "ViewState": "AgIAAAsAAAAAAAAAAIA7wB0AAAABAAAAAAAAAA==", + "ViewState": "AgIAAAYAAAAAAAAAAAA1wAIAAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T14:14:45.554Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 6, "Title": "Program.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Program.cs", "RelativeDocumentMoniker": "uWine.Api\\Program.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Api\\Program.cs", "RelativeToolTip": "uWine.Api\\Program.cs", - "ViewState": "AgIAABkAAAAAAAAAAAAmwCoAAABDAAAAAAAAAA==", + "ViewState": "AgIAAB4AAAAAAAAAAAAIwDAAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-09T14:07:06.764Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 13, "Title": "appsettings.json", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\appsettings.json", "RelativeDocumentMoniker": "uWine.Api\\appsettings.json", @@ -210,7 +306,7 @@ }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 15, "Title": "IAuthenticationRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs", @@ -223,46 +319,46 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 11, "Title": "MariaDbAuthenticationRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs", - "ViewState": "AgIAADEAAAAAAAAAAAAswDwAAAAnAAAAAAAAAA==", + "ViewState": "AgIAACsAAAAAAAAAAAAIwEEAAAAeAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-05T13:17:22.615Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 9, "Title": "AuthenticationService.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\AuthenticationService.cs", - "ViewState": "AgIAAAMAAAAAAAAAAAAAABoAAAA+AAAAAAAAAA==", + "ViewState": "AgIAAAYAAAAAAAAAAAAowBoAAAA+AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-05T13:13:38.382Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 2, "Title": "OwnerService.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\OwnerService.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\OwnerService.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\OwnerService.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\OwnerService.cs", - "ViewState": "AgIAABcAAAAAAAAAAAAqwCQAAAAAAAAAAAAAAA==", + "ViewState": "AgIAABsAAAAAAAAAAAAYwCcAAAA7AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-05T12:53:14.567Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 23, "Title": "IContactRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IContactRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IContactRepository.cs", @@ -275,7 +371,7 @@ }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 22, "Title": "ContactType.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ContactType.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ContactType.cs", @@ -288,7 +384,7 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 17, "Title": "Contact.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Contact.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Contact.cs", @@ -301,7 +397,7 @@ }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 21, "Title": "MariaDbContactRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs", @@ -314,7 +410,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 24, "Title": "IAddressRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAddressRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAddressRepository.cs", @@ -327,33 +423,33 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 1, "Title": "Address.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Address.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Address.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Address.cs", "RelativeToolTip": "uWine.Core.Domain\\Entities\\Address.cs", - "ViewState": "AgIAAAoAAAAAAAAAAAA5wAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAABEAAAAAAAAAAAAUwAQAAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-04T12:44:44.188Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 0, "Title": "MariaDbAddressRepository.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbAddressRepository.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAJAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADkAAAAdAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-07-04T12:25:22.151Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 25, "Title": "RowWork.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\RowWork.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\RowWork.cs", @@ -366,7 +462,7 @@ }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 27, "Title": "WarehouseProduct.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\WarehouseProduct.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\WarehouseProduct.cs", @@ -379,7 +475,7 @@ }, { "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 26, "Title": "ProductUsage.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ProductUsage.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ProductUsage.cs", @@ -392,7 +488,7 @@ }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 19, "Title": "Worker.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Worker.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Worker.cs", @@ -405,7 +501,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 18, "Title": "PlantVariety.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\PlantVariety.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\PlantVariety.cs", @@ -418,7 +514,7 @@ }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 16, "Title": "VinePlant.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\VinePlant.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\VinePlant.cs", @@ -431,7 +527,7 @@ }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 20, "Title": "Vineyard.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Vineyard.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Vineyard.cs", @@ -444,7 +540,7 @@ }, { "$type": "Document", - "DocumentIndex": 25, + "DocumentIndex": 28, "Title": "Row.cs", "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Row.cs", "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Row.cs", diff --git a/uWine.Api/.config/dotnet-tools.json b/uWine.Api/.config/dotnet-tools.json new file mode 100644 index 0000000..fa9cd18 --- /dev/null +++ b/uWine.Api/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "9.0.7", + "commands": [ + "dotnet-ef" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/uWine.Api/Controllers/TestController.cs b/uWine.Api/Controllers/TestController.cs index 2833d90..81aa111 100644 --- a/uWine.Api/Controllers/TestController.cs +++ b/uWine.Api/Controllers/TestController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Mvc; using System.Security.Claims; +using uWine.Core.Infrastructure.Services; namespace uWine.Api.Controllers { @@ -8,23 +9,37 @@ namespace uWine.Api.Controllers public class TestController : Controller { private readonly IConfiguration _configuration; + private readonly OwnerService _ownerService; + private readonly AuthenticationService _authenticationService; + private readonly UserService _userService; - public TestController(IConfiguration configuration) { - _configuration = configuration; + public TestController(IConfiguration configuration, + OwnerService ownerService, + AuthenticationService authenticationService, + UserService userService) + { + _configuration = configuration; + _ownerService = ownerService; + _authenticationService = authenticationService; + _userService = userService; } + [HttpGet("cklogin")] public IActionResult test() { try { var TUserId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; - var userId = User.FindFirst("userId").Value; + var userId = int.Parse(User.FindFirst("userId").Value); var role = User.FindFirst(ClaimTypes.Role)?.Value; - return Ok(new { userId, TUserId, role }); + + var user = _userService.Process(userId); + + return Ok(new { userId, TUserId, role, user }); } catch { - return Unauthorized("\"title\": \"Unauthorized\""); + return Unauthorized(new { status = 401 }); } } diff --git a/uWine.Api/Program.cs b/uWine.Api/Program.cs index fd3069f..e7862b8 100644 --- a/uWine.Api/Program.cs +++ b/uWine.Api/Program.cs @@ -40,7 +40,16 @@ namespace uWine.Api builder.Services.AddSwaggerGen(); builder.Services.AddTransient(); + builder.Services.AddTransient(); + builder.Services.AddTransient(); + builder.Services.AddTransient(); + builder.Services.AddTransient(); + builder.Services.AddTransient(); + + builder.Services.AddTransient(); + builder.Services.AddTransient(); + builder.Services.AddTransient(); //builder.Services.AddSingleton(); var app = builder.Build(); diff --git a/uWine.Api/Properties/PublishProfiles/Api01 (192.168.0.8).pubxml b/uWine.Api/Properties/PublishProfiles/Api01 (192.168.0.8).pubxml new file mode 100644 index 0000000..e7de124 --- /dev/null +++ b/uWine.Api/Properties/PublishProfiles/Api01 (192.168.0.8).pubxml @@ -0,0 +1,22 @@ + + + + + false + false + true + Release + Any CPU + FileSystem + \\192.168.0.8\deploy\Api + FileSystem + <_TargetId>Folder + + net8.0 + linux-x64 + 8e5d260e-7395-4875-8a4f-16205f92ad38 + false + + \ No newline at end of file diff --git a/uWine.Api/Properties/PublishProfiles/Api01 (192.168.0.8).pubxml.user b/uWine.Api/Properties/PublishProfiles/Api01 (192.168.0.8).pubxml.user new file mode 100644 index 0000000..7af2d46 --- /dev/null +++ b/uWine.Api/Properties/PublishProfiles/Api01 (192.168.0.8).pubxml.user @@ -0,0 +1,11 @@ + + + + + <_PublishTargetUrl>\\192.168.0.8\deploy\Api + True|2025-07-09T20:17:50.4482481Z||;False|2025-07-09T22:16:08.6429078+02:00||; + + + \ No newline at end of file diff --git a/uWine.Api/uWine.Api.csproj.user b/uWine.Api/uWine.Api.csproj.user index e4f6e71..704b802 100644 --- a/uWine.Api/uWine.Api.csproj.user +++ b/uWine.Api/uWine.Api.csproj.user @@ -3,5 +3,6 @@ MvcControllerEmptyScaffolder root/Common/MVC/Controller + M:\uv\uWine\uWine.Api\Properties\PublishProfiles\Api01 %28192.168.0.8%29.pubxml \ No newline at end of file diff --git a/uWine.Core.Domain/Entities/User.cs b/uWine.Core.Domain/Entities/User.cs index 6aa0d8f..2380a09 100644 --- a/uWine.Core.Domain/Entities/User.cs +++ b/uWine.Core.Domain/Entities/User.cs @@ -16,6 +16,7 @@ namespace uWine.Core.Domain.Entities { Id = reader.GetInt32("id"), Username = reader.GetString("username"), + Active = true, Role = Role.FromRecord(reader), }; } diff --git a/uWine.Core.Domain/Repositories/IOwnerRepository.cs b/uWine.Core.Domain/Repositories/IOwnerRepository.cs index 016c35a..9e341c4 100644 --- a/uWine.Core.Domain/Repositories/IOwnerRepository.cs +++ b/uWine.Core.Domain/Repositories/IOwnerRepository.cs @@ -12,5 +12,6 @@ namespace uWine.Core.Domain.Repositories void AddAddress(int ownerId, Address address); void Insert(Owner owner); Owner Simple(int ownerId); + List FromUser(int userId); } } diff --git a/uWine.Core.Domain/Repositories/IUserRepository.cs b/uWine.Core.Domain/Repositories/IUserRepository.cs new file mode 100644 index 0000000..01d3f05 --- /dev/null +++ b/uWine.Core.Domain/Repositories/IUserRepository.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using uWine.Core.Domain.Entities; + +namespace uWine.Core.Domain.Repositories +{ + public interface IUserRepository + { + User UserById(int userId); + } +} diff --git a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs index 82afa8c..7f6e8d7 100644 --- a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs +++ b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("uWine.Core.Domain")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a172f05269c07a86949730b68f466dbb39efd35c")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2db95255706ee58fdfd1cd80269882ddfb6a08a0")] [assembly: System.Reflection.AssemblyProductAttribute("uWine.Core.Domain")] [assembly: System.Reflection.AssemblyTitleAttribute("uWine.Core.Domain")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache index d8519ce..03f9b67 100644 --- a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache +++ b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache @@ -1 +1 @@ -8b28d92b53d240bb0fa1329b33b29da5b306fb49220cf2f4e3d5082767ed6f9b +90a65fc50c45509dd6f76eaeb434d71392cfcabf236fe20248645f330d5292ae diff --git a/uWine.Core.Domain/obj/project.assets.json b/uWine.Core.Domain/obj/project.assets.json index ec9622b..b67c62a 100644 --- a/uWine.Core.Domain/obj/project.assets.json +++ b/uWine.Core.Domain/obj/project.assets.json @@ -54,6 +54,60 @@ } } } + }, + "net8.0/linux-x64": { + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "MySqlConnector/2.4.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/MySqlConnector.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/MySqlConnector.dll": { + "related": ".xml" + } + } + } } }, "libraries": { @@ -265,6 +319,11 @@ }, "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json" } + }, + "runtimes": { + "linux-x64": { + "#import": [] + } } } } \ No newline at end of file diff --git a/uWine.Core.Domain/obj/project.nuget.cache b/uWine.Core.Domain/obj/project.nuget.cache index 42f1b24..092821c 100644 --- a/uWine.Core.Domain/obj/project.nuget.cache +++ b/uWine.Core.Domain/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "xoU7wD+w/v0=", + "dgSpecHash": "dpwl0H+ZmD8=", "success": true, "projectFilePath": "M:\\uv\\uWine\\uWine.Core.Domain\\uWine.Core.Domain.csproj", "expectedPackageFiles": [ diff --git a/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json b/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json index cb03b6a..e47e34c 100644 --- a/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json +++ b/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json @@ -69,6 +69,11 @@ }, "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json" } + }, + "runtimes": { + "linux-x64": { + "#import": [] + } } } } diff --git a/uWine.Core.Infrastructure/Repository/MariaDbUserRepository.cs b/uWine.Core.Infrastructure/Repository/MariaDbUserRepository.cs new file mode 100644 index 0000000..5089d5d --- /dev/null +++ b/uWine.Core.Infrastructure/Repository/MariaDbUserRepository.cs @@ -0,0 +1,46 @@ +using Microsoft.Extensions.Configuration; +using MySqlConnector; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using uWine.Core.Domain.Entities; +using uWine.Core.Domain.Repositories; + +namespace uWine.Core.Infrastructure.Repository +{ + + public class MariaDbUserRepository : MariaDbServerRepository, IUserRepository + { + public MariaDbUserRepository(IConfiguration configuration) : base(configuration) + { + + } + + public User UserById(int userId) + { + using (var conn = Connection()) + { + conn.Open(); + var cmd = new MySqlCommand($@"SELECT u.id, + username, + u.role as role_id, + r.role as name, + description + FROM t_users u + JOIN t_role r on r.id = u.role + WHERE u.id = @userId ", conn); + cmd.Parameters.AddWithValue("userId", userId); + using (var reader = cmd.ExecuteReader()) + { + if (reader.Read()) + { + return User.LoginUser(reader); + } + } + } + return new User(); + } + } +} diff --git a/uWine.Core.Infrastructure/Repository/MariadbOwnerRepository.cs b/uWine.Core.Infrastructure/Repository/MariadbOwnerRepository.cs index bee4afe..dfe6532 100644 --- a/uWine.Core.Infrastructure/Repository/MariadbOwnerRepository.cs +++ b/uWine.Core.Infrastructure/Repository/MariadbOwnerRepository.cs @@ -113,5 +113,23 @@ namespace uWine.Core.Infrastructure.Repository } return new Owner(); } + + public List FromUser(int userId) + { + var list = new List(); + using (var connection = Connection()) { + connection.Open(); + var cmd = new MySqlCommand("SELECT owner_id as id FROM t_user_owner WHERE user_id = @userId",connection); + cmd.Parameters.AddWithValue("userId", userId); + using (var reader = cmd.ExecuteReader()) + { + while (reader.Read()) + { + list.Add(Simple(reader.GetInt32("id"))); + } + } + } + return list; + } } } diff --git a/uWine.Core.Infrastructure/Services/UserService.cs b/uWine.Core.Infrastructure/Services/UserService.cs new file mode 100644 index 0000000..64eaac5 --- /dev/null +++ b/uWine.Core.Infrastructure/Services/UserService.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using uWine.Core.Domain.Entities; +using uWine.Core.Domain.Repositories; + +namespace uWine.Core.Infrastructure.Services +{ + public class UserService + { + public IUserRepository _userRepository; + readonly OwnerService _ownerService; + readonly IOwnerRepository _ownerRepository; + + + public UserService( + IUserRepository userRepository, OwnerService ownerService, IOwnerRepository ownerRepository) + { + _userRepository = userRepository; + _ownerService = ownerService; + _ownerRepository = ownerRepository; + } + + public User Process(int userId) + { + var user = _userRepository.UserById(userId); + if (user == null) + throw new ArgumentException($"User with ID {userId} not found."); + + var owners = _ownerRepository.FromUser(userId) + ?.Select(owner => _ownerService.FillData(owner)) + .ToList(); + + user.Owners = owners ?? new List(); + return user; + } + } +}