aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Web/Controllers
diff options
context:
space:
mode:
authorKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-05-16 05:17:37 +0000
committerKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-05-16 05:17:37 +0000
commitffd59fcdc11b8b57cab30be090d2775d2b6b1ba3 (patch)
tree3e82cb2864aec05505509e1afc01c6843f0a64a9 /ExamTemplate/Web/Controllers
parent2ac139d0854c0f6d1b4cebc1487dd41128f00c60 (diff)
parent564209043493c77fd51ac096b5a160bb20c46f12 (diff)
downloadit-kariera-exam-template-ffd59fcdc11b8b57cab30be090d2775d2b6b1ba3.tar
it-kariera-exam-template-ffd59fcdc11b8b57cab30be090d2775d2b6b1ba3.tar.gz
it-kariera-exam-template-ffd59fcdc11b8b57cab30be090d2775d2b6b1ba3.zip
Merge branch 'fuckoff' into 'master'
New structure See merge request Syndamia/it-kariera-exam-template!2
Diffstat (limited to 'ExamTemplate/Web/Controllers')
-rw-r--r--ExamTemplate/Web/Controllers/AccountController.cs146
-rw-r--r--ExamTemplate/Web/Controllers/HomeController.cs33
2 files changed, 0 insertions, 179 deletions
diff --git a/ExamTemplate/Web/Controllers/AccountController.cs b/ExamTemplate/Web/Controllers/AccountController.cs
deleted file mode 100644
index 2c2eb32..0000000
--- a/ExamTemplate/Web/Controllers/AccountController.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-using ExamTemplate.Services.Interfaces;
-using Microsoft.AspNetCore.Mvc;
-using ExamTemplate.Web.Models.User;
-using AutoMapper;
-using ExamTemplate.Services.Models.User;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Authorization;
-
-namespace ExamTemplate.Web.Controllers
-{
- [Authorize]
- public class AccountController : Controller
- {
- private readonly IMapper _autoMapper;
- private readonly IUserService _userService;
-
- public AccountController(IMapper autoMapper, IUserService userService)
- {
- this._autoMapper = autoMapper;
- this._userService = userService;
- }
-
- [HttpGet]
- [AllowAnonymous]
- public IActionResult Register()
- {
- return View();
- }
-
- [HttpPost]
- [AllowAnonymous]
- public async Task<IActionResult> Register(RegisterUserWebModel registerUserWebModel)
- {
- if (!ModelState.IsValid)
- return View(registerUserWebModel);
-
- RegisterUserServiceModel registerUserServiceModel = this._autoMapper.Map<RegisterUserServiceModel>(registerUserWebModel);
-
- bool result = await this._userService.RegisterUserAsync(registerUserServiceModel);
-
- if (result)
- return await this.Login(new LoginUserWebModel {
- Username = registerUserServiceModel.Username,
- Password = registerUserServiceModel.Password
- });
- else
- return View(registerUserWebModel);
- }
-
- [HttpGet]
- [AllowAnonymous]
- public IActionResult Login()
- {
- return View();
- }
-
- [HttpPost]
- [AllowAnonymous]
- public async Task<IActionResult> Login(LoginUserWebModel loginUserWebModel)
- {
- if (!ModelState.IsValid)
- return View(loginUserWebModel);
-
- LoginUserServiceModel loginUserServiceModel = this._autoMapper.Map<LoginUserServiceModel>(loginUserWebModel);
-
- bool result = await this._userService.LoginUserAsync(loginUserServiceModel);
-
- if (result)
- return RedirectToAction("Index", "Home");
- else
- return View(loginUserWebModel);
- }
-
- [HttpPost]
- public async Task<IActionResult> Logout()
- {
- await this._userService.LogoutAsync();
-
- return RedirectToAction("Login");
- }
-
- [HttpGet]
- [AllowAnonymous]
- public async Task<IActionResult> Profile(string username)
- {
- UserServiceModel userServiceModel = await this._userService.GetUserByUsernameAsync(username);
-
- if (userServiceModel == default(UserServiceModel))
- return RedirectToAction("ErrorNotFound", "Home");
-
- UserWebModel userWebModel = this._autoMapper.Map<UserWebModel>(userServiceModel);
-
- return View(userWebModel);
- }
-
- [HttpGet]
- public async Task<IActionResult> Edit()
- {
- UserServiceModel userServiceModel = await this._userService.GetUserByClaimsAsync(this.HttpContext.User);
-
- if (userServiceModel == default(UserServiceModel))
- return RedirectToAction("ErrorNotFound", "Home");
-
- EditUserWebModel editUserWebModel = this._autoMapper.Map<EditUserWebModel>(userServiceModel);
-
- return View(editUserWebModel);
- }
-
- [HttpPost]
- public async Task<IActionResult> Edit(EditUserWebModel editUserWebModel)
- {
- if (!ModelState.IsValid)
- return View(editUserWebModel);
-
- if (!this._userService.IsSignedIn(HttpContext.User))
- return RedirectToAction("Login");
-
- UserServiceModel loggedInUser = await this._userService.GetUserByClaimsAsync(HttpContext.User);
-
- UserServiceModel userServiceModel = this._autoMapper.Map<UserServiceModel>(editUserWebModel);
- bool result = await this._userService.EditUserAsync(HttpContext.User, userServiceModel);
-
- if (result)
- {
- if (loggedInUser.Username != editUserWebModel.Username)
- await this._userService.LogoutAsync();
-
- return RedirectToAction("Profile", new { username = editUserWebModel.Username });
- }
- else
- return RedirectToAction("Profile", new { username = loggedInUser.Username });
- }
-
- [HttpPost]
- public async Task<IActionResult> Delete()
- {
- await this._userService.LogoutAsync();
- bool result = await this._userService.DeleteUserAsync(HttpContext.User);
-
- if (result)
- return RedirectToAction("Login");
- else
- return RedirectToAction("Index", "Home");
- }
- }
-}
diff --git a/ExamTemplate/Web/Controllers/HomeController.cs b/ExamTemplate/Web/Controllers/HomeController.cs
deleted file mode 100644
index d9cfc45..0000000
--- a/ExamTemplate/Web/Controllers/HomeController.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Diagnostics;
-using ExamTemplate.Web.Models;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Logging;
-
-namespace ExamTemplate.Web.Controllers
-{
- public class HomeController : Controller
- {
- private readonly ILogger<HomeController> _logger;
-
- public HomeController(ILogger<HomeController> logger)
- {
- _logger = logger;
- }
-
- public IActionResult Index()
- {
- return View();
- }
-
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- public IActionResult Error()
- {
- return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
- }
-
- public IActionResult ErrorNotFound()
- {
- return View();
- }
- }
-}