45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using Jiaowu.Api.Domain.Common;
|
|
|
|
namespace Jiaowu.Api.Domain.Academic;
|
|
|
|
public sealed class OtherExamBatch : EntityBase
|
|
{
|
|
public string? ExamCode { get; set; }
|
|
public required string Name { get; set; }
|
|
public string? Organizer { get; set; }
|
|
public DateOnly ExamDate { get; set; }
|
|
public OtherExamMetricKind MetricKind { get; set; }
|
|
public decimal? MaxScore { get; set; }
|
|
public string? LevelOptions { get; set; }
|
|
public OtherExamBatchStatus Status { get; set; } = OtherExamBatchStatus.Draft;
|
|
public int PublicationCount { get; set; }
|
|
public DateTime? PublishedAt { get; set; }
|
|
public ICollection<OtherExamResult> Results { get; set; } = [];
|
|
}
|
|
|
|
public sealed class OtherExamResult : EntityBase
|
|
{
|
|
public Guid OtherExamBatchId { get; set; }
|
|
public OtherExamBatch? OtherExamBatch { get; set; }
|
|
public Guid StudentId { get; set; }
|
|
public Student? Student { get; set; }
|
|
public int AttemptNumber { get; set; } = 1;
|
|
public decimal? Score { get; set; }
|
|
public string? Level { get; set; }
|
|
public bool? IsPassed { get; set; }
|
|
public string? Notes { get; set; }
|
|
}
|
|
|
|
public enum OtherExamMetricKind
|
|
{
|
|
PassFail = 1,
|
|
Level = 2,
|
|
Score = 3
|
|
}
|
|
|
|
public enum OtherExamBatchStatus
|
|
{
|
|
Draft = 1,
|
|
Published = 2
|
|
}
|