diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-05-06 21:52:47 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-05-06 21:52:47 +0300 |
| commit | 57cc5682a0efe2b790015f77fe9d2e2a0bb6ed87 (patch) | |
| tree | f11fbf515f431db7961bf012d3d2d6a0ac050fbe /ExamTemplate/Services | |
| parent | 92c4a9a5bcfa543740d2a3e2a9682205fed7ab0b (diff) | |
| download | it-kariera-exam-template-57cc5682a0efe2b790015f77fe9d2e2a0bb6ed87.tar it-kariera-exam-template-57cc5682a0efe2b790015f77fe9d2e2a0bb6ed87.tar.gz it-kariera-exam-template-57cc5682a0efe2b790015f77fe9d2e2a0bb6ed87.zip | |
Added automapper; Implemented user register; Improved some database configurations
Diffstat (limited to 'ExamTemplate/Services')
| -rw-r--r-- | ExamTemplate/Services/Configurations/UserMappings.cs | 14 | ||||
| -rw-r--r-- | ExamTemplate/Services/Models/RegisterUserServiceModel.cs | 10 | ||||
| -rw-r--r-- | ExamTemplate/Services/Services.csproj | 4 | ||||
| -rw-r--r-- | ExamTemplate/Services/UserService.cs | 30 |
4 files changed, 58 insertions, 0 deletions
diff --git a/ExamTemplate/Services/Configurations/UserMappings.cs b/ExamTemplate/Services/Configurations/UserMappings.cs new file mode 100644 index 0000000..13c6633 --- /dev/null +++ b/ExamTemplate/Services/Configurations/UserMappings.cs @@ -0,0 +1,14 @@ +using AutoMapper; +using ExamTemplate.Data.Models; +using ExamTemplate.Services.Models; + +namespace ExamTemplate.Services.Configurations +{ + public class UserMappings : Profile + { + public UserMappings() + { + CreateMap<RegisterUserServiceModel, User>(); + } + } +} diff --git a/ExamTemplate/Services/Models/RegisterUserServiceModel.cs b/ExamTemplate/Services/Models/RegisterUserServiceModel.cs new file mode 100644 index 0000000..7a274ae --- /dev/null +++ b/ExamTemplate/Services/Models/RegisterUserServiceModel.cs @@ -0,0 +1,10 @@ +namespace ExamTemplate.Services.Models +{ + public class RegisterUserServiceModel + { + public string FirstName { get; set; } + public string LastName { get; set; } + public string Username { get; set; } + public string Password { get; set; } + } +} diff --git a/ExamTemplate/Services/Services.csproj b/ExamTemplate/Services/Services.csproj index 59fa33e..bac932a 100644 --- a/ExamTemplate/Services/Services.csproj +++ b/ExamTemplate/Services/Services.csproj @@ -5,6 +5,10 @@ <ProjectReference Include="..\Common\Common.csproj" /> </ItemGroup>
+ <ItemGroup> + <PackageReference Include="Automapper" Version="10.1.1" /> + </ItemGroup>
+
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
diff --git a/ExamTemplate/Services/UserService.cs b/ExamTemplate/Services/UserService.cs new file mode 100644 index 0000000..848edf6 --- /dev/null +++ b/ExamTemplate/Services/UserService.cs @@ -0,0 +1,30 @@ +using System.Threading.Tasks;
+using AutoMapper;
+using ExamTemplate.Data.Models;
+using ExamTemplate.Data.Repositories;
+using ExamTemplate.Services.Models;
+
+namespace ExamTemplate.Services
+{
+ public class UserService
+ {
+ private readonly IMapper _autoMapper;
+ private readonly UserRepository _userRepository;
+
+ public UserService(IMapper autoMapper, UserRepository userRepository)
+ {
+ this._autoMapper = autoMapper;
+ this._userRepository = userRepository;
+ }
+
+ public async Task<bool> RegisterUserAsync(RegisterUserServiceModel registerUserServiceModel)
+ {
+ User user = this._autoMapper.Map<User>(registerUserServiceModel);
+
+ bool userCreateResult = await this._userRepository.AddAsync(user, registerUserServiceModel.Password);
+ bool addRoleResult = await this._userRepository.AddRoleToUserAsync(user, Role.UserRole);
+
+ return userCreateResult && addRoleResult;
+ }
+ }
+}
|
