diff --git a/.gitignore b/.gitignore index bb8d03e..92076e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ **/obj **/bin -appsettings.*.json \ No newline at end of file +**/appsettings.*.json \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 0c8f3a7..8d9c612 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,12 +5,12 @@ // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md - "name": ".NET Core Launch (console)", + "name": ".NET Rest Api", "type": "coreclr", "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/bin/Debug/net8.0/BasicDotnetTemplate.dll", + "program": "${workspaceFolder}/MainProject/bin/Debug/net8.0/MainProject.dll", "args": [], "cwd": "${workspaceFolder}", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 1970917..f7b90c3 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -7,7 +7,7 @@ "type": "process", "args": [ "build", - "${workspaceFolder}/BasicDotnetTemplate.csproj", + "${workspaceFolder}/MainProject/MainProject.csproj", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary;ForceNoAlign" ], @@ -19,7 +19,7 @@ "type": "process", "args": [ "publish", - "${workspaceFolder}/BasicDotnetTemplate.csproj", + "${workspaceFolder}/MainProject/MainProject.csproj", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary;ForceNoAlign" ], @@ -33,7 +33,7 @@ "watch", "run", "--project", - "${workspaceFolder}/BasicDotnetTemplate.csproj" + "${workspaceFolder}/MainProject.csproj" ], "problemMatcher": "$msCompile" } diff --git a/BasicDotnetTemplate.sln b/BasicDotnetTemplate.sln new file mode 100644 index 0000000..eca7cc6 --- /dev/null +++ b/BasicDotnetTemplate.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MainProject", "MainProject\MainProject.csproj", "{5BC4F94C-35BC-4436-A107-9D85E53A9E84}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MainProject.Tests", "MainProject.Tests\MainProject.Tests.csproj", "{A672CB00-DC99-4847-A384-B857C5E69301}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5BC4F94C-35BC-4436-A107-9D85E53A9E84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5BC4F94C-35BC-4436-A107-9D85E53A9E84}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5BC4F94C-35BC-4436-A107-9D85E53A9E84}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5BC4F94C-35BC-4436-A107-9D85E53A9E84}.Release|Any CPU.Build.0 = Release|Any CPU + {A672CB00-DC99-4847-A384-B857C5E69301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A672CB00-DC99-4847-A384-B857C5E69301}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A672CB00-DC99-4847-A384-B857C5E69301}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A672CB00-DC99-4847-A384-B857C5E69301}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/MainProject.Tests/AppSettingsUtils_Tests.cs b/MainProject.Tests/AppSettingsUtils_Tests.cs new file mode 100644 index 0000000..4e58c38 --- /dev/null +++ b/MainProject.Tests/AppSettingsUtils_Tests.cs @@ -0,0 +1,25 @@ +using BasicDotnetTemplate.MainProject.Models.Settings; +using BasicDotnetTemplate.MainProject.Utils; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace BasicDotnetTemplate.MainProject.Tests +{ + [TestClass] + public class AppSettingsUtils_Tests + { + private readonly AppSettings _appSettings; + + public AppSettingsUtils_Tests() + { + _appSettings = new AppSettings(); + } + + [TestMethod] + public void AppSettingsUtils_Tests_IsValid() + { + bool result = AppSettingsUtils.CheckAppSettings(_appSettings); + + Assert.IsTrue(result); + } + } +} diff --git a/MainProject.Tests/MainProject.Tests.csproj b/MainProject.Tests/MainProject.Tests.csproj new file mode 100644 index 0000000..103960f --- /dev/null +++ b/MainProject.Tests/MainProject.Tests.csproj @@ -0,0 +1,27 @@ + + + + net8.0 + enable + enable + + false + true + + + + + + + + + + + + + + + + + + diff --git a/BasicDotnetTemplate.csproj b/MainProject/MainProject.csproj similarity index 100% rename from BasicDotnetTemplate.csproj rename to MainProject/MainProject.csproj diff --git a/Models/Settings/AppSettings.cs b/MainProject/Models/Settings/AppSettings.cs similarity index 79% rename from Models/Settings/AppSettings.cs rename to MainProject/Models/Settings/AppSettings.cs index 901d9c2..0e26c5e 100644 --- a/Models/Settings/AppSettings.cs +++ b/MainProject/Models/Settings/AppSettings.cs @@ -1,4 +1,4 @@ -namespace BasicDotnetTemplate.Models.Settings; +namespace BasicDotnetTemplate.MainProject.Models.Settings; public class AppSettings { diff --git a/Models/Settings/DatabaseConnection.cs b/MainProject/Models/Settings/DatabaseConnection.cs similarity index 76% rename from Models/Settings/DatabaseConnection.cs rename to MainProject/Models/Settings/DatabaseConnection.cs index 6eb5789..e6d867d 100644 --- a/Models/Settings/DatabaseConnection.cs +++ b/MainProject/Models/Settings/DatabaseConnection.cs @@ -1,4 +1,4 @@ -namespace BasicDotnetTemplate.Models.Settings; +namespace BasicDotnetTemplate.MainProject.Models.Settings; public class DatabaseConnection { diff --git a/Models/Settings/OpenApiSettings.cs b/MainProject/Models/Settings/OpenApiSettings.cs similarity index 80% rename from Models/Settings/OpenApiSettings.cs rename to MainProject/Models/Settings/OpenApiSettings.cs index 055a7b0..35aa38d 100644 --- a/Models/Settings/OpenApiSettings.cs +++ b/MainProject/Models/Settings/OpenApiSettings.cs @@ -1,4 +1,4 @@ -namespace BasicDotnetTemplate.Models.Settings; +namespace BasicDotnetTemplate.MainProject.Models.Settings; public class OpenApiSettings { diff --git a/Models/Settings/OpenApiSettingsDetails.cs b/MainProject/Models/Settings/OpenApiSettingsDetails.cs similarity index 71% rename from Models/Settings/OpenApiSettingsDetails.cs rename to MainProject/Models/Settings/OpenApiSettingsDetails.cs index 039842b..08d5d97 100644 --- a/Models/Settings/OpenApiSettingsDetails.cs +++ b/MainProject/Models/Settings/OpenApiSettingsDetails.cs @@ -1,4 +1,4 @@ -namespace BasicDotnetTemplate.Models.Settings; +namespace BasicDotnetTemplate.MainProject.Models.Settings; public class OpenApiSettingsDetails { diff --git a/Models/Settings/PrivateSettings.cs b/MainProject/Models/Settings/PrivateSettings.cs similarity index 69% rename from Models/Settings/PrivateSettings.cs rename to MainProject/Models/Settings/PrivateSettings.cs index 8e1fc9b..0ad3b8b 100644 --- a/Models/Settings/PrivateSettings.cs +++ b/MainProject/Models/Settings/PrivateSettings.cs @@ -1,4 +1,4 @@ -namespace BasicDotnetTemplate.Models.Settings; +namespace BasicDotnetTemplate.MainProject.Models.Settings; public class PrivateSettings { diff --git a/Models/Settings/Settings.cs b/MainProject/Models/Settings/Settings.cs similarity index 75% rename from Models/Settings/Settings.cs rename to MainProject/Models/Settings/Settings.cs index c389e4b..2932223 100644 --- a/Models/Settings/Settings.cs +++ b/MainProject/Models/Settings/Settings.cs @@ -1,4 +1,4 @@ -namespace BasicDotnetTemplate.Models.Settings; +namespace BasicDotnetTemplate.MainProject.Models.Settings; public class Settings { diff --git a/NLog.config b/MainProject/NLog.config similarity index 100% rename from NLog.config rename to MainProject/NLog.config diff --git a/Program.cs b/MainProject/Program.cs similarity index 91% rename from Program.cs rename to MainProject/Program.cs index 06fc674..ae03114 100644 --- a/Program.cs +++ b/MainProject/Program.cs @@ -1,7 +1,9 @@ -using Microsoft.OpenApi.Models; -using BasicDotnetTemplate.Models.Settings; +using System; +using Microsoft.OpenApi.Models; +using BasicDotnetTemplate.MainProject.Models.Settings; +using BasicDotnetTemplate.MainProject.Utils; -namespace BasicDotnetTemplate; +namespace BasicDotnetTemplate.MainProject; internal static class Program { public static void Main(string[] args) @@ -9,7 +11,7 @@ internal static class Program var builder = WebApplication.CreateBuilder(args); var _configuration = new ConfigurationBuilder() - .SetBasePath(Directory.GetCurrentDirectory()) + .SetBasePath(System.AppDomain.CurrentDomain.BaseDirectory) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true) .AddEnvironmentVariables() @@ -56,7 +58,6 @@ internal static class Program }); }); - var app = builder.Build(); // REGISTER MIDDLEWARE HERE diff --git a/MainProject/Utils/AppSettingsUtils.cs b/MainProject/Utils/AppSettingsUtils.cs new file mode 100644 index 0000000..d8189de --- /dev/null +++ b/MainProject/Utils/AppSettingsUtils.cs @@ -0,0 +1,12 @@ +using BasicDotnetTemplate.MainProject.Models.Settings; + +namespace BasicDotnetTemplate.MainProject.Utils; + +public static class AppSettingsUtils +{ + static AppSettingsUtils() { } + public static bool CheckAppSettings(AppSettings appSetting) + { + return true; + } +} \ No newline at end of file diff --git a/appsettings.json b/MainProject/appsettings.json similarity index 91% rename from appsettings.json rename to MainProject/appsettings.json index 7b6d8ae..94c400b 100644 --- a/appsettings.json +++ b/MainProject/appsettings.json @@ -2,7 +2,7 @@ "AppSettings" : { "Settings": { - "Name": "BasicDotnetTemplate", + "Name": "MainProject", "Version": "v1.0", "Description": "This template contains basic configuration for a .Net 8 backend" }, diff --git a/wwwroot/swagger-ui/custom.css b/MainProject/wwwroot/swagger-ui/custom.css similarity index 100% rename from wwwroot/swagger-ui/custom.css rename to MainProject/wwwroot/swagger-ui/custom.css diff --git a/wwwroot/swagger/favicon-16x16.png b/MainProject/wwwroot/swagger/favicon-16x16.png similarity index 100% rename from wwwroot/swagger/favicon-16x16.png rename to MainProject/wwwroot/swagger/favicon-16x16.png diff --git a/wwwroot/swagger/favicon-32x32.png b/MainProject/wwwroot/swagger/favicon-32x32.png similarity index 100% rename from wwwroot/swagger/favicon-32x32.png rename to MainProject/wwwroot/swagger/favicon-32x32.png diff --git a/wwwroot/swagger/favicon.ico b/MainProject/wwwroot/swagger/favicon.ico similarity index 100% rename from wwwroot/swagger/favicon.ico rename to MainProject/wwwroot/swagger/favicon.ico diff --git a/README.md b/README.md index 8485399..27eeedb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1 @@ -# BasicDotnetTemplate - - +# MainProject