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