diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-05-08 18:10:08 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-05-08 18:10:08 +0300 |
| commit | 82d270a66b8ffca28e321f29b2eb90b2412ac9a7 (patch) | |
| tree | bd7e985592a0d8d5ec31b590b3c52d403e17e140 /ExamTemplate/Web/Controllers/UserController.cs | |
| parent | a1e46b76a1299e35b1ac8cae69e77c66d74224a6 (diff) | |
| download | it-kariera-exam-template-82d270a66b8ffca28e321f29b2eb90b2412ac9a7.tar it-kariera-exam-template-82d270a66b8ffca28e321f29b2eb90b2412ac9a7.tar.gz it-kariera-exam-template-82d270a66b8ffca28e321f29b2eb90b2412ac9a7.zip | |
Implemented authorization; Replaced Role with IdentityRole<Guid>; Renamed UserController to AccountController, updated links
Diffstat (limited to 'ExamTemplate/Web/Controllers/UserController.cs')
| -rw-r--r-- | ExamTemplate/Web/Controllers/UserController.cs | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/ExamTemplate/Web/Controllers/UserController.cs b/ExamTemplate/Web/Controllers/UserController.cs deleted file mode 100644 index c7183ca..0000000 --- a/ExamTemplate/Web/Controllers/UserController.cs +++ /dev/null @@ -1,131 +0,0 @@ -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) - { - if (!ModelState.IsValid) - return View(registerUserViewModel); - - RegisterUserServiceModel registerUserServiceModel = this._autoMapper.Map<RegisterUserServiceModel>(registerUserViewModel); - - bool result = await this._userService.RegisterUserAsync(registerUserServiceModel); - - if (result) - return RedirectToAction("Index", "Home"); - else - return View(); - } - - [HttpGet] - [Route("/Login")] - public IActionResult Login() - { - return View(); - } - - [HttpPost] - [Route("/Login")] - public async Task<IActionResult> Login(LoginUserViewModel loginUserViewModel) - { - if (!ModelState.IsValid) - return View(loginUserViewModel); - - LoginUserServiceModel loginUserServiceModel = this._autoMapper.Map<LoginUserServiceModel>(loginUserViewModel); - - bool result = await this._userService.LoginUserAsync(loginUserServiceModel); - - if (result) - return RedirectToAction("Index", "Home"); - else - return View(); - } - - [HttpPost] - public async Task<IActionResult> Logout() - { - await this._userService.LogoutAsync(); - - return RedirectToAction("Login"); - } - - [HttpGet] - [Route("/Profile/{username}")] - public async Task<IActionResult> Profile(string username) - { - UserServiceModel userServiceModel = await this._userService.GetUserByUsernameAsync(username); - - if (userServiceModel == default(UserServiceModel)) - return RedirectToAction("Login"); - - UserViewModel userViewModel = this._autoMapper.Map<UserViewModel>(userServiceModel); - - return View(userViewModel); - } - - [HttpGet] - [Route("/EditProfile")] - public async Task<IActionResult> EditProfile() - { - UserServiceModel userServiceModel = await this._userService.GetUserByClaimsAsync(this.HttpContext.User); - - if (userServiceModel == default(UserServiceModel)) - return RedirectToAction("Login"); - - EditUserViewModel editUserViewModel = this._autoMapper.Map<EditUserViewModel>(userServiceModel); - - return View(editUserViewModel); - } - - [HttpPost] - [Route("/EditProfile")] - public async Task<IActionResult> EditProfile(EditUserViewModel editUserViewModel) - { - if (!ModelState.IsValid) - return View(editUserViewModel); - - if (!this._userService.IsSignedIn(HttpContext.User)) - return RedirectToAction("Login"); - - UserServiceModel loggedInUser = await this._userService.GetUserByClaimsAsync(HttpContext.User); - - EditUserServiceModel editUserServiceModel = this._autoMapper.Map<EditUserServiceModel>(editUserViewModel); - bool result = await this._userService.EditUserAsync(HttpContext.User, editUserServiceModel); - - if (result) - { - if (loggedInUser.Username != editUserViewModel.Username) - await this._userService.LogoutAsync(); - - return RedirectToAction("Profile", new { username = editUserViewModel.Username }); - } - else - return RedirectToAction("Profile", new { username = loggedInUser.Username }); - } - } -} |
