using System; using Kreta.Core.Exceptions; using Kreta.Naplo.Domain.V3.Interfaces; using Newtonsoft.Json; namespace Kreta.Naplo.Dto.V3.Converter { public class UidConverter : JsonConverter where T : IReadonlyUidRaw { public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteValue(value is IReadonlyUidRaw propertyValue ? propertyValue.UidRaw : throw new BlException(Core.Enum.BlExceptionType.ElvartErtekNemTalalhato)); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) => throw new NotImplementedException(); public override bool CanRead => false; public override bool CanConvert(Type objectType) => objectType == typeof(string); } }