diff --git a/BrightGlimmer.Api/BrightGlimmer.Api.csproj b/BrightGlimmer.Api/BrightGlimmer.Api.csproj
index ffe2b91..cde3763 100644
--- a/BrightGlimmer.Api/BrightGlimmer.Api.csproj
+++ b/BrightGlimmer.Api/BrightGlimmer.Api.csproj
@@ -9,8 +9,14 @@
+
+
+
+
+
+
diff --git a/BrightGlimmer.Api/Controllers/CourseController.cs b/BrightGlimmer.Api/Controllers/CourseController.cs
new file mode 100644
index 0000000..831aff2
--- /dev/null
+++ b/BrightGlimmer.Api/Controllers/CourseController.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using BrightGlimmer.Cqrs.Queries;
+using MediatR;
+using Microsoft.AspNetCore.Mvc;
+
+namespace BrightGlimmer.Api.Controllers
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class CourseController : ControllerBase
+ {
+ private readonly IMediator mediator;
+
+ public CourseController(IMediator mediator)
+ {
+ this.mediator = mediator;
+ }
+
+ [HttpGet]
+ public ActionResult Get()
+ {
+ return "";
+ }
+ }
+}
diff --git a/BrightGlimmer.Api/Controllers/ValuesController.cs b/BrightGlimmer.Api/Controllers/ValuesController.cs
deleted file mode 100644
index bdb3968..0000000
--- a/BrightGlimmer.Api/Controllers/ValuesController.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc;
-
-namespace BrightGlimmer.Api.Controllers
-{
- [Route("api/[controller]")]
- [ApiController]
- public class ValuesController : ControllerBase
- {
- // GET api/values
- [HttpGet]
- public ActionResult> Get()
- {
- return new string[] { "value1", "value2" };
- }
-
- // GET api/values/5
- [HttpGet("{id}")]
- public ActionResult Get(int id)
- {
- return "value";
- }
-
- // POST api/values
- [HttpPost]
- public void Post([FromBody] string value)
- {
- }
-
- // PUT api/values/5
- [HttpPut("{id}")]
- public void Put(int id, [FromBody] string value)
- {
- }
-
- // DELETE api/values/5
- [HttpDelete("{id}")]
- public void Delete(int id)
- {
- }
- }
-}
diff --git a/BrightGlimmer.Api/Startup.cs b/BrightGlimmer.Api/Startup.cs
index 25e5cb1..2e982a5 100644
--- a/BrightGlimmer.Api/Startup.cs
+++ b/BrightGlimmer.Api/Startup.cs
@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using BrightGlimmer.Data;
+using MediatR;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
@@ -26,6 +28,8 @@ namespace BrightGlimmer.Api
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
+ services.AddMediatR();
+ services.AddMediatR(typeof(Cqrs.Cqrs).Assembly); // Registers handlers in Cqrs project
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@@ -44,4 +48,4 @@ namespace BrightGlimmer.Api
app.UseMvc();
}
}
-}
+}
\ No newline at end of file
diff --git a/BrightGlimmer.CQRS/BrightGlimmer.Cqrs.csproj b/BrightGlimmer.CQRS/BrightGlimmer.Cqrs.csproj
new file mode 100644
index 0000000..90d0190
--- /dev/null
+++ b/BrightGlimmer.CQRS/BrightGlimmer.Cqrs.csproj
@@ -0,0 +1,23 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BrightGlimmer.CQRS/Cqrs.cs b/BrightGlimmer.CQRS/Cqrs.cs
new file mode 100644
index 0000000..1fa640b
--- /dev/null
+++ b/BrightGlimmer.CQRS/Cqrs.cs
@@ -0,0 +1,8 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace BrightGlimmer.Cqrs
+{
+ public class Cqrs { }
+}
diff --git a/BrightGlimmer.Data/BrightGlimmer.Data.csproj b/BrightGlimmer.Data/BrightGlimmer.Data.csproj
new file mode 100644
index 0000000..43edd53
--- /dev/null
+++ b/BrightGlimmer.Data/BrightGlimmer.Data.csproj
@@ -0,0 +1,12 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
diff --git a/BrightGlimmer.Services/BrightGlimmer.Services.csproj b/BrightGlimmer.Services/BrightGlimmer.Services.csproj
new file mode 100644
index 0000000..bd2fb60
--- /dev/null
+++ b/BrightGlimmer.Services/BrightGlimmer.Services.csproj
@@ -0,0 +1,12 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
diff --git a/BrightGlimmer.sln b/BrightGlimmer.sln
index 99394db..1b7383a 100644
--- a/BrightGlimmer.sln
+++ b/BrightGlimmer.sln
@@ -5,6 +5,12 @@ VisualStudioVersion = 16.0.28803.156
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BrightGlimmer.Api", "BrightGlimmer.Api\BrightGlimmer.Api.csproj", "{3E910B69-E79C-4418-BD6B-7ABB72ECF463}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BrightGlimmer.Services", "BrightGlimmer.Services\BrightGlimmer.Services.csproj", "{AAB743E1-637F-45CF-A013-A1E612FF95C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BrightGlimmer.Data", "BrightGlimmer.Data\BrightGlimmer.Data.csproj", "{E14193BB-31C7-4E3B-81F0-A930B866EC5D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BrightGlimmer.Cqrs", "BrightGlimmer.CQRS\BrightGlimmer.Cqrs.csproj", "{AA6A646D-C493-43DC-BBE4-FF253852D9BF}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +21,18 @@ Global
{3E910B69-E79C-4418-BD6B-7ABB72ECF463}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E910B69-E79C-4418-BD6B-7ABB72ECF463}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E910B69-E79C-4418-BD6B-7ABB72ECF463}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AAB743E1-637F-45CF-A013-A1E612FF95C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AAB743E1-637F-45CF-A013-A1E612FF95C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AAB743E1-637F-45CF-A013-A1E612FF95C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AAB743E1-637F-45CF-A013-A1E612FF95C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E14193BB-31C7-4E3B-81F0-A930B866EC5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E14193BB-31C7-4E3B-81F0-A930B866EC5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E14193BB-31C7-4E3B-81F0-A930B866EC5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E14193BB-31C7-4E3B-81F0-A930B866EC5D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AA6A646D-C493-43DC-BBE4-FF253852D9BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AA6A646D-C493-43DC-BBE4-FF253852D9BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AA6A646D-C493-43DC-BBE4-FF253852D9BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AA6A646D-C493-43DC-BBE4-FF253852D9BF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE