aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Services
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Services')
-rw-r--r--ExamTemplate/Services/Models/LoginUserServiceModel.cs8
-rw-r--r--ExamTemplate/Services/Services.csproj1
-rw-r--r--ExamTemplate/Services/UserService.cs14
3 files changed, 22 insertions, 1 deletions
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 @@
<ItemGroup>
<PackageReference Include="Automapper" Version="10.1.1" />
+ <PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />
</ItemGroup>
<PropertyGroup>
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;
+ }
}
}