diff --git a/.vs/ProjectEvaluation/uwine.metadata.v9.bin b/.vs/ProjectEvaluation/uwine.metadata.v9.bin
index 2ea5198..60a40f9 100644
Binary files a/.vs/ProjectEvaluation/uwine.metadata.v9.bin and b/.vs/ProjectEvaluation/uwine.metadata.v9.bin differ
diff --git a/.vs/ProjectEvaluation/uwine.projects.v9.bin b/.vs/ProjectEvaluation/uwine.projects.v9.bin
index b1646aa..0cf51fb 100644
Binary files a/.vs/ProjectEvaluation/uwine.projects.v9.bin and b/.vs/ProjectEvaluation/uwine.projects.v9.bin differ
diff --git a/.vs/ProjectEvaluation/uwine.strings.v9.bin b/.vs/ProjectEvaluation/uwine.strings.v9.bin
index 9ac2903..fc39384 100644
Binary files a/.vs/ProjectEvaluation/uwine.strings.v9.bin and b/.vs/ProjectEvaluation/uwine.strings.v9.bin differ
diff --git a/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db b/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db
index 1aca709..08dd7e4 100644
Binary files a/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db and b/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db differ
diff --git a/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-shm b/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-shm
index da146ca..97f774c 100644
Binary files a/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-shm and b/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-shm differ
diff --git a/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-wal b/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-wal
index 39e8024..2a8ddd8 100644
Binary files a/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-wal and b/.vs/uWine/CopilotIndices/0.2.1634.3922/SemanticSymbols.db-wal differ
diff --git a/.vs/uWine/DesignTimeBuild/.dtbcache.v2 b/.vs/uWine/DesignTimeBuild/.dtbcache.v2
index 6ef792a..2dd2e86 100644
Binary files a/.vs/uWine/DesignTimeBuild/.dtbcache.v2 and b/.vs/uWine/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/.vs/uWine/v17/.futdcache.v2 b/.vs/uWine/v17/.futdcache.v2
index 4f9f289..acbe891 100644
Binary files a/.vs/uWine/v17/.futdcache.v2 and b/.vs/uWine/v17/.futdcache.v2 differ
diff --git a/.vs/uWine/v17/.suo b/.vs/uWine/v17/.suo
index 9b74579..97d78c7 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 8ab3429..34944ba 100644
--- a/.vs/uWine/v17/DocumentLayout.backup.json
+++ b/.vs/uWine/v17/DocumentLayout.backup.json
@@ -3,29 +3,65 @@
"WorkspaceRootPath": "M:\\uv\\uWine\\",
"Documents": [
{
- "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:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\coordinatesservice.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\\coordinatesservice.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\\repository\\mariadbvineyardrepository.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\\mariadbvineyardrepository.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\\helpers\\coordinateshelper.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\\helpers\\coordinateshelper.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\\vineyard.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\\vineyard.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\\coordinates.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\\coordinates.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:{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\\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\\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}"
+ },
{
"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\\mariadbserverrepository.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\\mariadbserverrepository.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\\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:{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:{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}"
@@ -42,18 +78,10 @@
"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}"
@@ -70,10 +98,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:{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}"
- },
{
"AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\plantvariety.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\\plantvariety.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@@ -82,10 +106,6 @@
"AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\worker.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\\worker.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\\vineyard.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\\vineyard.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\\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}"
@@ -130,22 +150,87 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 28,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 10,
+ "DocumentIndex": 12,
"Title": "UserController.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Controllers\\UserController.cs",
"RelativeDocumentMoniker": "uWine.Api\\Controllers\\UserController.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Api\\Controllers\\UserController.cs",
"RelativeToolTip": "uWine.Api\\Controllers\\UserController.cs",
- "ViewState": "AgIAADcAAAAAAAAAAAAswD8AAAAdAAAAAAAAAA==",
+ "ViewState": "AgIAABcAAAAAAAAAAAAlwC8AAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-05T12:49:48.611Z",
"IsPinned": true,
"EditorCaption": ""
},
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "CoordinatesService.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "ViewState": "AgIAABcAAAAAAAAAAAAkwCAAAAAMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T19:40:24.68Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "CoordinatesHelper.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "ViewState": "AgIAAAEAAAAAAAAAAAAowAsAAAAdAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T19:27:37.448Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "Coordinates.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "RelativeToolTip": "uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAFAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T15:17:32.614Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "MariaDbVineyardRepository.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "ViewState": "AgIAADcAAAAAAAAAAAAowEIAAABDAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T15:13:10.808Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "MariaDbServerRepository.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAPAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T15:08:41.298Z",
+ "EditorCaption": ""
+ },
{
"$type": "Bookmark",
"Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}"
@@ -176,7 +261,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 29,
+ "DocumentIndex": 34,
"Title": "IOwnerRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IOwnerRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IOwnerRepository.cs",
@@ -189,7 +274,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 3,
+ "DocumentIndex": 14,
"Title": "UserService.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\UserService.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\UserService.cs",
@@ -202,7 +287,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 8,
+ "DocumentIndex": 17,
"Title": "IUserRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IUserRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IUserRepository.cs",
@@ -215,20 +300,20 @@
},
{
"$type": "Document",
- "DocumentIndex": 7,
+ "DocumentIndex": 16,
"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==",
+ "ViewState": "AgIAABUAAAAAAAAAAAAgwCcAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T17:03:49.896Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 14,
+ "DocumentIndex": 21,
"Title": "Role.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Role.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Role.cs",
@@ -241,46 +326,46 @@
},
{
"$type": "Document",
- "DocumentIndex": 4,
+ "DocumentIndex": 6,
"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": "AgIAAAkAAAAAAAAAAAAYwBIAAAAeAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T15:30:48.881Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 5,
+ "DocumentIndex": 10,
"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": "AgIAABYAAAAAAAAAAAAQwCAAAAAQAAAAAAAAAA==",
+ "ViewState": "AgIAAAYAAAAAAAAAAAAAACAAAABHAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T14:20:34.76Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 12,
+ "DocumentIndex": 7,
"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": "AgIAAAYAAAAAAAAAAAA1wAIAAAARAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAIAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T14:14:45.554Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 6,
+ "DocumentIndex": 15,
"Title": "Program.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Program.cs",
"RelativeDocumentMoniker": "uWine.Api\\Program.cs",
@@ -293,7 +378,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 13,
+ "DocumentIndex": 20,
"Title": "appsettings.json",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\appsettings.json",
"RelativeDocumentMoniker": "uWine.Api\\appsettings.json",
@@ -306,7 +391,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 15,
+ "DocumentIndex": 22,
"Title": "IAuthenticationRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs",
@@ -319,7 +404,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 11,
+ "DocumentIndex": 19,
"Title": "MariaDbAuthenticationRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs",
@@ -332,7 +417,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 9,
+ "DocumentIndex": 18,
"Title": "AuthenticationService.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\AuthenticationService.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\AuthenticationService.cs",
@@ -345,20 +430,20 @@
},
{
"$type": "Document",
- "DocumentIndex": 2,
+ "DocumentIndex": 3,
"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": "AgIAABsAAAAAAAAAAAAYwCcAAAA7AAAAAAAAAA==",
+ "ViewState": "AgIAABsAAAAAAAAAAAAYwCcAAABKAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-05T12:53:14.567Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 23,
+ "DocumentIndex": 28,
"Title": "IContactRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IContactRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IContactRepository.cs",
@@ -371,7 +456,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 22,
+ "DocumentIndex": 27,
"Title": "ContactType.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ContactType.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ContactType.cs",
@@ -384,33 +469,33 @@
},
{
"$type": "Document",
- "DocumentIndex": 17,
+ "DocumentIndex": 9,
"Title": "Contact.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Contact.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Contact.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Contact.cs",
"RelativeToolTip": "uWine.Core.Domain\\Entities\\Contact.cs",
- "ViewState": "AgIAAAcAAAAAAAAAAAAzwBEAAAATAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T13:19:18.889Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 21,
+ "DocumentIndex": 26,
"Title": "MariaDbContactRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
"RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
- "ViewState": "AgIAADUAAAAAAAAAAAAgwA8AAABbAAAAAAAAAA==",
+ "ViewState": "AgIAADUAAAAAAAAAAAA3wA8AAABbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T13:32:59.307Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 24,
+ "DocumentIndex": 29,
"Title": "IAddressRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAddressRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAddressRepository.cs",
@@ -423,33 +508,33 @@
},
{
"$type": "Document",
- "DocumentIndex": 1,
+ "DocumentIndex": 8,
"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": "AgIAABEAAAAAAAAAAAAUwAQAAAARAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T12:44:44.188Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 0,
+ "DocumentIndex": 13,
"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": "AgIAAAAAAAAAAAAAAAAAADkAAAAdAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAACgAAAArAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T12:25:22.151Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 25,
+ "DocumentIndex": 30,
"Title": "RowWork.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\RowWork.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\RowWork.cs",
@@ -462,7 +547,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 27,
+ "DocumentIndex": 32,
"Title": "WarehouseProduct.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\WarehouseProduct.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\WarehouseProduct.cs",
@@ -475,7 +560,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 26,
+ "DocumentIndex": 31,
"Title": "ProductUsage.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ProductUsage.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ProductUsage.cs",
@@ -488,7 +573,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 19,
+ "DocumentIndex": 25,
"Title": "Worker.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Worker.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Worker.cs",
@@ -501,7 +586,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 18,
+ "DocumentIndex": 24,
"Title": "PlantVariety.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\PlantVariety.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\PlantVariety.cs",
@@ -514,7 +599,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 16,
+ "DocumentIndex": 23,
"Title": "VinePlant.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\VinePlant.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\VinePlant.cs",
@@ -527,20 +612,20 @@
},
{
"$type": "Document",
- "DocumentIndex": 20,
+ "DocumentIndex": 4,
"Title": "Vineyard.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Vineyard.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Vineyard.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Vineyard.cs",
"RelativeToolTip": "uWine.Core.Domain\\Entities\\Vineyard.cs",
- "ViewState": "AgIAAAgAAAAAAAAAAAAxwBEAAAAZAAAAAAAAAA==",
+ "ViewState": "AgIAAAwAAAAAAAAAAAAnwCIAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-02T17:04:51.461Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 28,
+ "DocumentIndex": 33,
"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 8ab3429..34944ba 100644
--- a/.vs/uWine/v17/DocumentLayout.json
+++ b/.vs/uWine/v17/DocumentLayout.json
@@ -3,29 +3,65 @@
"WorkspaceRootPath": "M:\\uv\\uWine\\",
"Documents": [
{
- "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:{50360CEE-B38B-4729-ACA3-ABC3ED3538E9}|uWine.Core.Infrastructure\\uWine.Core.Infrastructure.csproj|m:\\uv\\uwine\\uwine.core.infrastructure\\services\\coordinatesservice.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\\coordinatesservice.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\\repository\\mariadbvineyardrepository.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\\mariadbvineyardrepository.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\\helpers\\coordinateshelper.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\\helpers\\coordinateshelper.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\\vineyard.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\\vineyard.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\\coordinates.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\\coordinates.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:{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\\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\\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}"
+ },
{
"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\\mariadbserverrepository.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\\mariadbserverrepository.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\\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:{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:{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}"
@@ -42,18 +78,10 @@
"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}"
@@ -70,10 +98,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:{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}"
- },
{
"AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\plantvariety.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\\plantvariety.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@@ -82,10 +106,6 @@
"AbsoluteMoniker": "D:0:0:{1DCFCDC3-C4A6-4864-8868-94AAB81C3DBA}|uWine.Core.Domain\\uWine.Core.Domain.csproj|m:\\uv\\uwine\\uwine.core.domain\\entities\\worker.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\\worker.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\\vineyard.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\\vineyard.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\\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}"
@@ -130,22 +150,87 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 28,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 10,
+ "DocumentIndex": 12,
"Title": "UserController.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Controllers\\UserController.cs",
"RelativeDocumentMoniker": "uWine.Api\\Controllers\\UserController.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Api\\Controllers\\UserController.cs",
"RelativeToolTip": "uWine.Api\\Controllers\\UserController.cs",
- "ViewState": "AgIAADcAAAAAAAAAAAAswD8AAAAdAAAAAAAAAA==",
+ "ViewState": "AgIAABcAAAAAAAAAAAAlwC8AAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-05T12:49:48.611Z",
"IsPinned": true,
"EditorCaption": ""
},
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "CoordinatesService.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Services\\CoordinatesService.cs",
+ "ViewState": "AgIAABcAAAAAAAAAAAAkwCAAAAAMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T19:40:24.68Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "CoordinatesHelper.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Helpers\\CoordinatesHelper.cs",
+ "ViewState": "AgIAAAEAAAAAAAAAAAAowAsAAAAdAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T19:27:37.448Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "Coordinates.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "RelativeToolTip": "uWine.Core.Domain\\Entities\\Coordinates.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAFAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T15:17:32.614Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "MariaDbVineyardRepository.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbVineyardRepository.cs",
+ "ViewState": "AgIAADcAAAAAAAAAAAAowEIAAABDAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T15:13:10.808Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "MariaDbServerRepository.cs",
+ "DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbServerRepository.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAPAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-10T15:08:41.298Z",
+ "EditorCaption": ""
+ },
{
"$type": "Bookmark",
"Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}"
@@ -176,7 +261,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 29,
+ "DocumentIndex": 34,
"Title": "IOwnerRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IOwnerRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IOwnerRepository.cs",
@@ -189,7 +274,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 3,
+ "DocumentIndex": 14,
"Title": "UserService.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\UserService.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\UserService.cs",
@@ -202,7 +287,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 8,
+ "DocumentIndex": 17,
"Title": "IUserRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IUserRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IUserRepository.cs",
@@ -215,20 +300,20 @@
},
{
"$type": "Document",
- "DocumentIndex": 7,
+ "DocumentIndex": 16,
"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==",
+ "ViewState": "AgIAABUAAAAAAAAAAAAgwCcAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T17:03:49.896Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 14,
+ "DocumentIndex": 21,
"Title": "Role.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Role.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Role.cs",
@@ -241,46 +326,46 @@
},
{
"$type": "Document",
- "DocumentIndex": 4,
+ "DocumentIndex": 6,
"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": "AgIAAAkAAAAAAAAAAAAYwBIAAAAeAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T15:30:48.881Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 5,
+ "DocumentIndex": 10,
"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": "AgIAABYAAAAAAAAAAAAQwCAAAAAQAAAAAAAAAA==",
+ "ViewState": "AgIAAAYAAAAAAAAAAAAAACAAAABHAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T14:20:34.76Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 12,
+ "DocumentIndex": 7,
"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": "AgIAAAYAAAAAAAAAAAA1wAIAAAARAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAIAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-09T14:14:45.554Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 6,
+ "DocumentIndex": 15,
"Title": "Program.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\Program.cs",
"RelativeDocumentMoniker": "uWine.Api\\Program.cs",
@@ -293,7 +378,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 13,
+ "DocumentIndex": 20,
"Title": "appsettings.json",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Api\\appsettings.json",
"RelativeDocumentMoniker": "uWine.Api\\appsettings.json",
@@ -306,7 +391,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 15,
+ "DocumentIndex": 22,
"Title": "IAuthenticationRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAuthenticationRepository.cs",
@@ -319,7 +404,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 11,
+ "DocumentIndex": 19,
"Title": "MariaDbAuthenticationRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbAuthenticationRepository.cs",
@@ -332,7 +417,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 9,
+ "DocumentIndex": 18,
"Title": "AuthenticationService.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Services\\AuthenticationService.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Services\\AuthenticationService.cs",
@@ -345,20 +430,20 @@
},
{
"$type": "Document",
- "DocumentIndex": 2,
+ "DocumentIndex": 3,
"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": "AgIAABsAAAAAAAAAAAAYwCcAAAA7AAAAAAAAAA==",
+ "ViewState": "AgIAABsAAAAAAAAAAAAYwCcAAABKAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-05T12:53:14.567Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 23,
+ "DocumentIndex": 28,
"Title": "IContactRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IContactRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IContactRepository.cs",
@@ -371,7 +456,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 22,
+ "DocumentIndex": 27,
"Title": "ContactType.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ContactType.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ContactType.cs",
@@ -384,33 +469,33 @@
},
{
"$type": "Document",
- "DocumentIndex": 17,
+ "DocumentIndex": 9,
"Title": "Contact.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Contact.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Contact.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Contact.cs",
"RelativeToolTip": "uWine.Core.Domain\\Entities\\Contact.cs",
- "ViewState": "AgIAAAcAAAAAAAAAAAAzwBEAAAATAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T13:19:18.889Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 21,
+ "DocumentIndex": 26,
"Title": "MariaDbContactRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
"RelativeToolTip": "uWine.Core.Infrastructure\\Repository\\MariaDbContactRepository.cs",
- "ViewState": "AgIAADUAAAAAAAAAAAAgwA8AAABbAAAAAAAAAA==",
+ "ViewState": "AgIAADUAAAAAAAAAAAA3wA8AAABbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T13:32:59.307Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 24,
+ "DocumentIndex": 29,
"Title": "IAddressRepository.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Repositories\\IAddressRepository.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Repositories\\IAddressRepository.cs",
@@ -423,33 +508,33 @@
},
{
"$type": "Document",
- "DocumentIndex": 1,
+ "DocumentIndex": 8,
"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": "AgIAABEAAAAAAAAAAAAUwAQAAAARAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAuwAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T12:44:44.188Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 0,
+ "DocumentIndex": 13,
"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": "AgIAAAAAAAAAAAAAAAAAADkAAAAdAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAACgAAAArAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-04T12:25:22.151Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 25,
+ "DocumentIndex": 30,
"Title": "RowWork.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\RowWork.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\RowWork.cs",
@@ -462,7 +547,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 27,
+ "DocumentIndex": 32,
"Title": "WarehouseProduct.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\WarehouseProduct.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\WarehouseProduct.cs",
@@ -475,7 +560,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 26,
+ "DocumentIndex": 31,
"Title": "ProductUsage.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\ProductUsage.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\ProductUsage.cs",
@@ -488,7 +573,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 19,
+ "DocumentIndex": 25,
"Title": "Worker.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Worker.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Worker.cs",
@@ -501,7 +586,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 18,
+ "DocumentIndex": 24,
"Title": "PlantVariety.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\PlantVariety.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\PlantVariety.cs",
@@ -514,7 +599,7 @@
},
{
"$type": "Document",
- "DocumentIndex": 16,
+ "DocumentIndex": 23,
"Title": "VinePlant.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\VinePlant.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\VinePlant.cs",
@@ -527,20 +612,20 @@
},
{
"$type": "Document",
- "DocumentIndex": 20,
+ "DocumentIndex": 4,
"Title": "Vineyard.cs",
"DocumentMoniker": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Vineyard.cs",
"RelativeDocumentMoniker": "uWine.Core.Domain\\Entities\\Vineyard.cs",
"ToolTip": "M:\\uv\\uWine\\uWine.Core.Domain\\Entities\\Vineyard.cs",
"RelativeToolTip": "uWine.Core.Domain\\Entities\\Vineyard.cs",
- "ViewState": "AgIAAAgAAAAAAAAAAAAxwBEAAAAZAAAAAAAAAA==",
+ "ViewState": "AgIAAAwAAAAAAAAAAAAnwCIAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-02T17:04:51.461Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 28,
+ "DocumentIndex": 33,
"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/uWine.Api.csproj b/uWine.Api/uWine.Api.csproj
index aeac2f0..cfea379 100644
--- a/uWine.Api/uWine.Api.csproj
+++ b/uWine.Api/uWine.Api.csproj
@@ -8,6 +8,10 @@
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/uWine.Core.Domain/Entities/Coordinates.cs b/uWine.Core.Domain/Entities/Coordinates.cs
new file mode 100644
index 0000000..cfd9c0f
--- /dev/null
+++ b/uWine.Core.Domain/Entities/Coordinates.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace uWine.Core.Domain.Entities
+{
+ public class Coordinates
+ {
+ public double Latitude { get; set; }
+ public double Longitude { get; set; }
+
+ public Coordinates(double latitude, double longitude)
+ {
+ Latitude = latitude;
+ Longitude = longitude;
+ }
+ }
+}
diff --git a/uWine.Core.Domain/Entities/Vineyard.cs b/uWine.Core.Domain/Entities/Vineyard.cs
index 1fe810c..c3a5fe9 100644
--- a/uWine.Core.Domain/Entities/Vineyard.cs
+++ b/uWine.Core.Domain/Entities/Vineyard.cs
@@ -1,6 +1,8 @@
-using System;
+using MySqlConnector;
+using System;
using System.Collections.Generic;
using System.Linq;
+using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
@@ -12,9 +14,21 @@ namespace uWine.Core.Domain.Entities
public string Name { get; set; }
public string Location { get; set; }
public double Hectares { get; set; }
- public double Latitude { get; set; }
- public double Longitude { get; set; }
+ public Coordinates Coordinates { get; set; }
public DateTime CreationDate { get; set; }
public List? Rows { get; set; }
+ public Dictionary Area { get; set; }
+
+ public static Vineyard FromRecord(MySqlDataReader reader)
+ {
+ return new Vineyard
+ {
+ Id = reader.GetInt32(0),
+ Name = reader.GetString(1),
+ Location = reader.GetString(2),
+ Hectares = reader.GetDouble(3),
+ Coordinates = new Coordinates( reader.GetDouble(4),reader.GetDouble(5)),
+ };
+ }
}
}
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 7f6e8d7..7dec415 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+2db95255706ee58fdfd1cd80269882ddfb6a08a0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5aca82244e19b339516cae671f01e897766fe699")]
[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 03f9b67..72b3545 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 @@
-90a65fc50c45509dd6f76eaeb434d71392cfcabf236fe20248645f330d5292ae
+af0469651414fb1cc216fc5d5e51b3858d3ededd3bebba462f6393cc8502389f
diff --git a/uWine.Core.Domain/obj/project.assets.json b/uWine.Core.Domain/obj/project.assets.json
index b67c62a..ec9622b 100644
--- a/uWine.Core.Domain/obj/project.assets.json
+++ b/uWine.Core.Domain/obj/project.assets.json
@@ -54,60 +54,6 @@
}
}
}
- },
- "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": {
@@ -319,11 +265,6 @@
},
"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 092821c..42f1b24 100644
--- a/uWine.Core.Domain/obj/project.nuget.cache
+++ b/uWine.Core.Domain/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "dpwl0H+ZmD8=",
+ "dgSpecHash": "xoU7wD+w/v0=",
"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 e47e34c..cb03b6a 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,11 +69,6 @@
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
- },
- "runtimes": {
- "linux-x64": {
- "#import": []
- }
}
}
}
diff --git a/uWine.Core.Infrastructure/Helpers/CoordinatesHelper.cs b/uWine.Core.Infrastructure/Helpers/CoordinatesHelper.cs
new file mode 100644
index 0000000..538ab91
--- /dev/null
+++ b/uWine.Core.Infrastructure/Helpers/CoordinatesHelper.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using uWine.Core.Domain.Entities;
+
+namespace uWine.Core.Infrastructure.Helpers
+{
+ public class CoordinatesHelper
+ {
+ public static string ToWktPolygon(Dictionary coordinatesDict)
+ {
+ if (coordinatesDict == null || !coordinatesDict.Any())
+ {
+ throw new ArgumentException("Il dictionary di coordinate non può essere nullo o vuoto.");
+ }
+
+ // Ordina le coordinate in base alla chiave (indice)
+ var orderedCoordinates = coordinatesDict.OrderBy(kv => kv.Key)
+ .Select(kv => kv.Value)
+ .ToList();
+
+ // Costruisci la stringa dei punti "longitude latitude"
+ // Ricorda che i sistemi GIS spesso usano (longitude, latitude) ovvero (x, y)
+ var points = orderedCoordinates.Select(c => $"{c.Longitude} {c.Latitude}");
+
+ // Aggiungi il primo punto alla fine per chiudere il poligono
+ var firstPoint = orderedCoordinates.First();
+ var closedPoints = string.Join(",", points) + $",{firstPoint.Longitude} {firstPoint.Latitude}";
+
+ return $"POLYGON(({closedPoints}))";
+ }
+ }
+}
diff --git a/uWine.Core.Infrastructure/Repository/MariaDbVineyardRepository.cs b/uWine.Core.Infrastructure/Repository/MariaDbVineyardRepository.cs
index f6d071d..6a662ba 100644
--- a/uWine.Core.Infrastructure/Repository/MariaDbVineyardRepository.cs
+++ b/uWine.Core.Infrastructure/Repository/MariaDbVineyardRepository.cs
@@ -7,6 +7,7 @@ using System.Text;
using System.Threading.Tasks;
using uWine.Core.Domain.Entities;
using uWine.Core.Domain.Repositories;
+using uWine.Core.Infrastructure.Helpers;
namespace uWine.Core.Infrastructure.Repository
{
@@ -38,8 +39,8 @@ namespace uWine.Core.Infrastructure.Repository
command.Parameters.AddWithValue("@name", vineyard.Name);
command.Parameters.AddWithValue("@location", vineyard.Location);
command.Parameters.AddWithValue("@hectares", vineyard.Hectares);
- command.Parameters.AddWithValue("@latitude", vineyard.Latitude);
- command.Parameters.AddWithValue("@longitude", vineyard.Longitude);
+ command.Parameters.AddWithValue("@latitude", vineyard.Coordinates.Latitude);
+ command.Parameters.AddWithValue("@longitude", vineyard.Coordinates.Longitude);
using (var reader = command.ExecuteReader())
{
@@ -55,6 +56,20 @@ namespace uWine.Core.Infrastructure.Repository
}
}
+ public void InsertArea(Dictionary coordinates, int vineyardId)
+ {
+ var polygon = CoordinatesHelper.ToWktPolygon(coordinates);
+
+ using (var connection = Connection())
+ {
+ connection.Open();
+ var command = new MySqlCommand("UPDATE t_vineyard SET area = ST_GeomFromText(@polygon, 4326) where id = @id", connection);
+ command.Parameters.AddWithValue("@id", vineyardId);
+ command.Parameters.AddWithValue("@polygon", polygon);
+ command.ExecuteNonQuery();
+ }
+ }
+
public List GetOwnerVineyards(int ownerId)
{
var vineyards = new List();
@@ -71,16 +86,7 @@ namespace uWine.Core.Infrastructure.Repository
{
while (reader.Read())
{
- var vineyard = new Vineyard
- {
- Id = reader.GetInt32(0),
- Name = reader.GetString(1),
- Location = reader.GetString(2),
- Hectares = reader.GetDouble(3),
- Latitude = reader.GetDouble(4),
- Longitude = reader.GetDouble(5)
- };
- vineyards.Add(vineyard);
+ vineyards.Add(Vineyard.FromRecord(reader));
}
}
}
diff --git a/uWine.Core.Infrastructure/Services/CoordinatesService.cs b/uWine.Core.Infrastructure/Services/CoordinatesService.cs
new file mode 100644
index 0000000..a1b1d25
--- /dev/null
+++ b/uWine.Core.Infrastructure/Services/CoordinatesService.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using uWine.Core.Domain.Entities;
+using uWine.Core.Infrastructure.Repository;
+
+namespace uWine.Core.Infrastructure.Services
+{
+ public class CoordinatesService
+ {
+ public MariaDbVineyardRepository _vineyardRepository;
+
+ public CoordinatesService(MariaDbVineyardRepository vineyardRepository)
+ {
+ _vineyardRepository = vineyardRepository;
+ }
+
+ public async Task GetCoordinatesAsync(int vineyardId)
+ {
+ var vineyard = await _vineyardRepository.GetVineyardByIdAsync(vineyardId);
+ if (vineyard == null)
+ {
+ throw new ArgumentException("Vineyard not found");
+ }
+
+ return new Coordinates(vineyard.Latitude, vineyard.Longitude);
+ }
+
+ public async Task> VineyardCoordinates(int vineyardId)
+ {
+
+ }
+ }
+}