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/Services/Models/LoginUserServiceModel.cs | 8 ++++++++ ExamTemplate/Services/Services.csproj | 1 + ExamTemplate/Services/UserService.cs | 14 +++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ExamTemplate/Services/Models/LoginUserServiceModel.cs (limited to 'ExamTemplate/Services') diff --git a/ExamTemplate/Services/Models/LoginUserServiceModel.cs b/ExamTemplate/Services/Models/LoginUserServiceModel.cs new file mode 100644 index 0000000..1d8a2f8 --- /dev/null +++ b/ExamTemplate/Services/Models/LoginUserServiceModel.cs @@ -0,0 +1,8 @@ +namespace ExamTemplate.Services.Models +{ + public class LoginUserServiceModel + { + public string Username { get; set; } + public string Password { get; set; } + } +} diff --git a/ExamTemplate/Services/Services.csproj b/ExamTemplate/Services/Services.csproj index bac932a..9383013 100644 --- a/ExamTemplate/Services/Services.csproj +++ b/ExamTemplate/Services/Services.csproj @@ -7,6 +7,7 @@ + diff --git a/ExamTemplate/Services/UserService.cs b/ExamTemplate/Services/UserService.cs index 848edf6..f8075f5 100644 --- a/ExamTemplate/Services/UserService.cs +++ b/ExamTemplate/Services/UserService.cs @@ -3,6 +3,7 @@ using AutoMapper; using ExamTemplate.Data.Models; using ExamTemplate.Data.Repositories; using ExamTemplate.Services.Models; +using Microsoft.AspNetCore.Identity; namespace ExamTemplate.Services { @@ -10,11 +11,13 @@ namespace ExamTemplate.Services { private readonly IMapper _autoMapper; private readonly UserRepository _userRepository; + private readonly SignInManager _signInManager; - public UserService(IMapper autoMapper, UserRepository userRepository) + public UserService(IMapper autoMapper, UserRepository userRepository, SignInManager signInManager) { this._autoMapper = autoMapper; this._userRepository = userRepository; + this._signInManager = signInManager; } public async Task RegisterUserAsync(RegisterUserServiceModel registerUserServiceModel) @@ -26,5 +29,14 @@ namespace ExamTemplate.Services return userCreateResult && addRoleResult; } + + public async Task LoginUserAsync(LoginUserServiceModel loginUserServiceModel) + { + User user = await this._userRepository.GetByUsernameAsync(loginUserServiceModel.Username); + + var result = await this._signInManager.PasswordSignInAsync(loginUserServiceModel.Username, loginUserServiceModel.Password, false, false); + + return result.Succeeded; + } } } -- cgit v1.2.3