45edcf5e5f
This commit removes the obsolete EventAssignment class from Core.Entities and introduces new models in Core.Models, including AssignmentParameters, AssignmentRequirement, PartialTeam, and StudentEventStatistics. The changes enhance the organization of assignment-related data and improve the overall structure of the codebase. Additionally, several files have been updated to include references to the new Core.Models namespace, ensuring consistency across the application.
77 lines
2.6 KiB
C#
77 lines
2.6 KiB
C#
using System.Collections;
|
|
using Core.Entities;
|
|
using Core.Models;
|
|
using Core.Parsers;
|
|
using Core.Utility;
|
|
|
|
namespace Tests.Parsers;
|
|
|
|
public static class TestEntityHandler
|
|
{
|
|
private const string ContentDirectory = @"Parsers\TestInput\";
|
|
|
|
public static EventDefinition[] GetEvents()
|
|
{
|
|
var fileInfo = FileUtility.GetContentFile(ContentDirectory, "2024 Event Definitions.csv");
|
|
var eventRankingsParser = new EventDefinitionParser(fileInfo);
|
|
return eventRankingsParser.Parse();
|
|
}
|
|
|
|
public static FileInfo GetEventOccurrenceNationalsFileInfo()
|
|
{
|
|
return FileUtility.GetContentFile(ContentDirectory, "2025 TSA Nationals Competition Event Times.txt");
|
|
}
|
|
|
|
|
|
public static FileInfo GetEventOccurrenceStateFileInfo()
|
|
{
|
|
return FileUtility.GetContentFile(ContentDirectory, "2025 TN TSA State Competition Event Times.txt");
|
|
}
|
|
|
|
public static FileInfo GetEventOccurrenceState2024FileInfo()
|
|
{
|
|
return FileUtility.GetContentFile(ContentDirectory, "2024 TN TSA State Competition Event Times.txt");
|
|
}
|
|
|
|
public static Student[] GetStudents(IList<EventDefinition> events)
|
|
{
|
|
//var studentEventRankingsCsv = "Student Event Rankings.csv";
|
|
var studentEventRankingsCsv = "2024 Student Event Rankings.csv";
|
|
|
|
var fileInfo = FileUtility.GetContentFile(ContentDirectory, studentEventRankingsCsv);
|
|
var eventRankingsParser = new StudentParser(fileInfo);
|
|
return eventRankingsParser.Parse();
|
|
}
|
|
|
|
|
|
public static Team[] GetTeams(IList<EventDefinition> events, IList<Student> students)
|
|
{
|
|
//var studentEventRankingsCsv = "Student Event Rankings.csv";
|
|
var studentEventRankingsCsv = "2024 Teams.csv";
|
|
|
|
var fileInfo = FileUtility.GetContentFile(ContentDirectory, studentEventRankingsCsv);
|
|
var eventRankingsParser = new TeamParser(fileInfo);
|
|
var teams = eventRankingsParser.Parse(events, students);
|
|
|
|
foreach (var student in students)
|
|
{
|
|
student.Teams = teams.Where(t => t.Students.Contains(student)).ToList();
|
|
}
|
|
return teams;
|
|
}
|
|
|
|
public static AssignmentRequirement[] GetEventRequirements(IList<EventDefinition> events, IList<Student> students)
|
|
{
|
|
var fileInfo = FileUtility.GetContentFile(ContentDirectory, "2025 Assumptions.csv");
|
|
var assumptionParser = new AssignmentRequirementParser(fileInfo);
|
|
return assumptionParser.Parse(events, students);
|
|
}
|
|
|
|
public static StudentEventRanking[] GetStudentEventRankings(Student[] students, EventDefinition[] events)
|
|
{
|
|
var fileInfo = FileUtility.GetContentFile(ContentDirectory, "2025 Student Event Rankings.csv");
|
|
|
|
var rankingParser = new StudentEventRankingParser(fileInfo);
|
|
return rankingParser.Parse(students, events);
|
|
}
|
|
} |