using Core.Entities; using Core.Validation.Rules.BaseRules; namespace Core.Validation.Rules.StudentAssignmentRules; /// /// Validation rule that checks if a student has been assigned at least one on-site activity /// public class NoOnSiteActivityAssignmentRule : RequiredEventTypeAssignmentRuleBase { protected override bool IsRequired(ValidationConfiguration config) => config.RequireOnSiteActivity; protected override bool HasEventType(StudentEventStatistics statistics) => statistics.HasOnSiteActivity; protected override ValidationSeverity GetSeverity(ValidationConfiguration config) => config.NoOnSiteActivitySeverity; protected override string Code => "NO_ONSITE_ACTIVITY_ASSIGNED"; protected override string Message => "No On-Site Activity"; protected override string IconIdentifier => "OnSiteActivity"; }