using Core.Models; namespace Core.YearTransition; /// /// Resolves the graduating grade from chapter school level configuration. /// public static class GraduatingGradeResolver { /// /// Middle school students graduate after grade 8; high school after grade 12. /// Returns null when school level is unset (both / unspecified). /// public static int? FromSchoolLevel(SchoolLevel? schoolLevel) => schoolLevel switch { SchoolLevel.MiddleSchool => 8, SchoolLevel.HighSchool => 12, _ => null }; /// /// Human-readable label for wizard display. /// public static string Describe(SchoolLevel schoolLevel, int graduatingGrade) => schoolLevel switch { SchoolLevel.MiddleSchool => $"Middle school chapter — students graduate after grade {graduatingGrade}", SchoolLevel.HighSchool => $"High school chapter — students graduate after grade {graduatingGrade}", _ => $"Students graduate after grade {graduatingGrade}" }; }