@using Core.Entities @model Tuple @{ ViewData["Title"] = "Student Teams"; } @foreach (var student in Model.Item1.OrderBy(s => s.FirstName)) { var assignments = student.Teams.Where(ea => ea.Students.Contains(student)) .Select(ea => ea.EventDefinition) .Distinct() @* .OrderBy(e => { var r = student.RankedEventPicks.IndexOf(e); r = r >= 0 ? r : 10; //r = r * (4 - e.LevelOfEffort.Value); return r; }) *@ .ToList(); @foreach (var evt in assignments) { @* var h = student.RankedEventPicks.IndexOf(evt) + 1; *@ @* @{ GetOrderClass(h); } *@ } }
StudentLevel of Effort Total
@student.FirstNameLastName @if(!string.IsNullOrEmpty(student.Officer )) {(@student.Officer)} @assignments.Sum(a => a.LevelOfEffort) @evt.ShortName @Html.Partial("EffortStarsPartial", evt.LevelOfEffort) @{ if (evt.EventFormat == EventFormat.Individual) { (ind) } if (evt.RegionalEvent) { (reg) } if (evt.OnSiteActivity) { (act) } }
@* @foreach (var student in Model.Item1.RankBy(s => s.Name)) { var teams = student.Teams; @foreach (var team in student.Teams) { } }
Student Team Teammates
@student.FirstNameLastName @if (!string.IsNullOrEmpty(student.Officer)) { ( @student.Officer ) }
@team.Name @{ var ind = new List(); if (team.Captain == student) { (Cpt .) } if (!team.EventDefinition.InterviewOrPresentation) { ind.Add("a"); } if (team.EventDefinition.EventDefinitionFormat is EventDefinitionEventDefinitionFormat.Individual) { ind.Add("i"); } if (ind.Count > 0) { (@string.Join(",", ind)) } } @string.Join(", ", team.Students.Where(s => s != student).RankByDescending(s => s.TsaYear + s.Grade).Select(s => s.FirstName))

(a) denotes an eventDefinition that has activity other than interview or presentation at state
(i) denotes an individual eventDefinition

*@ @foreach (var student in Model.Item1.OrderBy(s => s.LastNameFirstName)) { var assignments = student.Teams.Where(ea => ea.Students.Contains(student)) .Select(ea => ea.EventDefinition) .Distinct() @* .OrderBy(e => { var r = student.RankedEventPicks.IndexOf(e); r = r >= 0 ? r : 10; //r = r * (4 - e.LevelOfEffort.Value); return r; }) *@ .ToList(); @foreach (var evt in assignments) { } }
Student
@student.FirstName @evt.Name @{ if (evt.EventFormat == EventFormat.Individual) { (individual) } if (evt.RegionalEvent) { (regional) } }
@functions { public void GetOrderClass(int pick) { @Html.Raw(LabelHelper.GetOrderClass(pick)) } private void GetTeamClass(Team team) { // if (team.EventDefinition.RegionalEvent) // { // @Html.Raw("regional"); // } } }