diff --git a/src/WorkFlowCheck.Common/DTO/UserDTO.cs b/src/WorkFlowCheck.Common/DTO/UserDTO.cs index e16f2a7..9b760fa 100644 --- a/src/WorkFlowCheck.Common/DTO/UserDTO.cs +++ b/src/WorkFlowCheck.Common/DTO/UserDTO.cs @@ -1,21 +1,39 @@ -using System.ComponentModel.DataAnnotations; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; namespace WorkFlowCheck.Common.DTO { public class UserDTO { public int Id { get; set; } - public string Email { get; set; } = null!; + [Required(ErrorMessage = "Az utónév kötelező.")] + [DisplayName("E-mail")] + public string Email { get; set; } = null!; + + [Required(ErrorMessage = "Az utónév kötelező.")] + [DisplayName("Utónév")] public string FirstName { get; set; } = null!; + [Required(ErrorMessage = "Az vezetéknév kötelező.")] + [DisplayName("Vezetéknév")] public string LastName { get; set; } = null!; + [Required(ErrorMessage = "A felhasználónév kötelező.")] + [DisplayName("Felhasználó neve")] public string UserName { get;set; } = null!; + + [DisplayName("Jelszó")] public string Password { get; set; } + public string JwtToken { get; set; } = null!; + + [DisplayName("Aktív")] public bool Active { get; set; } + + [DisplayName("NFC belépés")] public bool NFCActive { get; set; } + public ICollection? RoleDTO { get; set; } = new List(); } } diff --git a/src/WorkFlowCheck.Common/Helper/DisplayNameHelper.cs b/src/WorkFlowCheck.Common/Helper/DisplayNameHelper.cs new file mode 100644 index 0000000..8f4cf9f --- /dev/null +++ b/src/WorkFlowCheck.Common/Helper/DisplayNameHelper.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WorkFlowCheck.Common.Helper +{ + public static class DisplayNameHelper + { + public static string GetDisplayName(string propertyName, Type modelType) + { + var property = modelType.GetProperty(propertyName); + var displayNameAttribute = property?.GetCustomAttributes(typeof(DisplayNameAttribute), false) + .FirstOrDefault() as DisplayNameAttribute; + + return displayNameAttribute?.DisplayName ?? propertyName; + } + } + +} diff --git a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml index 5f65c28..7537a2d 100644 --- a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml +++ b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserEditPage.cshtml @@ -48,6 +48,16 @@ +
+ + + +
+
+ + + +
@@ -102,35 +112,13 @@ var formData = getFormAsNestedObject('#UserForm'); const $form = $('#UserForm'); - formData.User.RoleDTO=[]; + formData.UserDTO.RoleDTO=[]; + formData.UserDTO.Active = $('#UserForm input[name="UserDTO.Active"]').is(':checked'); + formData.UserDTO.NFCActive = $('#UserForm input[name="UserDTO.NFCActive"]').is(':checked'); if ($form.valid()) { - $.ajax({ - url: $('#UserEditPostUrl').val(), - type: 'POST', - headers: { - 'X-CSRF-TOKEN': csrfToken, - 'Content-Type': 'application/json' - }, - data: JSON.stringify(formData.User), - success: function (response) { - showMessageModal({ - title: 'Figyelmem!', - message: 'Sikeres mentés.', - okText: 'Értettem' - }); - }, - error: function (xhr, status, error) { - // Hiba esetén - console.error("Hiba: ", error); - showMessageModal({ - title: 'Hiba!', - message: 'A mentés NEM sikerült!', - okText: 'Értettem' - }); - } - }); + saveEntity(csrfToken, formData.UserDTO, $('#UserEditPostUrl').val()); } else { $form[0].reportValidity(); diff --git a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml index 6ee7566..ebe94e7 100644 --- a/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml +++ b/src/WorkFlowCheck.Web/Pages/UserAndRole/UserPage.cshtml @@ -1,5 +1,7 @@ @page @model WorkFlowCheck.Web.Pages.UserAndRole.UserPageModel +@using WorkFlowCheck.Common.Helper +@using WorkFlowCheck.Common.DTO @{ ViewData["Title"] = "Felhasználók"; } @@ -15,20 +17,24 @@ ID - First Name - Last Name - User Name - E-mail + @DisplayNameHelper.GetDisplayName("Active", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("NFCActive", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("FirstName", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("LastName", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("UserName", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("Email", typeof(UserDTO)) Action ID - First Name - Last Name - User Name - E-mail + @DisplayNameHelper.GetDisplayName("Active", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("NFCActive", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("FirstName", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("LastName", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("UserName", typeof(UserDTO)) + @DisplayNameHelper.GetDisplayName("Email", typeof(UserDTO)) Action @@ -45,6 +51,26 @@ }, columns: [ { data: "id" }, + { + data: "active", + searchable: false, + sortable: false, + className: "text-center", + render: function ( data, type, row ) { + return renderCheckBox(data); + } + + }, + { + data: "nfcActive", + searchable: false, + sortable: false, + className: "text-center", + render: function ( data, type, row ) { + return renderCheckBox(data); + } + + }, { data: "firstName" }, { data: "lastName" }, { data: "userName" }, @@ -59,7 +85,7 @@ "visible": false }, { - "targets": 5, + "targets": 7, "className": "text-center", "width": "10%" } diff --git a/src/WorkFlowCheck.Web/Services/Interfaces/IBaseStockService.cs b/src/WorkFlowCheck.Web/Services/Interfaces/IBaseStockService.cs index db25838..634d7ad 100644 --- a/src/WorkFlowCheck.Web/Services/Interfaces/IBaseStockService.cs +++ b/src/WorkFlowCheck.Web/Services/Interfaces/IBaseStockService.cs @@ -7,13 +7,13 @@ namespace WorkFlowCheck.Web.Services.Interfaces { Task GetCheckPoint(int id); - Task DeleteCheckpoint(int id); + Task DeleteCheckPoint(int id); Task> GetAllCheckPoints(); Task> UpdateCheckPoint(CheckPointDTO checkPointDTO); Task GetEquipment(int id); - Task EquipmentLocation(int id); + Task DeleteEquipment(int id); Task> GetAllEquipments(); Task> UpdateEquipment(EquipmentDTO equipmentDTO);