aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Services
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Services')
-rw-r--r--ExamTemplate/Services/Models/EditUserServiceModel.cs9
-rw-r--r--ExamTemplate/Services/UserService.cs26
2 files changed, 34 insertions, 1 deletions
diff --git a/ExamTemplate/Services/Models/EditUserServiceModel.cs b/ExamTemplate/Services/Models/EditUserServiceModel.cs
new file mode 100644
index 0000000..80e5501
--- /dev/null
+++ b/ExamTemplate/Services/Models/EditUserServiceModel.cs
@@ -0,0 +1,9 @@
+namespace ExamTemplate.Services.Models
+{
+ public class EditUserServiceModel
+ {
+ public string FirstName { get; set; }
+ public string LastName { get; set; }
+ public string Username { get; set; }
+ }
+}
diff --git a/ExamTemplate/Services/UserService.cs b/ExamTemplate/Services/UserService.cs
index 6b5078b..329d21e 100644
--- a/ExamTemplate/Services/UserService.cs
+++ b/ExamTemplate/Services/UserService.cs
@@ -1,4 +1,5 @@
-using System.Threading.Tasks;
+using System.Security.Claims;
+using System.Threading.Tasks;
using AutoMapper;
using ExamTemplate.Data.Models;
using ExamTemplate.Data.Repositories;
@@ -50,5 +51,28 @@ namespace ExamTemplate.Services
return this._autoMapper.Map<UserServiceModel>(user);
}
+
+ public async Task<UserServiceModel> GetUserByClaimsAsync(ClaimsPrincipal claimsPrincipal)
+ {
+ User user = await this._userRepository.GetByClaimsAsync(claimsPrincipal);
+
+ return this._autoMapper.Map<UserServiceModel>(user);
+ }
+
+ public async Task<bool> EditUserAsync(ClaimsPrincipal claimsPrincipal, EditUserServiceModel editUserServiceModel)
+ {
+ User user = await this._userRepository.GetByClaimsAsync(claimsPrincipal);
+
+ user.UserName = editUserServiceModel.Username;
+ user.FirstName = editUserServiceModel.FirstName;
+ user.LastName = editUserServiceModel.LastName;
+
+ return await this._userRepository.EditUserAsync(user);
+ }
+
+ public bool IsSignedIn(ClaimsPrincipal claimsPrincipal)
+ {
+ return this._signInManager.IsSignedIn(claimsPrincipal);
+ }
}
}