aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Web/Controllers/UserController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Web/Controllers/UserController.cs')
-rw-r--r--ExamTemplate/Web/Controllers/UserController.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/ExamTemplate/Web/Controllers/UserController.cs b/ExamTemplate/Web/Controllers/UserController.cs
new file mode 100644
index 0000000..cd472de
--- /dev/null
+++ b/ExamTemplate/Web/Controllers/UserController.cs
@@ -0,0 +1,42 @@
+using ExamTemplate.Services;
+using Microsoft.AspNetCore.Mvc;
+using ExamTemplate.Web.Models.User;
+using AutoMapper;
+using ExamTemplate.Services.Models;
+using System.Threading.Tasks;
+
+namespace ExamTemplate.Web.Controllers
+{
+ public class UserController : Controller
+ {
+ private readonly IMapper _autoMapper;
+ private readonly UserService _userService;
+
+ public UserController(IMapper autoMapper, UserService userService)
+ {
+ this._autoMapper = autoMapper;
+ this._userService = userService;
+ }
+
+ [HttpGet]
+ [Route("/Register")]
+ public IActionResult Register()
+ {
+ return View();
+ }
+
+ [HttpPost]
+ [Route("/Register")]
+ public async Task<IActionResult> Register(RegisterUserViewModel registerUserViewModel)
+ {
+ RegisterUserServiceModel registerUserServiceModel = this._autoMapper.Map<RegisterUserServiceModel>(registerUserViewModel);
+
+ bool result = await this._userService.RegisterUserAsync(registerUserServiceModel);
+
+ if (result)
+ return RedirectToAction("Index", "Home");
+ else
+ return View();
+ }
+ }
+}