namespace IRaCIS.Core.Domain.Models;

[Comment("项目 - 项目中心调研设备表")]
[Table("TrialSiteEquipmentSurvey")]
public class TrialSiteEquipmentSurvey : BaseFullAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("TrialSiteSurveyId")]
    public TrialSiteSurvey TrialSiteSurvey { get; set; }
    [JsonIgnore]
    [ForeignKey("EquipmentTypeId")]
    public Dictionary EquipmentType { get; set; }
    #endregion
    public Guid TrialSiteSurveyId { get; set; }

    [Comment("扫描设备-废弃")]
    public Guid EquipmentTypeId { get; set; }

    [Comment("扫描设备参数")]
    public string Parameters { get; set; } = string.Empty;

    [Comment("扫描设备厂商其他补充")]
    public string ManufacturerName { get; set; } = string.Empty;

    [Comment("扫描设备型号")]
    public string ScannerType { get; set; } = string.Empty;

    public string Note { get; set; } = string.Empty;

    #region 新增

    [Comment("扫描设备-New")]
    public int EquipmentTypeEnum { get; set; }

    public string OtherEquipmentType { get; set; }

    [Comment("扫描设备厂商")]
    public int? ManufacturerType { get; set; }

    [Comment("磁场强度 (1.5T / 3.0T)")]
    public int? MagneticFieldStrengthType { get; set; }

    [Comment("体部线圈通道数 (≥16 或 ＜16)")]
    public int? BodyCoilChannelCount { get; set; }

    [Comment("是否具备专用的PDFF脂肪定量序列（CSE-MRI序列）")]
    public bool? HasDedicatedPdfFatQuantificationSequence { get; set; }

    [Comment("专用的PDFF脂肪定量序列类型 (当 HasDedicatedPdfFatQuantificationSequence = true 时有效)")]
    public int? PdfFatQuantificationSequenceType { get; set; }

    [Comment("其他序列详细说明 (当 PdfFatQuantificationSequenceType = Other 时建议填写)")]
    public string OtherSequenceSpecification { get; set; }

    [Comment("是否包含 T2/R2 校正（用于铁沉积校正）")]
    public bool? HasT2R2Correction { get; set; }

    [Comment("是否可完整导出 PDFF 参数图及全部原始 DICOM 数据")]
    public bool? CanFullyExportPdfParameterMapsAndRawDicom { get; set; }

    #endregion

}

