Add Blazor WebApp and rework data handling to utilize Entity Framework

This commit is contained in:
2025-09-11 11:49:48 -04:00
parent 5220e61c79
commit 3daa3b81b3
111 changed files with 6039 additions and 946 deletions
+11 -7
View File
@@ -9,21 +9,25 @@ public class EventDefinitionParser : CsvParserBase
{
}
public CompetitiveEvent[] Parse()
public EventDefinitionParser(StreamReader reader, bool ignoreBlankLines = true) : base(reader, ignoreBlankLines)
{
var events = new List<CompetitiveEvent>();
}
public EventDefinition[] Parse()
{
var events = new List<EventDefinition>();
CsvReader.Read();
CsvReader.ReadHeader();
while (CsvReader.Read())
while (CsvReader.Read())
{
var name = CsvReader.GetField("Event");
if (string.IsNullOrEmpty(name))
continue;
var shortName = CsvReader.GetField("Short Name");
Enum.TryParse(CsvReader.GetField("Format"), out EventFormat format);
Enum.TryParse(CsvReader.GetField("EventFormat"), out EventFormat format);
var teamSize = CsvReader.GetField("Team Size");
if (string.IsNullOrEmpty(teamSize))
@@ -47,18 +51,18 @@ public class EventDefinitionParser : CsvParserBase
var levelOfEffort = CsvReader.GetField<int?>("Level of Effort");
//var regionalTeams = CsvReader.GetField<int>("Regional Teams");
var competitiveEvent = new CompetitiveEvent
var competitiveEvent = new EventDefinition
{
Name = name.Trim(),
ShortName = shortName.Trim(),
Format = format,
EventFormat = format,
MaxTeamCountState = stateTeams,
MinTeamSize = min,
MaxTeamSize = max,
SemifinalistActivity = semifinalistActivity,
RegionalEvent = !string.IsNullOrEmpty(regionalCount),
RegionalPresubmit = regionalPresubmit.Trim() == "TRUE",
RegionalNotes = regionalNotes,
Notes = regionalNotes,
Documentation= documentation,
StatePresubmission = statePresubmission.Trim() == "TRUE",
StatePretesting = statePretesting.Trim() == "TRUE",