public override void Execute() { #line 9 "..\..\Views\SeasonResultsTable.cshtml" Html.RequiresCss("/competitions/competitions.min.css"); var authorizedToEdit = Model.IsAuthorized[AuthorizedAction.EditCompetition] || Model.IsAuthorized[AuthorizedAction.DeleteCompetition]; #line default #line hidden WriteLiteral("\r\n<div"); WriteLiteral(" class=\"container-xl\""); WriteLiteral(">\r\n <h1>"); #line 14 "..\..\Views\SeasonResultsTable.cshtml" Write(Model.Season.SeasonFullNameAndPlayerType()); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 16 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 16 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.Competition.UntilYear.HasValue) { #line default #line hidden WriteLiteral(" <div"); WriteLiteral(" class=\"alert alert-info\""); WriteLiteral(">\r\n <p><strong>This competition isn\'t played any more.</strong></p>\r\n " + " </div>\r\n"); #line 21 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral("\r\n <ul"); WriteLiteral(" class=\"nav nav-tabs\""); WriteLiteral(">\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link\""); WriteAttribute("href", Tuple.Create(" href=\"", 866), Tuple.Create("\"", 898) #line 25 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 873), Tuple.Create <System.Object, System.Int32>(Model.Season.SeasonRoute #line default #line hidden , 873), false) ); WriteLiteral(">Summary</a>\r\n </li>\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link\""); WriteAttribute("href", Tuple.Create(" href=\"", 990), Tuple.Create("\"", 1030) #line 28 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 997), Tuple.Create <System.Object, System.Int32>(Model.Season.SeasonRoute #line default #line hidden , 997), false) , Tuple.Create(Tuple.Create("", 1022), Tuple.Create("/matches", 1022), true) ); WriteLiteral(">Matches</a>\r\n </li>\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link\""); WriteAttribute("href", Tuple.Create(" href=\"", 1122), Tuple.Create("\"", 1158) #line 31 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 1129), Tuple.Create <System.Object, System.Int32>(Model.Season.SeasonRoute #line default #line hidden , 1129), false) , Tuple.Create(Tuple.Create("", 1154), Tuple.Create("/map", 1154), true) ); WriteLiteral(">Map</a>\r\n </li>\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <em"); WriteLiteral(" class=\"nav-link active\""); WriteLiteral(">Table</em>\r\n </li>\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link\""); WriteAttribute("href", Tuple.Create(" href=\"", 1344), Tuple.Create("\"", 1387) #line 37 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 1351), Tuple.Create <System.Object, System.Int32>(Model.Season.SeasonRoute #line default #line hidden , 1351), false) , Tuple.Create(Tuple.Create("", 1376), Tuple.Create("/statistics", 1376), true) ); WriteLiteral(">Statistics</a>\r\n </li>\r\n"); #line 39 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 39 "..\..\Views\SeasonResultsTable.cshtml" if (authorizedToEdit) { #line default #line hidden WriteLiteral(" <li"); WriteLiteral(" class=\"nav-item nav-item-admin\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link nav-link-edit\""); WriteAttribute("href", Tuple.Create(" href=\"", 1562), Tuple.Create("\"", 1605) #line 42 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 1569), Tuple.Create <System.Object, System.Int32>(Model.Season.SeasonRoute #line default #line hidden , 1569), false) , Tuple.Create(Tuple.Create("", 1594), Tuple.Create("/edit/table", 1594), true) ); WriteLiteral(">Edit results table</a>\r\n </li>\r\n"); #line 44 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" </ul>\r\n\r\n"); #line 47 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 47 "..\..\Views\SeasonResultsTable.cshtml" var noResults = true; if (Model.Season.Teams.Count > 0) { if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable || Model.Season.ResultsTableType == ResultsTableType.NonLeagueResultsTable) { var matchesAwaitingResults = new MatchListingViewModel(Umbraco.AssignedContentItem, Services.UserService) { DateTimeFormatter = Model.Matches.DateTimeFormatter }; var withdrawnTeams = Model.Season.Teams.Where(x => x.WithdrawnDate.HasValue); var columns = 7; #line default #line hidden WriteLiteral(" <table"); WriteLiteral(" class=\"results-table table-as-cards table-as-cards-reset-md table-hover\""); WriteLiteral(">\r\n <thead>\r\n <tr>\r\n " + " <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">Team</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Played</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Won</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Lost</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Tied</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">No result</th>\r\n"); #line 65 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 65 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.EnableRunsScored) { columns++; #line default #line hidden WriteLiteral(" <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Runs scored</th>\r\n"); #line 69 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" "); #line 70 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.EnableRunsConceded) { columns++; #line default #line hidden WriteLiteral(" <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Runs conceded</th>\r\n"); #line 74 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" "); #line 75 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable) { #line default #line hidden WriteLiteral(" <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(" class=\"numeric\""); WriteLiteral(">Points</th>\r\n"); #line 78 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n </thead>\r\n " + "<tbody>\r\n"); #line 82 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 82 "..\..\Views\SeasonResultsTable.cshtml" var rows = new Dictionary <Guid, ResultsTableRow>(); foreach (var team in Model.Season.Teams) { if (!team.WithdrawnDate.HasValue) { rows.Add(team.Team.TeamId.Value, new ResultsTableRow { Team = team.Team }); } } // Look at matches to build data for each team foreach (var match in Model.Matches.Matches) { var homeTeam = match.Teams.FirstOrDefault(team => team.TeamRole == TeamRole.Home); var awayTeam = match.Teams.FirstOrDefault(team => team.TeamRole == TeamRole.Away); var homeRuns = homeTeam != null?match.MatchInnings.Where(x => x.BattingMatchTeamId == homeTeam.MatchTeamId).Sum(x => x.Runs) : null; var awayRuns = awayTeam != null?match.MatchInnings.Where(x => x.BattingMatchTeamId == awayTeam.MatchTeamId).Sum(x => x.Runs) : null; // Discount matches in the future if (match.StartTime >= DateTime.UtcNow) { break; } // Discount non-league matches if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable && match.MatchType != MatchType.LeagueMatch) { continue; } // Discount postponed matches if (match.MatchResultType == MatchResultType.Postponed || match.MatchResultType == MatchResultType.AbandonedDuringPlayAndPostponed) { continue; } // Discount matches where a team has withdrawn from the season if (homeTeam != null && withdrawnTeams.Any(x => x.Team.TeamId == homeTeam.Team.TeamId)) { continue; } if (awayTeam != null && withdrawnTeams.Any(x => x.Team.TeamId == awayTeam.Team.TeamId)) { continue; } // Make a note of missing results, to excuse inaccuracies if (!match.MatchResultType.HasValue) { matchesAwaitingResults.Matches.Add(match); continue; } // Home team if (homeTeam != null && rows.ContainsKey(homeTeam.Team.TeamId.Value)) { rows[homeTeam.Team.TeamId.Value].Played++; if (match.IsHomeWin()) { rows[homeTeam.Team.TeamId.Value].Won++; } else if (match.IsAwayWin()) { rows[homeTeam.Team.TeamId.Value].Lost++; } else if (match.IsEqualResult()) { rows[homeTeam.Team.TeamId.Value].Tied++; } else if (match.IsNoResult()) { rows[homeTeam.Team.TeamId.Value].NoResult++; } if (Model.Season.EnableRunsScored && homeRuns.HasValue) { rows[homeTeam.Team.TeamId.Value].RunsScored = (rows[homeTeam.Team.TeamId.Value].RunsScored + homeRuns.Value); } if (Model.Season.EnableRunsConceded && awayRuns.HasValue) { rows[homeTeam.Team.TeamId.Value].RunsConceded = (rows[homeTeam.Team.TeamId.Value].RunsConceded + awayRuns.Value); } if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable) { rows[homeTeam.Team.TeamId.Value].Points = (rows[homeTeam.Team.TeamId.Value].Points + (Model.Season.PointsRules.First(x => x.MatchResultType == match.MatchResultType)?.HomePoints ?? 0)); } } // Away team if (awayTeam != null && rows.ContainsKey(awayTeam.Team.TeamId.Value)) { rows[awayTeam.Team.TeamId.Value].Played++; if (match.IsHomeWin()) { rows[awayTeam.Team.TeamId.Value].Lost++; } else if (match.IsAwayWin()) { rows[awayTeam.Team.TeamId.Value].Won++; } else if (match.IsEqualResult()) { rows[awayTeam.Team.TeamId.Value].Tied++; } else if (match.IsNoResult()) { rows[awayTeam.Team.TeamId.Value].NoResult++; } if (Model.Season.EnableRunsScored && awayRuns.HasValue) { rows[awayTeam.Team.TeamId.Value].RunsScored = (rows[awayTeam.Team.TeamId.Value].RunsScored + awayRuns.Value); } if (Model.Season.EnableRunsConceded && homeRuns.HasValue) { rows[awayTeam.Team.TeamId.Value].RunsConceded = (rows[awayTeam.Team.TeamId.Value].RunsConceded + homeRuns.Value); } if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable) { rows[awayTeam.Team.TeamId.Value].Points = (rows[awayTeam.Team.TeamId.Value].Points + (Model.Season.PointsRules.FirstOrDefault(x => x.MatchResultType == match.MatchResultType)?.AwayPoints ?? 0)); } } } // Apply points adjustments if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable) { foreach (var point in Model.Season.PointsAdjustments) { rows[point.Team.TeamId.Value].Points += point.Points; } } // For league tables, sort the teams so that the highest points come first var sortedRows = new List <ResultsTableRow>(rows.Values); if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable) { sortedRows.Sort(new LeagueTableRowComparer()); } foreach (var row in sortedRows) { #line default #line hidden WriteLiteral(" <tr>\r\n <th"); WriteLiteral(" scope=\"row\""); WriteLiteral("><a"); WriteAttribute("href", Tuple.Create(" href=\"", 10511), Tuple.Create("\"", 10537) #line 171 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 10518), Tuple.Create <System.Object, System.Int32>(row.Team.TeamRoute #line default #line hidden , 10518), false) ); WriteLiteral(">"); #line 171 "..\..\Views\SeasonResultsTable.cshtml" Write(row.Team.TeamName); #line default #line hidden WriteLiteral("</a></th>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Played</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 172 "..\..\Views\SeasonResultsTable.cshtml" Write(row.Played); #line default #line hidden WriteLiteral("</span></td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Won</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 173 "..\..\Views\SeasonResultsTable.cshtml" Write(row.Won); #line default #line hidden WriteLiteral("</span></td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Lost</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 174 "..\..\Views\SeasonResultsTable.cshtml" Write(row.Lost); #line default #line hidden WriteLiteral("</span></td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Tied</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 175 "..\..\Views\SeasonResultsTable.cshtml" Write(row.Tied); #line default #line hidden WriteLiteral("</span></td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">No result</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 176 "..\..\Views\SeasonResultsTable.cshtml" Write(row.NoResult); #line default #line hidden WriteLiteral("</span></td>\r\n"); #line 177 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 177 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.EnableRunsScored) { #line default #line hidden WriteLiteral(" <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Runs scored</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 179 "..\..\Views\SeasonResultsTable.cshtml" Write(row.RunsScored); #line default #line hidden WriteLiteral("</span></td>\r\n"); #line 180 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" "); #line 181 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.EnableRunsConceded) { #line default #line hidden WriteLiteral(" <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Runs conceded</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 183 "..\..\Views\SeasonResultsTable.cshtml" Write(row.RunsConceded); #line default #line hidden WriteLiteral("</span></td>\r\n"); #line 184 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" "); #line 185 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable) { #line default #line hidden WriteLiteral(" <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral(" class=\"numeric\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Points</span><span"); WriteLiteral(" class=\"results-table__numeric-value\""); WriteLiteral(">"); #line 187 "..\..\Views\SeasonResultsTable.cshtml" Write(row.Points); #line default #line hidden WriteLiteral("</span></td>\r\n"); #line 188 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 190 "..\..\Views\SeasonResultsTable.cshtml" } foreach (var team in withdrawnTeams) { #line default #line hidden WriteLiteral(" <tr"); WriteLiteral(" class=\"text-muted\""); WriteLiteral("><th"); WriteLiteral(" scope=\"row\""); WriteLiteral("><a"); WriteAttribute("href", Tuple.Create(" href=\"", 13032), Tuple.Create("\"", 13059) #line 193 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 13039), Tuple.Create <System.Object, System.Int32>(team.Team.TeamRoute #line default #line hidden , 13039), false) ); WriteLiteral(">"); #line 193 "..\..\Views\SeasonResultsTable.cshtml" Write(team.Team.TeamName); #line default #line hidden WriteLiteral("</a></th><td"); WriteAttribute("colspan", Tuple.Create(" colspan=\"", 13092), Tuple.Create("\"", 13114) #line 193 "..\..\Views\SeasonResultsTable.cshtml" , Tuple.Create(Tuple.Create("", 13102), Tuple.Create <System.Object, System.Int32>(columns - 1 #line default #line hidden , 13102), false) ); WriteLiteral(">Withdrew from season</td></tr>\r\n"); #line 194 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral("\r\n </tbody>\r\n </table>\r\n"); #line 198 "..\..\Views\SeasonResultsTable.cshtml" if (Model.Season.ResultsTableType == ResultsTableType.LeagueTable && Model.Season.PointsAdjustments.Count > 0) { #line default #line hidden WriteLiteral(" <p>The league table includes the following points adjustments" + ":</p>\r\n"); WriteLiteral(" <ul>\r\n"); #line 203 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 203 "..\..\Views\SeasonResultsTable.cshtml" foreach (var adjustment in Model.Season.PointsAdjustments) { var reason = !string.IsNullOrEmpty(adjustment.Reason) ? $"for {adjustment.Reason}" : string.Empty; if (adjustment.Points > 0) { #line default #line hidden WriteLiteral(" <li>"); #line 208 "..\..\Views\SeasonResultsTable.cshtml" Write("point".ToQuantity(adjustment.Points)); #line default #line hidden WriteLiteral(" awarded to "); #line 208 "..\..\Views\SeasonResultsTable.cshtml" Write(adjustment.Team.TeamName); #line default #line hidden WriteLiteral(" "); #line 208 "..\..\Views\SeasonResultsTable.cshtml" Write(reason); #line default #line hidden WriteLiteral("</li>\r\n"); #line 209 "..\..\Views\SeasonResultsTable.cshtml" } else if (adjustment.Points < 0) { #line default #line hidden WriteLiteral(" <li>"); #line 212 "..\..\Views\SeasonResultsTable.cshtml" Write("point".ToQuantity(adjustment.Points * -1)); #line default #line hidden WriteLiteral(" deducted from "); #line 212 "..\..\Views\SeasonResultsTable.cshtml" Write(adjustment.Team.TeamName); #line default #line hidden WriteLiteral(" "); #line 212 "..\..\Views\SeasonResultsTable.cshtml" Write(reason); #line default #line hidden WriteLiteral("</li>\r\n"); #line 213 "..\..\Views\SeasonResultsTable.cshtml" } } #line default #line hidden WriteLiteral(" </ul>\r\n"); #line 216 "..\..\Views\SeasonResultsTable.cshtml" } if (matchesAwaitingResults.Matches.Count > 0) { #line default #line hidden WriteLiteral(" <p>Waiting for results from:</p>\r\n"); #line 222 "..\..\Views\SeasonResultsTable.cshtml" #line default #line hidden #line 222 "..\..\Views\SeasonResultsTable.cshtml" Write(Html.Partial("_MatchList", matchesAwaitingResults)); #line default #line hidden #line 222 "..\..\Views\SeasonResultsTable.cshtml" } noResults = false; } } if (!string.IsNullOrEmpty(Model.Season.Results)) { #line default #line hidden #line 231 "..\..\Views\SeasonResultsTable.cshtml" Write(Html.Raw(Model.Season.Results)); #line default #line hidden #line 231 "..\..\Views\SeasonResultsTable.cshtml" ; noResults = false; } if (noResults) { #line default #line hidden WriteLiteral(" <p>There\'s no results table for this season.</p>\r\n"); WriteLiteral(" <p>You can add match results to this website to see your results tabl" + "e updated instantly. For leagues, points are calculated.</p>\r\n"); WriteLiteral(" <p>To get started, see <a"); WriteLiteral(" href=\"/organise/website/results-tables/\""); WriteLiteral(">Results tables – how they work</a>.</p>\r\n"); #line 240 "..\..\Views\SeasonResultsTable.cshtml" } #line default #line hidden WriteLiteral("\r\n</div>"); }
public override void Execute() { #line 11 "..\..\Views\StyleGuideStoolballData.cshtml" Html.RequiresJs("https://maps.google.co.uk/maps/api/js?key=" + Model.GoogleMapsApiKey, 50); Html.RequiresJs("/js/maps.js", 90); Html.RequiresJs("/matchlocations/match-location.js"); Html.RequiresJs("~/js/libs/jquery.autocomplete.min.js", 50); Html.RequiresCss("~/css/autocomplete.min.css"); Html.RequiresJs("/umbraco/lib/tinymce/tinymce.min.js", 90); Html.RequiresJs("/js/tinymce.js"); Html.RequiresCss("~/matches/scorecards.min.css"); Html.RequiresCss("~/css/steps.min.css"); Html.RequiresJs("~/matches/player-autocomplete.js", 70); Html.RequiresJs("~/matches/edit-batting-scorecard.js"); Html.RequiresJs("~/matches/edit-bowling-scorecard.js"); Html.RequiresCss("~/css/comments.min.css"); #line default #line hidden WriteLiteral("\r\n<div"); WriteLiteral(" class=\"container-xl\""); WriteLiteral(">\r\n <h1"); WriteLiteral(" data-show-consent=\"true\""); WriteLiteral(">"); #line 32 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Model.Name); #line default #line hidden WriteLiteral("</h1>\r\n <ul"); WriteLiteral(" class=\"nav nav-tabs nav-tabs-has-add nav-tabs-has-edit\""); WriteLiteral(">\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link\""); WriteAttribute("href", Tuple.Create(" href=\"", 1338), Tuple.Create("\"", 1379) #line 35 "..\..\Views\StyleGuideStoolballData.cshtml" , Tuple.Create(Tuple.Create("", 1345), Tuple.Create <System.Object, System.Int32>(Umbraco.AssignedContentItem.Url() #line default #line hidden , 1345), false) ); WriteLiteral(">Umbraco content</a>\r\n </li>\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <a"); WriteLiteral(" class=\"nav-link\""); WriteAttribute("href", Tuple.Create(" href=\"", 1479), Tuple.Create("\"", 1548) #line 38 "..\..\Views\StyleGuideStoolballData.cshtml" , Tuple.Create(Tuple.Create("", 1486), Tuple.Create <System.Object, System.Int32>(Umbraco.AssignedContentItem.Url() #line default #line hidden , 1486), false) , Tuple.Create(Tuple.Create("", 1520), Tuple.Create("?alttemplate=styleguideforms", 1520), true) ); WriteLiteral(">Forms</a>\r\n </li>\r\n <li"); WriteLiteral(" class=\"nav-item\""); WriteLiteral(">\r\n <em"); WriteLiteral(" class=\"nav-link active\""); WriteLiteral(">Stoolball data</em>\r\n </li>\r\n </ul>\r\n <table"); WriteLiteral(" class=\"table\""); WriteLiteral(">\r\n <caption>Table with edit options</caption>\r\n <thead><tr><th>Exa" + "mple</th><th>Date</th><th>Number</th></tr></thead>\r\n <tbody>\r\n " + " <tr>\r\n <th"); WriteLiteral(" scope=\"row\""); WriteLiteral(">Unvalidated</th>\r\n <td><input"); WriteLiteral(" class=\"related-item__data\""); WriteLiteral(" data-item=\"3040d68b-bc9e-4bad-a8fe-354b72f214c1\""); WriteLiteral(" id=\"Season_Teams_0__WithdrawnDate\""); WriteLiteral(" name=\"Season.Teams[0].WithdrawnDate\""); WriteLiteral(" type=\"date\""); WriteLiteral(" value=\"\""); WriteLiteral("></td>\r\n <td>\r\n <input"); WriteLiteral(" data-val=\"true\""); WriteLiteral(" data-val-number=\"The field Points for away team must be a number.\""); WriteLiteral(" data-val-required=\"The Points for away team field is required.\""); WriteLiteral(" id=\"Season_PointsRules_0__AwayPoints\""); WriteLiteral(" maxlength=\"2\""); WriteLiteral(" name=\"Season.PointsRules[0].AwayPoints\""); WriteLiteral(" type=\"number\""); WriteLiteral(" value=\"2\""); WriteLiteral(">\r\n </td>\r\n </tr>\r\n <tr>\r\n <t" + "h"); WriteLiteral(" scope=\"row\""); WriteLiteral(">Valid</th>\r\n <td>\r\n <input"); WriteLiteral(" class=\"form-control valid\""); WriteLiteral(" data-val=\"true\""); WriteLiteral(" data-val-required=\"The Match date field is required.\""); WriteLiteral(" id=\"valid-date-field-in-table\""); WriteLiteral(" name=\"valid-date-field-in-table\""); WriteLiteral(" required=\"required\""); WriteLiteral(" type=\"date\""); WriteLiteral(" value=\"\""); WriteLiteral(" aria-invalid=\"false\""); WriteLiteral(">\r\n </td>\r\n <td>\r\n <input"); WriteLiteral(" data-val=\"true\""); WriteLiteral(" data-val-number=\"The field Points for home team must be a number.\""); WriteLiteral(" data-val-required=\"The Points for home team field is required.\""); WriteLiteral(" id=\"Season_PointsRules_0__HomePoints\""); WriteLiteral(" maxlength=\"2\""); WriteLiteral(" name=\"Season.PointsRules[0].HomePoints\""); WriteLiteral(" type=\"number\""); WriteLiteral(" value=\"0\""); WriteLiteral(" aria-describedby=\"Season_PointsRules_0__HomePoints-error\""); WriteLiteral(" class=\"valid\""); WriteLiteral(" aria-invalid=\"false\""); WriteLiteral(">\r\n </td>\r\n </tr>\r\n <tr>\r\n <t" + "h"); WriteLiteral(" scope=\"row\""); WriteLiteral(">Invalid</th>\r\n <td>Not applicable</td>\r\n <td>\r\n " + " <input"); WriteLiteral(" data-val=\"true\""); WriteLiteral(" data-val-number=\"The field Points for away team must be a number.\""); WriteLiteral(" data-val-required=\"The Points for away team field is required.\""); WriteLiteral(" id=\"Season_PointsRules_0__AwayPoints\""); WriteLiteral(" maxlength=\"2\""); WriteLiteral(" name=\"Season.PointsRules[0].AwayPoints\""); WriteLiteral(" type=\"number\""); WriteLiteral(" value=\"2\""); WriteLiteral(" class=\"input-validation-error\""); WriteLiteral(" aria-describedby=\"Season_PointsRules_0__AwayPoints-error\""); WriteLiteral(" aria-invalid=\"true\""); WriteLiteral(">\r\n <span"); WriteLiteral(" class=\"field-validation-error\""); WriteLiteral(" data-valmsg-for=\"Season.PointsRules[0].AwayPoints\""); WriteLiteral(" data-valmsg-replace=\"true\""); WriteLiteral("><span"); WriteLiteral(" id=\"Season_PointsRules_0__AwayPoints-error\""); WriteLiteral(" class=\"\""); WriteLiteral(">The Points for away team field is required.</span></span>\r\n </td>" + "\r\n </tr>\r\n </tbody>\r\n </table>\r\n <p>A paragraph followin" + "g a Bootstrap table.</p>\r\n <table"); WriteLiteral(" class=\"table table-as-cards table-as-cards-reset-md\""); WriteLiteral(">\r\n <caption>League table caption. Table displays as cards on mobile.</cap" + "tion>\r\n <thead>\r\n <tr>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">Team</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">Played</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">Won</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">Lost</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">Tied</th>\r\n <th"); WriteLiteral(" scope=\"col\""); WriteLiteral(">No result</th>\r\n <th>Runs scored</th>\r\n <th>Runs c" + "onceded</th>\r\n <th>Points</th>\r\n </tr>\r\n </thea" + "d>\r\n <tbody>\r\n <tr>\r\n <th"); WriteLiteral(" scope=\"row\""); WriteLiteral("><a"); WriteLiteral(" href=\"https://example.org\""); WriteLiteral(">Team A</a></th>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Played</span>12</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Won</span>9</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Lost</span>3</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Tied</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">No result</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Runs scored</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Runs conceded</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Points</span>18</td>\r\n </tr>\r\n <tr>\r\n <th"); WriteLiteral(" scope=\"row\""); WriteLiteral("><a"); WriteLiteral(" href=\"https://example.org\""); WriteLiteral(">Team B</a></th>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Played</span>12</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Won</span>8</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Lost</span>3</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Tied</span>1</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">No result</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Runs scored</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Runs conceded</span>0</td>\r\n <td"); WriteLiteral(" data-stackable=\"true\""); WriteLiteral("><span"); WriteLiteral(" class=\"table-as-cards__label\""); WriteLiteral(" aria-hidden=\"true\""); WriteLiteral(">Points</span>17</td>\r\n </tr>\r\n <tr"); WriteLiteral(" class=\"text-muted\""); WriteLiteral(">\r\n <th"); WriteLiteral(" scope=\"row\""); WriteLiteral("><a"); WriteLiteral(" href=\"https://example.org\""); WriteLiteral(">Team C</a></th>\r\n <td"); WriteLiteral(" colspan=\"8\""); WriteLiteral(">Withdrawn from league</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n " + " <h2>Steps in a process</h2>\r\n <ol"); WriteLiteral(" class=\"steps\""); WriteLiteral(">\r\n <li"); WriteLiteral(" class=\"steps__completed\""); WriteLiteral("><span"); WriteLiteral(" class=\"sr-only\""); WriteLiteral(">First step</span></li>\r\n <li"); WriteLiteral(" aria-current=\"step\""); WriteLiteral("><em"); WriteLiteral(" class=\"sr-only\""); WriteLiteral(">Second step</em></li>\r\n <li><span"); WriteLiteral(" class=\"sr-only\""); WriteLiteral(">Third step</span></li>\r\n <li><span"); WriteLiteral(" class=\"sr-only\""); WriteLiteral(">Fourth step</span></li>\r\n <li><span"); WriteLiteral(" class=\"sr-only\""); WriteLiteral(">Fifth step</span></li>\r\n <li><span"); WriteLiteral(" class=\"sr-only\""); WriteLiteral(">Sixth step</span></li>\r\n </ol>\r\n <div"); WriteLiteral(" class=\"alert alert-info\""); WriteLiteral(">\r\n <p>A paragraph within an informational alert, including a <a"); WriteLiteral(" href=\"https://example.org\""); WriteLiteral(">link</a>.</p>\r\n </div>\r\n <div"); WriteLiteral(" class=\"alert alert-info\""); WriteLiteral(">\r\n <p>Two alerts together.</p>\r\n </div>\r\n <h2>Stoolball listings</h" + "2>\r\n <p>This is a list of teams.</p>\r\n"); WriteLiteral(" "); #line 136 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_TeamList", new List <Team> { new Team { TeamName = "Team A", TeamRoute = "/teams/team-a" }, new Team { TeamName = "Team B", TeamRoute = "/teams/team-b" } })); #line default #line hidden WriteLiteral("\r\n <p>This is a list of matches.</p>\r\n"); #line 141 "..\..\Views\StyleGuideStoolballData.cshtml" #line default #line hidden #line 141 "..\..\Views\StyleGuideStoolballData.cshtml" var matchListing = new MatchListingViewModel(Umbraco.AssignedContentItem, Services.UserService) { DateTimeFormatter = new Stoolball.Dates.DateTimeFormatter() }; matchListing.MatchTypesToLabel.Add(MatchType.FriendlyMatch); matchListing.Matches.AddRange(new[] { new MatchListing { MatchName = "Team A v Team B", MatchRoute = "/matches/team-a-v-team-b", MatchType = MatchType.LeagueMatch, StartTime = DateTime.UtcNow.AddMonths(-1) }, new MatchListing { MatchName = "Team A v Team B", MatchRoute = "/matches/team-a-v-team-b", MatchType = MatchType.FriendlyMatch, StartTime = DateTime.UtcNow }, new MatchListing { MatchName = "Team A tournament", MatchRoute = "/tournaments/team-a-tournament", PlayerType = PlayerType.Mixed, SpacesInTournament = 5, StartTime = DateTime.UtcNow.AddMonths(1) } }); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 169 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_MatchList", matchListing)); #line default #line hidden WriteLiteral("\r\n\r\n <p>This is a list of seasons.</p>\r\n"); #line 172 "..\..\Views\StyleGuideStoolballData.cshtml" #line default #line hidden #line 172 "..\..\Views\StyleGuideStoolballData.cshtml" var seasonList = new SeasonListViewModel { ShowCompetitionHeading = true }; var competition = new Competition { CompetitionName = "Example competition" }; competition.Seasons.Add(new Season { FromYear = 2020, UntilYear = 2020, SeasonRoute = "/competitions/example/2020" }); competition.Seasons.Add(new Season { FromYear = 2020, UntilYear = 2021, SeasonRoute = "/competitions/example/2020-21" }); seasonList.Competitions.Add(competition); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 183 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_SeasonList", seasonList)); #line default #line hidden WriteLiteral("\r\n <div"); WriteLiteral(" id=\"location-map\""); WriteLiteral(" data-latitude=\"50.995715487915\""); WriteLiteral(" data-longitude=\"0.088866949081421\""); WriteLiteral(" data-precision=\"exact\""); WriteLiteral(" data-title=\"Maresfield Recreation Ground, Maresfield\""); WriteLiteral(">\r\n <p><a"); WriteLiteral(" href=\"https://maps.google.co.uk/?z=16&q=Maresfield+Recreation+Ground%2c+Mare" + "[email protected],0.088866949081421&ll=50.995715487915,0.08886694908142" + "1\""); WriteLiteral(">Map of Maresfield Recreation Ground, Maresfield on Google Maps</a></p>\r\n </di" + "v>\r\n <h2>Scorecards</h2>\r\n"); #line 188 "..\..\Views\StyleGuideStoolballData.cshtml" #line default #line hidden #line 188 "..\..\Views\StyleGuideStoolballData.cshtml" var innings = new EditScorecardViewModel(Model, Services.UserService) { Match = new Match { PlayersPerTeam = 2 }, CurrentInnings = new MatchInningsViewModel { MatchInnings = new MatchInnings { BattingTeam = new TeamInMatch { Team = new Team { TeamName = "The batting team" } }, BowlingTeam = new TeamInMatch { Team = new Team { TeamName = "The bowling team" } }, Byes = 2, Wides = 4, NoBalls = 6, BonusOrPenaltyRuns = 8, Runs = 100, Wickets = 1 } } }; innings.CurrentInnings.MatchInnings.PlayerInnings.Add(new PlayerInnings { Batter = new PlayerIdentity { PlayerIdentityName = "Player One", Player = new Player { PlayerRoute = "/players/player-one" } }, DismissalType = DismissalType.Caught, DismissedBy = new PlayerIdentity { PlayerIdentityName = "Player Two", Player = new Player { PlayerRoute = "/players/player-two" } }, Bowler = new PlayerIdentity { PlayerIdentityName = "Player Three", Player = new Player { PlayerRoute = "/players/player-three" } }, RunsScored = 50, BallsFaced = 60 }); innings.CurrentInnings.MatchInnings.PlayerInnings.Add(new PlayerInnings { Batter = new PlayerIdentity { PlayerIdentityName = "Player Four", Player = new Player { PlayerRoute = "/players/player-four" } }, DismissalType = DismissalType.BodyBeforeWicket, Bowler = new PlayerIdentity { PlayerIdentityName = "Player Three", Player = new Player { PlayerRoute = "/players/player-three" } }, RunsScored = 10, BallsFaced = 10 }); innings.CurrentInnings.PlayerInningsSearch.Add(new PlayerInningsViewModel { Batter = "Player One", DismissalType = DismissalType.Caught, DismissedBy = "Player Two", Bowler = "Player Three", RunsScored = 50, BallsFaced = 60 }); innings.CurrentInnings.PlayerInningsSearch.Add(new PlayerInningsViewModel { Batter = "Player Four", DismissalType = DismissalType.BodyBeforeWicket, Bowler = "Player Three", RunsScored = 10, BallsFaced = 10 }); innings.CurrentInnings.MatchInnings.OversBowled.Add(new Over { Bowler = new PlayerIdentity { PlayerIdentityName = "Player Two", Player = new Player { PlayerRoute = "/players/player-two" } }, BallsBowled = 8, Wides = 2, NoBalls = 4, RunsConceded = 8 }); innings.CurrentInnings.OversBowledSearch.Add(new OverViewModel { BowledBy = "Player Two", BallsBowled = 8, Wides = 2, NoBalls = 4, RunsConceded = 8 }); var scorecardViewModel = new ScorecardViewModel { MatchInnings = innings.CurrentInnings.MatchInnings }; #line default #line hidden WriteLiteral("\r\n\r\n\r\n"); WriteLiteral(" "); #line 264 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_BattingScorecard", scorecardViewModel)); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 265 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_BowlingScorecard", scorecardViewModel)); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 266 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_EditBattingScorecard", innings)); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 267 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_EditBowlingScorecard", innings)); #line default #line hidden WriteLiteral("\r\n"); #line 268 "..\..\Views\StyleGuideStoolballData.cshtml" #line default #line hidden #line 268 "..\..\Views\StyleGuideStoolballData.cshtml" var comments = new List <HtmlComment> { new HtmlComment { MemberName = "Member One", MemberEmail = "*****@*****.**", CommentDate = DateTimeOffset.UtcNow, Comment = "<p>This is a comment.</p>" }, new HtmlComment { MemberName = "Member Two", MemberEmail = "*****@*****.**", CommentDate = DateTimeOffset.UtcNow.AddDays(-5), Comment = "<p>This is a comment <i>with formatting</i>.</p>" } , new HtmlComment { MemberName = "Member Three", MemberEmail = "*****@*****.**", CommentDate = DateTimeOffset.UtcNow.AddDays(-10), Comment = "<p>This is a comment with paragraphs.</p><p>This is a comment with paragraphs.</p>" } }; #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 294 "..\..\Views\StyleGuideStoolballData.cshtml" Write(Html.Partial("_Comments", comments)); #line default #line hidden WriteLiteral("\r\n</div>"); }