134 lines
6.5 KiB
C#
134 lines
6.5 KiB
C#
using adas_core.Domain.Enums;
|
|
using adas_core.Domain.Models.GroupedObservations;
|
|
using adas_core.Domain.Models.MongoModels;
|
|
using adas_core.Infrastructure.Utils.MongoMaps.Interfaz;
|
|
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization;
|
|
using MongoDB.Bson.Serialization.Serializers;
|
|
|
|
namespace adas_core.Infrastructure.Utils.MongoMaps;
|
|
|
|
public class DisplayMapContributor : IEntityMapContributor
|
|
{
|
|
public void RegisterMaps()
|
|
{
|
|
if (!BsonClassMap.IsClassMapRegistered(typeof(Display)))
|
|
BsonClassMap.RegisterClassMap<Display>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
|
cm.UnmapProperty(c => c.Unit);
|
|
cm.UnmapProperty(c => c.PointOfCares);
|
|
cm.UnmapProperty(c => c.DisplayConfig);
|
|
cm.MapMember(c => c.Type)
|
|
.SetDefaultValue(DisplayConfigEnums.DisplayType.Unknown)
|
|
.SetSerializer(new EnumSerializer<DisplayConfigEnums.DisplayType>(BsonType.String));
|
|
});
|
|
|
|
if (!BsonClassMap.IsClassMapRegistered(typeof(DisplayNurse)))
|
|
BsonClassMap.RegisterClassMap<DisplayNurse>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
});
|
|
|
|
if (!BsonClassMap.IsClassMapRegistered(typeof(StandarDisplay)))
|
|
BsonClassMap.RegisterClassMap<StandarDisplay>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
cm.MapMember(c => c.SectionConfig).SetIgnoreIfNull(true);
|
|
});
|
|
|
|
if (!BsonClassMap.IsClassMapRegistered(typeof(SmartDisplay)))
|
|
BsonClassMap.RegisterClassMap<SmartDisplay>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
|
|
});
|
|
|
|
if (!BsonClassMap.IsClassMapRegistered(typeof(PumpDisplay)))
|
|
BsonClassMap.RegisterClassMap<PumpDisplay>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
});
|
|
|
|
if (!BsonClassMap.IsClassMapRegistered(typeof(DisplayConfig)))
|
|
{
|
|
BsonClassMap.RegisterClassMap<DisplayConfig>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
cm.AddKnownType(typeof(DisplayNurse));
|
|
cm.AddKnownType(typeof(StandarDisplay));
|
|
cm.AddKnownType(typeof(SmartDisplay));
|
|
cm.AddKnownType(typeof(PumpDisplay));
|
|
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
|
cm.MapMember(c => c.Type)
|
|
.SetDefaultValue(DisplayConfigEnums.DisplayType.Unknown)
|
|
.SetSerializer(new EnumSerializer<DisplayConfigEnums.DisplayType>(BsonType.String));
|
|
cm.MapMember(c => c.MediaFolder).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.CardConfigId).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.CardConfig)
|
|
.SetIgnoreIfNull(true)
|
|
.SetIsRequired(false);
|
|
cm.MapMember(c => c.DetailConfigId).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.DetailConfig)
|
|
.SetIgnoreIfNull(true)
|
|
.SetIsRequired(false);
|
|
cm.MapMember(c => c.HomeBanner).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.FormConfig)
|
|
.SetDefaultValue(new FormConfig
|
|
{
|
|
Admission = new FormItemOverview { Nhc = true },
|
|
Demographic = new FormItemOverview { Nhc = true },
|
|
Discharge = new FormItemOverview { Nhc = true },
|
|
IncomeInfo = new FormItemOverview { Nhc = true }
|
|
});
|
|
cm.MapMember(c => c.HasCameras).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.HasSound).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.IsRotationEnabled).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.CanChangeCameraMode).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.CamerasAreActive).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.CameraStreamType).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.SensorList).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.ObservationForIndicator).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.AlarmFieldList).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.RequestGroupedFieldList).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.Pumps).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.ChartConfig).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.GraphLayout).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.CardRotatingLayout).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.ChartConfigIdList).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.HomeConfig).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.HeaderConfig).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.DisplaySectionIdList).SetDefaultValue(new List<ObjectId>());
|
|
cm.MapMember(c => c.Hospital).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.ColorConfig).SetDefaultValue(new ColorConfig());
|
|
cm.MapMember(c => c.FieldList).SetDefaultValue(new List<Field>());
|
|
cm.MapMember(c => c.GroupedFieldList).SetDefaultValue(new List<GroupedField>());
|
|
|
|
cm.UnmapProperty(c => c.DisplaySectionList);
|
|
// cm.UnmapProperty(c => c.CardConfig);
|
|
});
|
|
|
|
BsonClassMap.RegisterClassMap<GroupedField>(cm =>
|
|
{
|
|
cm.AutoMap();
|
|
cm.MapMember(c => c.Name).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.Names).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.Group).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.StartTimeShift).SetIgnoreIfNull(true);
|
|
cm.MapMember(c => c.Max);
|
|
cm.MapMember(c => c.Regularity)
|
|
.SetIgnoreIfNull(true)
|
|
.SetSerializer(new NullableSerializer<GroupedObservationEnum.Regularity>(
|
|
new EnumSerializer<GroupedObservationEnum.Regularity>(BsonType.String)));
|
|
cm.MapMember(c => c.Since)
|
|
.SetDefaultValue(GroupedObservationEnum.Since.Last)
|
|
.SetSerializer(new EnumSerializer<GroupedObservationEnum.Since>(BsonType.String));
|
|
cm.MapMember(c => c.Result)
|
|
.SetIgnoreIfNull(true);
|
|
//.SetSerializer(new EnumSerializer<GroupedObservationEnum.Result>(BsonType.Array));
|
|
cm.MapMember(c => c.LabelList).SetIgnoreIfNull(true);
|
|
});
|
|
}
|
|
}
|
|
} |