commit b80b186b261f6e8421949cee7647bd748af8407b
Author: Milan Hotovec <silent@students.zcu.cz>
Date:   Thu Apr 22 21:47:02 2021 +0200

    references init + sanity check
    @testFull

diff --git a/Leuze.sln b/Leuze.sln
index e62a047..150e6c5 100644
--- a/Leuze.sln
+++ b/Leuze.sln
@@ -37,8 +37,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Tests.Core.Domain", "
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Tests.Core", "tests\Core\Leuze.Tests.Core\Leuze.Tests.Core.csproj", "{D271989D-921D-486B-929C-6BBF1EC0EED4}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Tests.Core.Infrastructure.ActiveDirectory", "tests\Core\Leuze.Tests.Core.Infrastructure.ActiveDirectory\Leuze.Tests.Core.Infrastructure.ActiveDirectory.csproj", "{C1813611-5FF2-4E70-B7E5-A4E8553F0B66}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Goal", "Goal", "{A1146DB5-79EB-449C-ADA3-1ABDE035F5CA}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Application", "Application", "{1AEE9C09-804F-4AF7-B966-80830B39C85F}"
@@ -47,13 +45,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Domain", "Domain", "{4A441C
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Infrastructure", "Infrastructure", "{E4134FEF-ECBC-4EEF-A65B-8E8D318DA8DA}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Leuze.Modules.Goal.Application", "Leuze.Modules.Goal.Application\Leuze.Modules.Goal.Application.csproj", "{C21FBB7D-28F0-4D87-976C-4ED3B8ABA5E2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Modules.Goal.Application", "src\Modules\Goal\Application\Leuze.Modules.Goal.Application\Leuze.Modules.Goal.Application.csproj", "{C49CA0F7-C0C2-4FCE-98C4-4E42765B4405}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Leuze.Modules.Goal.Application.UI", "Leuze.Modules.Goal.Application.UI\Leuze.Modules.Goal.Application.UI.csproj", "{9C56BB9C-C37A-4457-B560-2B46F1963292}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Modules.Goal.Application.UI", "src\Modules\Goal\Application\Leuze.Modules.Goal.Application.UI\Leuze.Modules.Goal.Application.UI.csproj", "{C6F9EFF2-30DA-4FA9-AEFF-4957F0260267}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Leuze.Modules.Goal.Domain", "Leuze.Modules.Goal.Domain\Leuze.Modules.Goal.Domain.csproj", "{F3657FCF-A622-405C-A9E5-E473917B30B8}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Modules.Goal.Domain", "src\Modules\Goal\Domain\Leuze.Modules.Goal.Domain\Leuze.Modules.Goal.Domain.csproj", "{BAAC1AB6-C671-408C-94EF-96459D5403DD}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Leuze.Modules.Goal.Infrastructure", "Leuze.Modules.Goal.Infrastructure\Leuze.Modules.Goal.Infrastructure.csproj", "{BB0B5CCE-991D-42D1-B35D-C15273C41AC0}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Leuze.Modules.Goal.Infrastructure.Persistence", "src\Modules\Goal\Infrastructure\Leuze.Modules.Goal.Infrastructure.Persistence\Leuze.Modules.Goal.Infrastructure.Persistence.csproj", "{BEBFBA58-BCB7-4F44-9247-EAAAE748176A}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -97,26 +95,22 @@ Global
 		{D271989D-921D-486B-929C-6BBF1EC0EED4}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{D271989D-921D-486B-929C-6BBF1EC0EED4}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{D271989D-921D-486B-929C-6BBF1EC0EED4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C1813611-5FF2-4E70-B7E5-A4E8553F0B66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C1813611-5FF2-4E70-B7E5-A4E8553F0B66}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C1813611-5FF2-4E70-B7E5-A4E8553F0B66}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C1813611-5FF2-4E70-B7E5-A4E8553F0B66}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C21FBB7D-28F0-4D87-976C-4ED3B8ABA5E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C21FBB7D-28F0-4D87-976C-4ED3B8ABA5E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C21FBB7D-28F0-4D87-976C-4ED3B8ABA5E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C21FBB7D-28F0-4D87-976C-4ED3B8ABA5E2}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9C56BB9C-C37A-4457-B560-2B46F1963292}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C56BB9C-C37A-4457-B560-2B46F1963292}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9C56BB9C-C37A-4457-B560-2B46F1963292}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9C56BB9C-C37A-4457-B560-2B46F1963292}.Release|Any CPU.Build.0 = Release|Any CPU
