diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..3729ff0
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,25 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index dff3a43..f798420 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,13 @@
-# Directories
-.vs/
-.usr/
+# Ignore user-specific settings, except GitHub workflow files
+.*
+!.github
+
+# Project directories should be ignored
bin/
obj/
Properties/
-# File extensions
-*.json
\ No newline at end of file
+# Some file extensions should be ignored
+*.json
+*.db
+*.bat
diff --git a/Code2Gether-Discord-Bot.ConsoleDiagnostics/Code2Gether-Discord-Bot.ConsoleDiagnostics.csproj b/Code2Gether-Discord-Bot.ConsoleDiagnostics/Code2Gether-Discord-Bot.ConsoleDiagnostics.csproj
new file mode 100644
index 0000000..2b85e37
--- /dev/null
+++ b/Code2Gether-Discord-Bot.ConsoleDiagnostics/Code2Gether-Discord-Bot.ConsoleDiagnostics.csproj
@@ -0,0 +1,13 @@
+
+
+
+ Exe
+ net5.0
+ Code2Gether_Discord_Bot.ConsoleDiagnostics
+
+
+
+
+
+
+
diff --git a/Code2Gether-Discord-Bot.ConsoleDiagnostics/Program.cs b/Code2Gether-Discord-Bot.ConsoleDiagnostics/Program.cs
new file mode 100644
index 0000000..3932a7a
--- /dev/null
+++ b/Code2Gether-Discord-Bot.ConsoleDiagnostics/Program.cs
@@ -0,0 +1,56 @@
+using Code2Gether_Discord_Bot.Library.Models;
+using Code2Gether_Discord_Bot.Library.Models.Repositories;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Code2Gether_Discord_Bot.ConsoleDiagnostics
+{
+ class Program
+ {
+ static async Task Main(string[] args)
+ {
+ var connectionString = "https://localhost:5001/";
+
+ var memberDal = new MemberDAL(connectionString);
+ var projectDal = new ProjectDAL(connectionString);
+
+ // Create a new member.
+ var member = new Member
+ {
+ SnowflakeId = 12345
+ };
+
+ await memberDal.CreateAsync(member);
+
+ var memberRetrieved = (await memberDal.ReadAllAsync()).FirstOrDefault();
+
+ // Create a new project with the member as an author.
+ var project = new Project
+ {
+ Name = "MyProject",
+ Author = memberRetrieved,
+ };
+
+ project.Members.Add(memberRetrieved);
+
+ await projectDal.CreateAsync(project);
+
+ // Create another new member.
+ var member2 = new Member
+ {
+ SnowflakeId = 23456
+ };
+
+ await memberDal.CreateAsync(member2);
+
+ var member2Retrieved = await memberDal.ReadFromSnowflakeAsync(23456);
+
+ // Add new member to project, and update.
+ var project2 = await projectDal.ReadAsync("MyProject");
+
+ project2.Members.Add(member2Retrieved);
+
+ await projectDal.UpdateAsync(project2);
+ }
+ }
+}
diff --git a/Code2Gether-Discord-Bot.Library/BusinessLogic/CreateProjectLogic.cs b/Code2Gether-Discord-Bot.Library/BusinessLogic/CreateProjectLogic.cs
index 45f72a3..b69e0d8 100644
--- a/Code2Gether-Discord-Bot.Library/BusinessLogic/CreateProjectLogic.cs
+++ b/Code2Gether-Discord-Bot.Library/BusinessLogic/CreateProjectLogic.cs
@@ -1,7 +1,6 @@
using System;
using System.Threading.Tasks;
using Code2Gether_Discord_Bot.Library.Models;
-using Code2Gether_Discord_Bot.Library.Models.Repositories.ProjectRepository;
using Code2Gether_Discord_Bot.Library.Static;
using Discord;
using Discord.Commands;
@@ -19,39 +18,48 @@ public CreateProjectLogic(ILogger logger, ICommandContext context, IProjectManag
_arguments = arguments;
}
- public override Task