From ee2d16925a380476b13cbaf9fb28fc837acf7a53 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 17 Apr 2026 19:21:30 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=20=E0=B8=A3=E0=B8=B1=E0=B8=81=E0=B8=A9=E0=B8=B2=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=20=E0=B8=96=E0=B9=89=E0=B8=B2=E0=B9=84?= =?UTF-8?q?=E0=B8=A1=E0=B9=88=E0=B9=84=E0=B8=94=E0=B9=89=E0=B9=83=E0=B8=AA?= =?UTF-8?q?=E0=B9=88=20privilage=20=E0=B8=A1=E0=B8=B2=E0=B8=88=E0=B8=B0?= =?UTF-8?q?=E0=B9=83=E0=B8=AB=E0=B9=89=20default=20=3D=20"PARENT"=20#2431?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Leaves/GetPermissionWithActingDto.cs | 7 ++++- BMA.EHR.Domain/Shared/PrivilegeConverter.cs | 30 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 BMA.EHR.Domain/Shared/PrivilegeConverter.cs diff --git a/BMA.EHR.Application/Responses/Leaves/GetPermissionWithActingDto.cs b/BMA.EHR.Application/Responses/Leaves/GetPermissionWithActingDto.cs index 0050f7d1..dc4cbdb9 100644 --- a/BMA.EHR.Application/Responses/Leaves/GetPermissionWithActingDto.cs +++ b/BMA.EHR.Application/Responses/Leaves/GetPermissionWithActingDto.cs @@ -2,6 +2,8 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using BMA.EHR.Domain.Shared; +using Newtonsoft.Json; namespace BMA.EHR.Application.Responses.Leaves { @@ -15,7 +17,10 @@ namespace BMA.EHR.Application.Responses.Leaves public class ActingPermission { public string posNo {get; set;} = string.Empty; - public string privilege {get; set;} = string.Empty; + //public string? privilege {get; set;} = "PARENT"; + [JsonConverter(typeof(PrivilegeConverter))] + public string privilege {get; set;} = "PARENT"; + public Guid? rootDnaId {get; set;} public Guid? child1DnaId {get; set;} public Guid? child2DnaId {get; set;} diff --git a/BMA.EHR.Domain/Shared/PrivilegeConverter.cs b/BMA.EHR.Domain/Shared/PrivilegeConverter.cs new file mode 100644 index 00000000..fa806658 --- /dev/null +++ b/BMA.EHR.Domain/Shared/PrivilegeConverter.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Newtonsoft.Json; + +namespace BMA.EHR.Domain.Shared +{ + public class PrivilegeConverter : JsonConverter +{ + public override bool CanConvert(Type objectType) + { + return objectType == typeof(string); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) + { + return "PARENT"; + } + return reader.Value; + } + + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + writer.WriteValue(value); + } +} +} \ No newline at end of file