diff --git a/src/WorkFlowCheck.API/Controllers/UserController.cs b/src/WorkFlowCheck.API/Controllers/UserController.cs index 26c9349..e801f7b 100644 --- a/src/WorkFlowCheck.API/Controllers/UserController.cs +++ b/src/WorkFlowCheck.API/Controllers/UserController.cs @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WorkFlowCheck.Common.DTO; using WorkFlowCheck.BL.Services.Interfaces; @@ -49,8 +49,8 @@ namespace WorkFlowCheck.API.Controllers return retVal; } - [HttpGet("GetAllUser")] - public async Task>> GetAllUser() + [HttpGet("GetAllUsers")] + public async Task>> GetAllUsers() { var retVal = new ApiResponseDTO>() { @@ -93,32 +93,32 @@ namespace WorkFlowCheck.API.Controllers return retVal; } [HttpPost("Authenticate")] - public async Task> Authenticate([FromBody] UserDTO userDTO) + public async Task> Authenticate([FromBody] UserDTO userSimpleDTO) { var retVal = new ApiResponseDTO() { IsSuccess = true }; - if (string.IsNullOrEmpty(userDTO.UserName) || string.IsNullOrEmpty(userDTO.Password)) + if (string.IsNullOrEmpty(userSimpleDTO.UserName) || string.IsNullOrEmpty(userSimpleDTO.Password)) { retVal.IsSuccess = false; - retVal.Errors.Add("Nem megfelelÅ‘ felhasználói név vagy jelszó"); + retVal.Errors.Add("Nem megfelelo felhasználói név vagy jelszó"); return retVal; } try { - var userDTO_Response = await _userService.Authenticate(userDTO.UserName, userDTO.Password); + var userDTO_Response = await _userService.Authenticate(userSimpleDTO.UserName, userSimpleDTO.Password); if (userDTO_Response != null) { - if (string.IsNullOrEmpty(userDTO_Response.UserName) == false && userDTO_Response.UserName == userDTO.UserName) + if (string.IsNullOrEmpty(userDTO_Response.UserName) == false && userDTO_Response.UserName == userSimpleDTO.UserName) { retVal.IsSuccess = true; retVal.Data = userDTO_Response; - Log.Information($"Sikeres azonosítás! {userDTO.UserName}"); + Log.Information($"Sikeres azonosítás! {userSimpleDTO.UserName}"); } else { - var error = $"Nem megfelelÅ‘ felhasználó vagy jelszó! {userDTO.UserName}"; + var error = $"Nem megfelelo felhasználó vagy jelszó! {userSimpleDTO.UserName}"; retVal.IsSuccess = false; retVal.Errors.Add(error); Log.Information(error); @@ -126,7 +126,7 @@ namespace WorkFlowCheck.API.Controllers } else { - var error = $"Nem megfelelÅ‘ felhasználó vagy jelszó! {userDTO.UserName}"; + var error = $"Nem megfelelo felhasználó vagy jelszó! {userSimpleDTO.UserName}"; retVal.IsSuccess = false; retVal.Errors.Add(error); Log.Information(error); @@ -171,8 +171,8 @@ namespace WorkFlowCheck.API.Controllers return retVal; } - [HttpGet("GetAllRole")] - public async Task>> GetAllRole() + [HttpGet("GetAllRoles")] + public async Task>> GetAllRoles() { var retVal = new ApiResponseDTO>() { diff --git a/src/WorkFlowCheck.Common/DTO/UserDTO.cs b/src/WorkFlowCheck.Common/DTO/UserDTO.cs index 36584b7..2ea8dda 100644 --- a/src/WorkFlowCheck.Common/DTO/UserDTO.cs +++ b/src/WorkFlowCheck.Common/DTO/UserDTO.cs @@ -1,4 +1,6 @@ -namespace WorkFlowCheck.Common.DTO +using System.ComponentModel.DataAnnotations; + +namespace WorkFlowCheck.Common.DTO { public class UserDTO { @@ -12,4 +14,9 @@ public required ICollection RoleDTO { get; set; } = new List(); } + public class UserSimpleDTO + { + public string UserName { get; set; } = null!; + public string Password { get; set; } + } } diff --git a/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml b/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml index 7718b64..de78ebf 100644 --- a/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml +++ b/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml @@ -26,15 +26,15 @@
- - - + + +
- - - + + +
diff --git a/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml.cs b/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml.cs index 4512db9..c9b3cb1 100644 --- a/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml.cs +++ b/src/WorkFlowCheck.Web/Pages/Account/Login.cshtml.cs @@ -12,7 +12,7 @@ namespace WorkFlowCheck.Web.Pages.Account private readonly IUserService _userService; [BindProperty] - public UserDTO UserDTO { get; set; } + public UserDTO UserSimpleDTO { get; set; } public string ErrorMessage { get; set; } public LoginModel(IUserService userService) @@ -25,7 +25,7 @@ namespace WorkFlowCheck.Web.Pages.Account } public async Task OnPostAsync() { - var response = await _userService.Authenticate(UserDTO.UserName, UserDTO.Password); + var response = await _userService.Authenticate(UserSimpleDTO.UserName, UserSimpleDTO.Password); if (response.IsSuccess) { diff --git a/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml b/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml index a3a1fe8..e7656d5 100644 --- a/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml +++ b/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml @@ -141,7 +141,11 @@ + + + @await RenderSectionAsync("Scripts", required: false) + \ No newline at end of file diff --git a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml index f2feb46..4a057a2 100644 --- a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml +++ b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml @@ -1,4 +1,83 @@ @page @model WorkFlowCheck.Web.Pages.UserAndRole.UserEditPageModel +@using Microsoft.AspNetCore.Antiforgery +@inject IAntiforgery Antiforgery @{ + ViewData["Title"] = "Ellenőrzési pont"; + var UserId = Model.User.Id; + var urlPost = Url.Page("./UserEditPage", "Save"); } +

@ViewData["Title"]

+ + + +
+ + + +
+ + + +
+
+ + + +
+
+ + + +
+
+ + +
+ +
+ +@section Scripts { + +} \ No newline at end of file diff --git a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml.cs b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml.cs index 6b9bf1e..d881086 100644 --- a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml.cs +++ b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml.cs @@ -1,12 +1,27 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using WorkFlowCheck.Common.DTO; +using WorkFlowCheck.Web.Services.Interfaces; namespace WorkFlowCheck.Web.Pages.UserAndRole { public class UserEditPageModel : PageModel { - public void OnGet() + private readonly ILogger _logger; + private readonly IUserService _userService; + + [BindProperty] + public UserDTO User { get; set; } + + public UserEditPageModel(ILogger logger, IUserService userService) { + _userService = userService; + _logger = logger; + } + + public async Task OnGet(int id) + { + User = await _userService.GetUser(id); } } } diff --git a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml index e08894c..8ed3b72 100644 --- a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml +++ b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml @@ -1,4 +1,99 @@ @page @model WorkFlowCheck.Web.Pages.UserAndRole.UserPageModel @{ + ViewData["Title"] = "Felhasználók"; +} +

@ViewData["Title"]

+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
IDFirst NameLast NameUser NameE-mailAction
IDFirst NameLast NameUser NameE-mailAction
+
+ +@section Scripts { + } diff --git a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml.cs b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml.cs index 4be5364..71d8cde 100644 --- a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml.cs +++ b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml.cs @@ -1,12 +1,26 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using WorkFlowCheck.Web.Services; +using WorkFlowCheck.Web.Services.Interfaces; namespace WorkFlowCheck.Web.Pages.UserAndRole { public class UserPageModel : PageModel { - public void OnGet() + private readonly ILogger _logger; + private readonly IUserService _userService; + public UserPageModel(ILogger logger, IUserService userService) { + _logger = logger; + _userService = userService; + } + public async Task OnGet() + { + } + public async Task OnGetLoadUsers() + { + var results = await _userService.GetAllUsers(); + return new JsonResult(new { data = results }); } } } diff --git a/src/WorkFlowCheck.Web/Services/Interfaces/IUserService.cs b/src/WorkFlowCheck.Web/Services/Interfaces/IUserService.cs index f82e325..2271701 100644 --- a/src/WorkFlowCheck.Web/Services/Interfaces/IUserService.cs +++ b/src/WorkFlowCheck.Web/Services/Interfaces/IUserService.cs @@ -4,18 +4,18 @@ namespace WorkFlowCheck.Web.Services.Interfaces { public interface IUserService { - Task> GetUser(int id); - Task>> GetAllUsers(); - Task> UpdateUser(UserDTO user); + Task GetUser(int id); + Task> GetAllUsers(); + Task UpdateUser(UserDTO user); Task> Authenticate(string username, string password); - Task> GetRole(int id); - Task>> GetAllRoles(); - Task> UpdateRole(RoleDTO role); + Task GetRole(int id); + Task> GetAllRoles(); + Task UpdateRole(RoleDTO role); - Task> GetUserRole(int id); - Task>> GetAllUserRoles(); - Task> UpdateUserRole(UserRoleDTO userRole); + Task GetUserRole(int id); + Task> GetAllUserRoles(); + Task UpdateUserRole(UserRoleDTO userRole); } diff --git a/src/WorkFlowCheck.Web/Services/UserService.cs b/src/WorkFlowCheck.Web/Services/UserService.cs index 5db51eb..89ff6b7 100644 --- a/src/WorkFlowCheck.Web/Services/UserService.cs +++ b/src/WorkFlowCheck.Web/Services/UserService.cs @@ -1,5 +1,6 @@  using Newtonsoft.Json; +using Serilog; using WorkFlowCheck.Common.DTO; using WorkFlowCheck.Web.Services.Interfaces; @@ -15,23 +16,17 @@ namespace WorkFlowCheck.Web.Services try { // Az API végpont meghatározása - string endpoint = $"{_httpClient.BaseAddress}api/user/authenticate"; + string endpoint = $"{_httpClient.BaseAddress}api/User/Authenticate"; - var userDTO = new UserDTO() + var userSimpleDTO = new UserSimpleDTO() { - Email = "", - FirstName = "", - LastName = "", - Id = 0, UserName = username, Password = password, - JwtToken = "", - RoleDTO = new List(), + }; + - // HTTP POST kérés küldése - - using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userDTO)) + using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userSimpleDTO)) { httpResponseMessage.EnsureSuccessStatusCode(); @@ -53,5 +48,58 @@ namespace WorkFlowCheck.Web.Services }; } } + + public Task>> GetAllRoles() => throw new NotImplementedException(); + public Task>> GetAllUserRoles() => throw new NotImplementedException(); + public async Task> GetAllUsers() + { + string endpoint = $"{_httpClient.BaseAddress}api/User/GetAllUsers"; + var retVal = new List(); + try + { + var response = await _httpClient.GetFromJsonAsync>>(endpoint); + if (response != null) + { + if (response.IsSuccess) + { + return response.Data; + } + } + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + return retVal; + } + + public Task GetRole(int id) => throw new NotImplementedException(); + public async Task GetUser(int id) + { + string endpoint = $"{_httpClient.BaseAddress}api/User/GetUser/{id}"; + var retVal = new UserDTO() { RoleDTO = new List() }; + try + { + var response = await _httpClient.GetFromJsonAsync>(endpoint); + if (response != null) + { + if (response.IsSuccess) + { + return response.Data; + } + } + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + return retVal; + } + public Task GetUserRole(int id) => throw new NotImplementedException(); + public Task UpdateRole(RoleDTO role) => throw new NotImplementedException(); + public Task UpdateUser(UserDTO user) => throw new NotImplementedException(); + public Task UpdateUserRole(UserRoleDTO userRole) => throw new NotImplementedException(); + Task> IUserService.GetAllRoles() => throw new NotImplementedException(); + Task> IUserService.GetAllUserRoles() => throw new NotImplementedException(); } }