aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Web
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2021-05-06 22:29:54 +0300
committerSyndamia <kamen.d.mladenov@protonmail.com>2021-05-06 22:29:54 +0300
commitcabbcc1ef8f3ab711371eec6a65c255e61de413a (patch)
tree68613d777304ccd80e4e33f452dfef7b10f12206 /ExamTemplate/Web
parent57cc5682a0efe2b790015f77fe9d2e2a0bb6ed87 (diff)
downloadit-kariera-exam-template-cabbcc1ef8f3ab711371eec6a65c255e61de413a.tar
it-kariera-exam-template-cabbcc1ef8f3ab711371eec6a65c255e61de413a.tar.gz
it-kariera-exam-template-cabbcc1ef8f3ab711371eec6a65c255e61de413a.zip
Impllemented user login and updated navbar
Diffstat (limited to 'ExamTemplate/Web')
-rw-r--r--ExamTemplate/Web/Configurations/UserMappings.cs1
-rw-r--r--ExamTemplate/Web/Controllers/UserController.cs21
-rw-r--r--ExamTemplate/Web/Models/User/LoginUserViewModel.cs8
-rw-r--r--ExamTemplate/Web/Views/Shared/_Navbar.cshtml18
-rw-r--r--ExamTemplate/Web/Views/User/Login.cshtml10
-rw-r--r--ExamTemplate/Web/Views/_ViewImports.cshtml5
6 files changed, 59 insertions, 4 deletions
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<RegisterUserViewModel, RegisterUserServiceModel>();
+ CreateMap<LoginUserViewModel, LoginUserServiceModel>();
}
}
}
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<IActionResult> Login(LoginUserViewModel loginUserViewModel)
+ {
+ LoginUserServiceModel loginUserServiceModel = this._autoMapper.Map<LoginUserServiceModel>(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<User> SignInManager
+@inject UserManager<User> UserManager
+
<nav class="navbar border-bottom box-shadow">
<div class="middle-content-container navbar-contents">
<section>
<b>
<a asp-controller="Home" asp-action="Index">Web</a>
</b>
+ <a asp-controller="Home" asp-action="Index">Home</a>
+ <a asp-controller="Home" asp-action="Privacy">Privacy</a>
</section>
<div class="flex-spacer"></div>
<section>
- <a asp-controller="Home" asp-action="Index">Home</a>
- <a asp-controller="Home" asp-action="Privacy">Privacy</a>
+ @if (SignInManager.IsSignedIn(User))
+ {
+ <a asp-controller="User" asp-action="">@UserManager.GetUserName(User)</a>
+ }
+ else
+ {
+ <a asp-controller="User" asp-action="Login">Login</a>
+ <a asp-controller="User" asp-action="Register">Register</a>
+ }
</section>
</div>
</nav>
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";
+}
+
+<form asp-controller="User" asp-action="Login" method="post">
+ <input type="text" asp-for="Username" placeholder="Username">
+ <input type="password" asp-for="Password" placeholder="Password">
+ <input type="submit">
+</form>
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