-		{F3657FCF-A622-405C-A9E5-E473917B30B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{F3657FCF-A622-405C-A9E5-E473917B30B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{F3657FCF-A622-405C-A9E5-E473917B30B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{F3657FCF-A622-405C-A9E5-E473917B30B8}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BB0B5CCE-991D-42D1-B35D-C15273C41AC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BB0B5CCE-991D-42D1-B35D-C15273C41AC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BB0B5CCE-991D-42D1-B35D-C15273C41AC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BB0B5CCE-991D-42D1-B35D-C15273C41AC0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C49CA0F7-C0C2-4FCE-98C4-4E42765B4405}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C49CA0F7-C0C2-4FCE-98C4-4E42765B4405}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C49CA0F7-C0C2-4FCE-98C4-4E42765B4405}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C49CA0F7-C0C2-4FCE-98C4-4E42765B4405}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C6F9EFF2-30DA-4FA9-AEFF-4957F0260267}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C6F9EFF2-30DA-4FA9-AEFF-4957F0260267}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C6F9EFF2-30DA-4FA9-AEFF-4957F0260267}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C6F9EFF2-30DA-4FA9-AEFF-4957F0260267}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BAAC1AB6-C671-408C-94EF-96459D5403DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BAAC1AB6-C671-408C-94EF-96459D5403DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BAAC1AB6-C671-408C-94EF-96459D5403DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BAAC1AB6-C671-408C-94EF-96459D5403DD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BEBFBA58-BCB7-4F44-9247-EAAAE748176A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BEBFBA58-BCB7-4F44-9247-EAAAE748176A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BEBFBA58-BCB7-4F44-9247-EAAAE748176A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BEBFBA58-BCB7-4F44-9247-EAAAE748176A}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -135,15 +129,14 @@ Global
 		{B74BED5E-F175-4A6E-B4AC-8625E0E4E287} = {C5588326-929D-42B3-912B-9D838373B48E}
 		{8ECAEA01-61F3-402D-B94E-E54FC0C94C8E} = {B74BED5E-F175-4A6E-B4AC-8625E0E4E287}
 		{D271989D-921D-486B-929C-6BBF1EC0EED4} = {B74BED5E-F175-4A6E-B4AC-8625E0E4E287}
-		{C1813611-5FF2-4E70-B7E5-A4E8553F0B66} = {B74BED5E-F175-4A6E-B4AC-8625E0E4E287}
 		{A1146DB5-79EB-449C-ADA3-1ABDE035F5CA} = {6E77A5CC-6998-47B7-8FD1-70FA45A1D30C}
 		{1AEE9C09-804F-4AF7-B966-80830B39C85F} = {A1146DB5-79EB-449C-ADA3-1ABDE035F5CA}
 		{4A441C7D-2659-4FB5-8886-420728C229BF} = {A1146DB5-79EB-449C-ADA3-1ABDE035F5CA}
 		{E4134FEF-ECBC-4EEF-A65B-8E8D318DA8DA} = {A1146DB5-79EB-449C-ADA3-1ABDE035F5CA}
