diff --git a/Models/Helpers/EntityMapper.cs b/Models/Helpers/EntityMapper.cs index f085f39..f526ada 100644 --- a/Models/Helpers/EntityMapper.cs +++ b/Models/Helpers/EntityMapper.cs @@ -49,6 +49,18 @@ namespace Models.Helpers { destProp.SetValue(destination, sourceValue); } + else if (!destProp.PropertyType.IsPrimitive && + destProp.PropertyType != typeof(string) && + destProp.PropertyType.GetConstructor(Type.EmptyTypes) != null) + { + // Mapeo de objetos anidados + var mapMethod = typeof(EntityMapper) + .GetMethod(nameof(MapEntity), BindingFlags.Public | BindingFlags.Static)! + .MakeGenericMethod(sourceProp.PropertyType, destProp.PropertyType); + + var mappedValue = mapMethod.Invoke(null, new[] { sourceValue }); + destProp.SetValue(destination, mappedValue); + } } return destination;