aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Services/UserService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Services/UserService.cs')
-rw-r--r--ExamTemplate/Services/UserService.cs14
1 files changed, 13 insertions, 1 deletions
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<User> _signInManager;
- public UserService(IMapper autoMapper, UserRepository userRepository)
+ public UserService(IMapper autoMapper, UserRepository userRepository, SignInManager<User> signInManager)
{
this._autoMapper = autoMapper;
this._userRepository = userRepository;
+ this._signInManager = signInManager;
}
public async Task<bool> RegisterUserAsync(RegisterUserServiceModel registerUserServiceModel)
@@ -26,5 +29,14 @@ namespace ExamTemplate.Services
return userCreateResult && addRoleResult;
}
+
+ public async Task<bool> 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;
+ }
}
}