Creado apartir del commit b888de6c92056de294456f581a56e25e734d4ab7 de develop
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using adas_core.Domain.Models.MongoModels;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace adas_core.Infrastructure.Utils;
|
||||
|
||||
public class CustomPointOfCareConverter : JsonConverter
|
||||
{
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(PointOfCare);
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
writer.WriteNull();
|
||||
return;
|
||||
}
|
||||
|
||||
var jo = JObject.FromObject(value);
|
||||
// Aquí modificas específicamente las propiedades que necesitas
|
||||
// Por ejemplo, aplicar StringEnumConverter solo a ciertas propiedades enumeradas
|
||||
|
||||
// Esto es un ejemplo, ajusta según tus necesidades
|
||||
foreach (var prop in value.GetType().GetProperties())
|
||||
if (prop.PropertyType.IsEnum)
|
||||
{
|
||||
var enumValue = prop.GetValue(value);
|
||||
if (enumValue != null) jo[prop.Name] = JToken.FromObject(enumValue.ToString() ?? string.Empty);
|
||||
}
|
||||
|
||||
jo.WriteTo(writer);
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object? existingValue,
|
||||
JsonSerializer serializer)
|
||||
{
|
||||
// Implementa la lógica de deserialización si es necesario
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user