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
+12 -12
View File
@@ -7,9 +7,9 @@ namespace Core.Parsers;
public class EventOccurrenceParser
{
private FileSystemInfo _txtFile;
private ICollection<CompetitiveEvent> _events;
private ICollection<EventDefinition> _events;
public EventOccurrenceParser(FileSystemInfo txtFile, ICollection<CompetitiveEvent> events)
public EventOccurrenceParser(FileSystemInfo txtFile, ICollection<EventDefinition> events)
{
_events = events;
_txtFile = txtFile;
@@ -28,10 +28,10 @@ public class EventOccurrenceParser
private readonly Regex _timeLocationRegex = new(@"(?<Time>.*(?>[AaPp]\.?[Mm]\.?))(?<Location>[\s\t].*)?");
public IDictionary<CompetitiveEvent, List<EventOccurrence>> Parse()
public IDictionary<EventDefinition, List<EventOccurrence>> Parse()
{
var occurrences = new Dictionary<CompetitiveEvent, List<EventOccurrence>>();
CompetitiveEvent currentEvent = null;
var occurrences = new Dictionary<EventDefinition, List<EventOccurrence>>();
EventDefinition currentEventDefinition = null;
var lines = File.ReadLines(_txtFile.FullName);
foreach (var line in lines)
@@ -49,25 +49,25 @@ public class EventOccurrenceParser
select e).FirstOrDefault();
if (evt == null)
continue;
currentEvent = evt;
currentEventDefinition = evt;
continue;
}
if (line == "General Schedule")
{
currentEvent = CompetitiveEvent.GeneralSchedule;
currentEventDefinition = EventDefinition.GeneralSchedule;
continue;
}
if (line == "Voting Delegates")
{
currentEvent = CompetitiveEvent.VotingDelegates;
currentEventDefinition = EventDefinition.VotingDelegates;
continue;
}
continue;
}
if (currentEvent == null)
if (currentEventDefinition == null)
continue;
var occurrenceName = match.Groups["Name"].Captures[0].Value;
@@ -103,9 +103,9 @@ public class EventOccurrenceParser
Location = location
};
if (!occurrences.ContainsKey(currentEvent))
occurrences.Add(currentEvent, []);
occurrences[currentEvent].Add(eventOccurrence);
if (!occurrences.ContainsKey(currentEventDefinition))
occurrences.Add(currentEventDefinition, []);
occurrences[currentEventDefinition].Add(eventOccurrence);
}
return occurrences;