Files
kreta/Kreta.WebApi/Naplo/Kreta.Naplo.Dto/V3/Converter/UidConverter.cs
T
2024-03-13 00:33:46 +01:00

22 lines
833 B
C#

using System;
using Kreta.Core.Exceptions;
using Kreta.Naplo.Domain.V3.Interfaces;
using Newtonsoft.Json;
namespace Kreta.Naplo.Dto.V3.Converter
{
public class UidConverter<T> : 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);
}
}