Add Blazor WebApp and rework data handling to utilize Entity Framework
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
@using System.Text.RegularExpressions
|
||||
@using Core.Entities
|
||||
@model Tuple<Team[], Student[], IDictionary<CompetitiveEvent, List<EventOccurrence>>>
|
||||
@model Tuple<Team[], Student[], IDictionary<EventDefinition, List<EventOccurrence>>>
|
||||
@{
|
||||
ViewData["Title"] = "Teams";
|
||||
var eventOccurrences = Model.Item3;
|
||||
}
|
||||
<div class="container nobrk pt-5">
|
||||
<h2>Nationals Events</h2>
|
||||
<h2>Nationals EventDefinitions</h2>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -20,7 +20,7 @@
|
||||
@foreach (var team in Model.Item1)
|
||||
{
|
||||
var students = team.Students;
|
||||
@if (true @* team.Event.Format == EventFormat.Team *@)
|
||||
@if (true @* team.EventDefinition.EventDefinitionFormat == EventDefinitionEventDefinitionFormat.Team *@)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@@ -46,32 +46,32 @@
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
@* @if (team.Event.StatePresubmission)
|
||||
@* @if (team.EventDefinition.StatePresubmission)
|
||||
{
|
||||
<text>Pre-submission due Friday, March 14</text>
|
||||
}
|
||||
@if (team.Event.StatePretesting)
|
||||
@if (team.EventDefinition.StatePretesting)
|
||||
{
|
||||
<text>Pre-testing Wednesday, April 2nd</text>
|
||||
}
|
||||
@if (team.Event.StatePreliminaryRound)
|
||||
@if (team.EventDefinition.StatePreliminaryRound)
|
||||
{
|
||||
<text>Preliminary and Semifinalist Rounds</text>
|
||||
} *@
|
||||
</td>
|
||||
<td>
|
||||
@team.Event.Documentation
|
||||
@team.EventDefinition.Documentation
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
}
|
||||
@* else if (team.Event.Format == EventFormat.Individual)
|
||||
@* else if (team.EventDefinition.EventDefinitionFormat == EventDefinitionEventDefinitionFormat.Individual)
|
||||
{
|
||||
foreach (var student in students)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@team.Event.Name - @student.FirstNameLastName (@student.RegionalID)
|
||||
@team.EventDefinition.Name - @student.FirstNameLastName (@student.RegionalID)
|
||||
</td>
|
||||
<td>@team.RegionalTimeSlot</td>
|
||||
<td></td>
|
||||
@@ -92,14 +92,14 @@
|
||||
<h3>@student.FirstNameLastName - @student.NationalID</h3>
|
||||
<h4>TSA 2025 Nationals Schedule</h4>
|
||||
<div class="row">
|
||||
<div class="col col-2">Events</div>
|
||||
<div class="col col-2">EventDefinitions</div>
|
||||
<div class="col">
|
||||
@foreach (var ev in student.Teams)
|
||||
{
|
||||
<div class="row">
|
||||
|
||||
<div class="col col-2">
|
||||
@if (ev.Event.Format is EventFormat.Team)
|
||||
@if (ev.EventDefinition.EventFormat is EventFormat.Team)
|
||||
{
|
||||
@ev.TeamNumber
|
||||
}
|
||||
@@ -117,7 +117,7 @@
|
||||
</text>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
@ev.Event.SemifinalistActivity
|
||||
@ev.EventDefinition.SemifinalistActivity
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -127,7 +127,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Time</td>
|
||||
<td>Event</td>
|
||||
<td>EventDefinition</td>
|
||||
<td></td>
|
||||
<td>Location</td>
|
||||
</tr>
|
||||
@@ -136,9 +136,9 @@
|
||||
@foreach (var date in
|
||||
eventOccurrences
|
||||
.Where(eo =>
|
||||
student.Teams.Select(t => t.Event).Any(a => a == eo.Key)
|
||||
|| eo.Key == CompetitiveEvent.GeneralSchedule
|
||||
|| (eo.Key == CompetitiveEvent.VotingDelegates && student.VotingDelegate))
|
||||
student.Teams.Select(t => t.EventDefinition).Any(a => a == eo.Key)
|
||||
|| eo.Key == EventDefinition.GeneralSchedule
|
||||
|| (eo.Key == EventDefinition.VotingDelegates && student.VotingDelegate))
|
||||
.SelectMany(eo => eo.Value.Select(v => Tuple.Create(v, eo.Key)))
|
||||
.GroupBy(de => de.Item1.StartTime.Date)
|
||||
.OrderBy(d => d.Key)
|
||||
@@ -151,8 +151,8 @@
|
||||
// filter out occurrences where non-captain
|
||||
.Where(de =>
|
||||
!de.Item1.SignupSubmitPickup
|
||||
|| de.Item2.Format is EventFormat.Individual
|
||||
|| student.Teams.Any(t => t.Captain == student && t.Event == de.Item2)
|
||||
|| de.Item2.EventFormat is EventFormat.Individual
|
||||
|| student.Teams.Any(t => t.Captain == student && t.EventDefinition == de.Item2)
|
||||
)
|
||||
.OrderBy(de => de.Item1.StartTime);
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
<td class="@hlClass">@eventOccurrence.Item2.Name</td>
|
||||
<td class="@hlClass">
|
||||
@eventOccurrence.Item1.Name
|
||||
@if (eventOccurrence.Item1.Name.Contains("Pick") && eventOccurrence.Item2.Format is EventFormat.Team)
|
||||
@if (eventOccurrence.Item1.Name.Contains("Pick") && eventOccurrence.Item2.EventFormat is EventFormat.Team)
|
||||
{
|
||||
<br/>
|
||||
<text>or coordinate with a teammate</text>
|
||||
@@ -217,17 +217,17 @@
|
||||
<tr><td colspan="4"><strong>@eventsForDate.Key.ToString("MMMM d") </strong> </td></tr>
|
||||
@foreach (var occurrence in eventsForDate.OrderBy(o => o.Item1.StartTime))
|
||||
{
|
||||
var teams = Model.Item1.Where(t => t.Event == occurrence.Item2);
|
||||
if (occurrence.Item2 != CompetitiveEvent.GeneralSchedule && occurrence.Item2 != CompetitiveEvent.VotingDelegates && !teams.Any())
|
||||
var teams = Model.Item1.Where(t => t.EventDefinition == occurrence.Item2);
|
||||
if (occurrence.Item2 != EventDefinition.GeneralSchedule && occurrence.Item2 != EventDefinition.VotingDelegates && !teams.Any())
|
||||
continue;
|
||||
<tr>
|
||||
<td style="white-space:nowrap;">@occurrence.Item1.Time</td>
|
||||
<td>
|
||||
@if (occurrence.Item2 == CompetitiveEvent.GeneralSchedule)
|
||||
@if (occurrence.Item2 == EventDefinition.GeneralSchedule)
|
||||
{
|
||||
<text>Everyone</text>
|
||||
}
|
||||
else if (occurrence.Item2 == CompetitiveEvent.VotingDelegates)
|
||||
else if (occurrence.Item2 == EventDefinition.VotingDelegates)
|
||||
{
|
||||
<text>Voting Delegates - @string.Join(", ", Model.Item2.Where(stu => stu.VotingDelegate).Select(stu => stu.FirstName))</text>
|
||||
}
|
||||
@@ -294,7 +294,7 @@
|
||||
@foreach (var t in assignments)
|
||||
{
|
||||
<td>
|
||||
@if (t.Event.Format != EventFormat.Individual)
|
||||
@if (t.EventDefinition.EventFormat != EventFormat.Individual)
|
||||
{
|
||||
@t.Name
|
||||
@if (t.Captain == student)
|
||||
@@ -304,7 +304,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@t.Event.Name
|
||||
@t.EventDefinition.Name
|
||||
}
|
||||
</td>
|
||||
}
|
||||
@@ -337,7 +337,7 @@
|
||||
@foreach (var t in assignments)
|
||||
{
|
||||
<p>
|
||||
@if (t.Event.Format != EventFormat.Individual)
|
||||
@if (t.EventDefinition.EventFormat != EventFormat.Individual)
|
||||
{
|
||||
@t.Name
|
||||
@if (t.Captain == student)
|
||||
@@ -347,7 +347,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@t.Event.Name
|
||||
@t.EventDefinition.Name
|
||||
}
|
||||
</p>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user