From cabbcc1ef8f3ab711371eec6a65c255e61de413a Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 6 May 2021 22:29:54 +0300 Subject: Impllemented user login and updated navbar --- ExamTemplate/Web/Configurations/UserMappings.cs | 1 + ExamTemplate/Web/Controllers/UserController.cs | 21 +++++++++++++++++++++ ExamTemplate/Web/Models/User/LoginUserViewModel.cs | 8 ++++++++ ExamTemplate/Web/Views/Shared/_Navbar.cshtml | 18 ++++++++++++++++-- ExamTemplate/Web/Views/User/Login.cshtml | 10 ++++++++++ ExamTemplate/Web/Views/_ViewImports.cshtml | 5 +++-- 6 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 ExamTemplate/Web/Models/User/LoginUserViewModel.cs create mode 100644 ExamTemplate/Web/Views/User/Login.cshtml (limited to 'ExamTemplate/Web') diff --git a/ExamTemplate/Web/Configurations/UserMappings.cs b/ExamTemplate/Web/Configurations/UserMappings.cs index d1a5523..37476ed 100644 --- a/ExamTemplate/Web/Configurations/UserMappings.cs +++ b/ExamTemplate/Web/Configurations/UserMappings.cs @@ -9,6 +9,7 @@ namespace ExamTemplate.Services.Configurations public UserMappings() { CreateMap(); + CreateMap(); } } } diff --git a/ExamTemplate/Web/Controllers/UserController.cs b/ExamTemplate/Web/Controllers/UserController.cs index cd472de..f4b6edf 100644 --- a/ExamTemplate/Web/Controllers/UserController.cs +++ b/ExamTemplate/Web/Controllers/UserController.cs @@ -38,5 +38,26 @@ namespace ExamTemplate.Web.Controllers else return View(); } + + [HttpGet] + [Route("/Login")] + public IActionResult Login() + { + return View(); + } + + [HttpPost] + [Route("/Login")] + public async Task Login(LoginUserViewModel loginUserViewModel) + { + LoginUserServiceModel loginUserServiceModel = this._autoMapper.Map(loginUserViewModel); + + bool result = await this._userService.LoginUserAsync(loginUserServiceModel); + + if (result) + return RedirectToAction("Index", "Home"); + else + return View(); + } } } diff --git a/ExamTemplate/Web/Models/User/LoginUserViewModel.cs b/ExamTemplate/Web/Models/User/LoginUserViewModel.cs new file mode 100644 index 0000000..6430183 --- /dev/null +++ b/ExamTemplate/Web/Models/User/LoginUserViewModel.cs @@ -0,0 +1,8 @@ +namespace ExamTemplate.Web.Models.User +{ + public class LoginUserViewModel + { + public string Username { get; set; } + public string Password { get; set; } + } +} diff --git a/ExamTemplate/Web/Views/Shared/_Navbar.cshtml b/ExamTemplate/Web/Views/Shared/_Navbar.cshtml index f81d082..f60b799 100644 --- a/ExamTemplate/Web/Views/Shared/_Navbar.cshtml +++ b/ExamTemplate/Web/Views/Shared/_Navbar.cshtml @@ -1,14 +1,28 @@ +@using Microsoft.AspNetCore.Identity + +@inject SignInManager SignInManager +@inject UserManager UserManager + diff --git a/ExamTemplate/Web/Views/User/Login.cshtml b/ExamTemplate/Web/Views/User/Login.cshtml new file mode 100644 index 0000000..8df3013 --- /dev/null +++ b/ExamTemplate/Web/Views/User/Login.cshtml @@ -0,0 +1,10 @@ +@model ExamTemplate.Web.Models.User.LoginUserViewModel +@{ + ViewData["Title"] = "Login"; +} + +
+ + + +
diff --git a/ExamTemplate/Web/Views/_ViewImports.cshtml b/ExamTemplate/Web/Views/_ViewImports.cshtml index bf79573..fcc5117 100644 --- a/ExamTemplate/Web/Views/_ViewImports.cshtml +++ b/ExamTemplate/Web/Views/_ViewImports.cshtml @@ -1,3 +1,4 @@ -@using Web -@using Web.Models +@using ExamTemplate.Web +@using ExamTemplate.Web.Models +@using ExamTemplate.Data.Models @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -- cgit v1.2.3