using adas_core.Domain.Models.MongoModels;
using adas_core.Infrastructure.Utils.MongoMaps.Interfaz;
using MongoDB.Bson.Serialization;

namespace adas_core.Infrastructure.Utils.MongoMaps;

public class ObsUnitMapContributor : IEntityMapContributor
{
    public void RegisterMaps()
    {
        if (!BsonClassMap.IsClassMapRegistered(typeof(ConfigUnits)))
            BsonClassMap.RegisterClassMap<ConfigUnits>(cm =>
            {
                cm.AutoMap();
                cm.MapIdMember(c => c.Id).SetElementName("_id").SetDefaultValue(string.Empty);
                cm.MapMember(c => c.Items).SetIgnoreIfNull(true);
            });

        if (!BsonClassMap.IsClassMapRegistered(typeof(ConfigUnitItem)))
            BsonClassMap.RegisterClassMap<ConfigUnitItem>(cm =>
            {
                cm.AutoMap();
                cm.GetMemberMap(c => c.Code).SetIgnoreIfNull(true);
                cm.GetMemberMap(c => c.Value).SetIgnoreIfNull(true);
            });
    }
}