namespace DocuMed.Domain.Entities.MedicalHistoryTemplate;

[AdaptTwoWays("[name]SDto", IgnoreAttributes = new[] { typeof(AdaptIgnoreAttribute) }, MapType = MapType.Map | MapType.MapToTarget | MapType.Projection)]
[GenerateMapper]
public partial class MedicalHistoryQuestion : ApiEntity
{
    public MedicalHistoryQuestion()
    {
        
    }
    public MedicalHistoryQuestion(
        string question,
        MedicalHistoryPart part,
        MedicalHistoryQuestionType questionType,
        Guid medicalHistoryTemplateId,
        BodySystem bodySystem, 
        bool isSign, 
        bool isSymptom)
    {
        Question = question;
        Part = part;
        QuestionType = questionType;
        MedicalHistoryTemplateId = medicalHistoryTemplateId;
        BodySystem = bodySystem;
        IsSign = isSign;
        IsSymptom = isSymptom;
    }

    public string Question { get; internal set; } = string.Empty;
    public MedicalHistoryPart Part { get; internal set; }
    public MedicalHistoryQuestionType QuestionType { get; internal set; }

    public BodySystem BodySystem { get; internal set; }
    public bool IsSign { get; internal set; }
    public bool IsSymptom { get; internal set; }

    public Guid MedicalHistoryTemplateId { get; internal set; }
    public MedicalHistoryTemplate? MedicalHistoryTemplate { get; internal set; }
}