-		{C21FBB7D-28F0-4D87-976C-4ED3B8ABA5E2} = {1AEE9C09-804F-4AF7-B966-80830B39C85F}
-		{9C56BB9C-C37A-4457-B560-2B46F1963292} = {1AEE9C09-804F-4AF7-B966-80830B39C85F}
-		{F3657FCF-A622-405C-A9E5-E473917B30B8} = {4A441C7D-2659-4FB5-8886-420728C229BF}
-		{BB0B5CCE-991D-42D1-B35D-C15273C41AC0} = {E4134FEF-ECBC-4EEF-A65B-8E8D318DA8DA}
+		{C49CA0F7-C0C2-4FCE-98C4-4E42765B4405} = {1AEE9C09-804F-4AF7-B966-80830B39C85F}
+		{C6F9EFF2-30DA-4FA9-AEFF-4957F0260267} = {1AEE9C09-804F-4AF7-B966-80830B39C85F}
+		{BAAC1AB6-C671-408C-94EF-96459D5403DD} = {4A441C7D-2659-4FB5-8886-420728C229BF}
+		{BEBFBA58-BCB7-4F44-9247-EAAAE748176A} = {E4134FEF-ECBC-4EEF-A65B-8E8D318DA8DA}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {849C3668-1CB9-4F98-ADFA-A71F5629384C}
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Leuze.Modules.Goal.Application.UI.csproj b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Leuze.Modules.Goal.Application.UI.csproj
index bc9e988..9170d00 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Leuze.Modules.Goal.Application.UI.csproj
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application.UI/Leuze.Modules.Goal.Application.UI.csproj
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+﻿<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <AssemblyName>Leuze.Modules.Goal.Application.UI</AssemblyName>
@@ -18,4 +18,9 @@
     <DocumentationFile>..\..\..\..\docs\Leuze.Modules.Goal.Application.UI.xml</DocumentationFile>
   </PropertyGroup>
 
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\Core\Application\Leuze.Core.Application.UI\Leuze.Core.Application.UI.csproj" />
+    <ProjectReference Include="..\Leuze.Modules.Goal.Application\Leuze.Modules.Goal.Application.csproj" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/Leuze.Modules.Goal.Application.csproj b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/Leuze.Modules.Goal.Application.csproj
index b5841d6..884165f 100644
--- a/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/Leuze.Modules.Goal.Application.csproj
+++ b/src/Modules/Goal/Application/Leuze.Modules.Goal.Application/Leuze.Modules.Goal.Application.csproj
@@ -18,4 +18,9 @@
     <DocumentationFile>..\..\..\..\docs\Leuze.Modules.Goal.Application.xml</DocumentationFile>
   </PropertyGroup>
 
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\Core\Application\Leuze.Core.Application\Leuze.Core.Application.csproj" />
+    <ProjectReference Include="..\..\Domain\Leuze.Modules.Goal.Domain\Leuze.Modules.Goal.Domain.csproj" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Leuze.Modules.Goal.Domain.csproj b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Leuze.Modules.Goal.Domain.csproj
index 0e836f9..98d65ea 100644
--- a/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Leuze.Modules.Goal.Domain.csproj
+++ b/src/Modules/Goal/Domain/Leuze.Modules.Goal.Domain/Leuze.Modules.Goal.Domain.csproj
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+﻿<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <AssemblyName>Leuze.Modules.Goal.Domain</AssemblyName>
@@ -18,4 +18,8 @@
     <DocumentationFile>..\..\..\..\docs\Leuze.Modules.Goal.Domain.xml</DocumentationFile>
   </PropertyGroup>
 
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\Core\Domain\Leuze.Core.Domain\Leuze.Core.Domain.csproj" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Class1.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Class1.cs
deleted file mode 100644
index c34eb49..0000000
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Class1.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-﻿using System;
-
-namespace Leuze.Modules.Goal.Infrastructure.Persistence
-{
-    public class Class1
-    {
-    }
-}
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs
new file mode 100644
index 0000000..c52a5da
--- /dev/null
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/DependencyInjection.cs
@@ -0,0 +1,47 @@
+﻿using ExtCore.Infrastructure.Actions;
+using Leuze.Core.Infrastructure.Persistence.Extensions;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+
+namespace Leuze.Modules.Goal.Infrastructure.Persistence
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class ServicesConfiguration : IConfigureServicesAction
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public int Priority => 1000;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="services"></param>
+        /// <param name="serviceProvider"></param>
+        public void Execute(IServiceCollection services, IServiceProvider serviceProvider)
+        {
+            services.AddRepositories();
+        }
+    }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public class ApplicationConfiguration : IConfigureAction
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public int Priority => 11000;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="applicationBuilder"></param>
+        /// <param name="serviceProvider"></param>
+        public void Execute(IApplicationBuilder applicationBuilder, IServiceProvider serviceProvider) => applicationBuilder.MigrateDatabase();
+    }
+}
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Extensions/RepositoriesExtension.cs b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Extensions/RepositoriesExtension.cs
new file mode 100644
index 0000000..6df9c1f
--- /dev/null
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Extensions/RepositoriesExtension.cs
@@ -0,0 +1,20 @@
+﻿using Microsoft.Extensions.DependencyInjection;
+
+namespace Leuze.Modules.Goal.Infrastructure.Persistence.Extensions
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public static class RepositoriesExtension
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="services"></param>
+        public static void AddRepositories(this IServiceCollection services)
+        {
+            //TODO: Insert needed
+        }
+
+    }
+}
diff --git a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Leuze.Modules.Goal.Infrastructure.Persistence.csproj b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Leuze.Modules.Goal.Infrastructure.Persistence.csproj
index 29f45bb..1197821 100644
--- a/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Leuze.Modules.Goal.Infrastructure.Persistence.csproj
+++ b/src/Modules/Goal/Infrastructure/Leuze.Modules.Goal.Infrastructure.Persistence/Leuze.Modules.Goal.Infrastructure.Persistence.csproj
@@ -17,4 +17,9 @@
     <OutputPath>..\..\..\Presentation\Leuze.Modules\</OutputPath>
     <DocumentationFile>..\..\..\..\docs\Leuze.Modules.Goal.Infrastructure.Persistence.xml</DocumentationFile>
   </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\Core\Infrastructure\Leuze.Core.Infrastructure.Persistence\Leuze.Core.Infrastructure.Persistence.csproj" />
