namespace DocuMed.Domain.CommandQueries.Commands;

public sealed record CreateMedicalHistoryCommand(
    string ChiefComplaint,
    Guid SectionId,
    string FirstName,
    string LastName,
    string FatherName,
    string NationalId,
    DateTime BirthDate,
    string PresentIllnessDetail,
    string PastDiseasesHistoryDetail,
    string PastSurgeryHistoryDetail,
    string FamilyHistoryDetail,
    string AllergyDetail,
    string DrugHistoryDetail,
    string AddictionHistoryDetail,
    string SystemReviewDetail,
    string VitalSignDetail,
    string GeneralAppearanceDetail,
    double SystolicBloodPressure,
    double DiastolicBloodPressure,
    double PulseRate,
    double SPO2,
    double Temperature,
    Guid ApplicationUserId,
    Guid MedicalHistoryTemplateId,
    List<MedicalHistoryAnswerSDto> Answers) : IRequest<Guid>;

public sealed record UpdateMedicalHistoryCommand(
    Guid Id,
    string ChiefComplaint,
    Guid SectionId,
    string FirstName,
    string LastName,
    string FatherName,
    string NationalId,
    DateTime BirthDate,
    string PresentIllnessDetail,
    string PastDiseasesHistoryDetail,
    string PastSurgeryHistoryDetail,
    string FamilyHistoryDetail,
    string AllergyDetail,
    string DrugHistoryDetail,
    string AddictionHistoryDetail,
    string SystemReviewDetail,
    string VitalSignDetail,
    string GeneralAppearanceDetail,
    double SystolicBloodPressure,
    double DiastolicBloodPressure,
    double PulseRate,
    double SPO2,
    double Temperature,
    Guid ApplicationUserId,
    Guid MedicalHistoryTemplateId,
    List<MedicalHistoryAnswerSDto> Answers) : IRequest<Guid>;

public sealed record DeleteMedicalHistoryCommand(Guid Id) : IRequest<Guid>;