+    <ProjectReference Include="..\..\Domain\Leuze.Modules.Goal.Domain\Leuze.Modules.Goal.Domain.csproj" />
+  </ItemGroup>
 </Project>
diff --git a/tests/Core/Leuze.Tests.Core.Infrastructure.ActiveDirectory/Leuze.Tests.Core.Infrastructure.ActiveDirectory.csproj b/tests/Core/Leuze.Tests.Core.Infrastructure.ActiveDirectory/Leuze.Tests.Core.Infrastructure.ActiveDirectory.csproj
deleted file mode 100644
index e66717d..0000000
--- a/tests/Core/Leuze.Tests.Core.Infrastructure.ActiveDirectory/Leuze.Tests.Core.Infrastructure.ActiveDirectory.csproj
+++ /dev/null
@@ -1,35 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Leuze.Tests.Core.Infrastructure.ActiveDirectory</AssemblyName>
-    <RootNamespace>Leuze.Tests.Core.Infrastructure.ActiveDirectory</RootNamespace>
-    <Product></Product>
-    <Description></Description>
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <TargetFramework>net5.0</TargetFramework>
-    <Nullable>enable</Nullable>
-    <IsPackable>false</IsPackable>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
-    <DocumentationFile>..\..\..\docs\Leuze.Tests.Core.Infrastructure.ActiveDirectory.xml</DocumentationFile>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="FluentAssertions" Version="5.10.3" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
-    <PackageReference Include="xunit" Version="2.4.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
-      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
-      <PrivateAssets>all</PrivateAssets>
-    </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="3.0.3">
-      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
-      <PrivateAssets>all</PrivateAssets>
-    </PackageReference>
-  </ItemGroup>
-
-</Project>
