diff --git a/ServerCore/Helpers/TimeHelper.cs b/ServerCore/Helpers/TimeHelper.cs new file mode 100644 index 00000000..99fd376d --- /dev/null +++ b/ServerCore/Helpers/TimeHelper.cs @@ -0,0 +1,21 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using ServerCore.DataModel; + +namespace ServerCore.Helpers +{ + public static class TimeHelper + { + /// + /// returns a time with the formatting required for the jQuery code in site.js to convert it to browser local time + /// + /// + /// + public static string LocalTime(DateTime? date) + { + return date == null ? " " : $""; + } + } +} diff --git a/ServerCore/ModelBases/EventSpecificPageModel.cs b/ServerCore/ModelBases/EventSpecificPageModel.cs index ecd5d943..047185e9 100644 --- a/ServerCore/ModelBases/EventSpecificPageModel.cs +++ b/ServerCore/ModelBases/EventSpecificPageModel.cs @@ -87,6 +87,11 @@ public async Task GetTeamId() } } + public string LocalTime(DateTime? date) + { + return TimeHelper.LocalTime(date); + } + public class EventBinder : IModelBinder { public async Task BindModelAsync(ModelBindingContext bindingContext) diff --git a/ServerCore/Pages/Events/Create.cshtml b/ServerCore/Pages/Events/Create.cshtml index 3ffdb1fb..e558e00f 100644 --- a/ServerCore/Pages/Events/Create.cshtml +++ b/ServerCore/Pages/Events/Create.cshtml @@ -6,6 +6,7 @@ }

Create a new event

+

ALL TIMES UTC! Current time is @DateTime.UtcNow.ToShortTimeString()

Event


diff --git a/ServerCore/Pages/Events/Details.cshtml b/ServerCore/Pages/Events/Details.cshtml index d23a40bc..f0eb3ad3 100644 --- a/ServerCore/Pages/Events/Details.cshtml +++ b/ServerCore/Pages/Events/Details.cshtml @@ -9,6 +9,7 @@ }

@Model.Event.Name: Details

+

ALL TIMES UTC! Current time is @DateTime.UtcNow.ToShortTimeString()

Edit | Import | Delete diff --git a/ServerCore/Pages/Events/Edit.cshtml b/ServerCore/Pages/Events/Edit.cshtml index 636ca316..c9da1c29 100644 --- a/ServerCore/Pages/Events/Edit.cshtml +++ b/ServerCore/Pages/Events/Edit.cshtml @@ -9,6 +9,7 @@ }

@Model.Event.Name: Edit

+

ALL TIMES UTC! Current time is @DateTime.UtcNow.ToShortTimeString()

Cancel
diff --git a/ServerCore/Pages/Hints/AuthorIndex.cshtml b/ServerCore/Pages/Hints/AuthorIndex.cshtml index b73a9878..036eaad6 100644 --- a/ServerCore/Pages/Hints/AuthorIndex.cshtml +++ b/ServerCore/Pages/Hints/AuthorIndex.cshtml @@ -77,7 +77,7 @@ @Html.DisplayFor(modelItem => item.Hint.Cost) - @Html.DisplayFor(modelItem => item.UnlockTime) + @Html.Raw(Model.LocalTime(item.UnlockTime)) } diff --git a/ServerCore/Pages/Puzzles/Feedback.cshtml b/ServerCore/Pages/Puzzles/Feedback.cshtml index 074e1c17..3e090411 100644 --- a/ServerCore/Pages/Puzzles/Feedback.cshtml +++ b/ServerCore/Pages/Puzzles/Feedback.cshtml @@ -68,7 +68,7 @@ else @Html.DisplayFor(modelItem => item.Submitter.Email) - @Html.DisplayFor(modelItem => item.Feedback.SubmissionTime) + @Html.Raw(Model.LocalTime(item.Feedback.SubmissionTime)) @Html.DisplayFor(modelItem => item.Feedback.WrittenFeedback) diff --git a/ServerCore/Pages/Puzzles/Status.cshtml b/ServerCore/Pages/Puzzles/Status.cshtml index 12cebe86..c3584029 100644 --- a/ServerCore/Pages/Puzzles/Status.cshtml +++ b/ServerCore/Pages/Puzzles/Status.cshtml @@ -55,7 +55,7 @@ } else { - @Html.DisplayFor(modelItem => item.UnlockedTime) + @Html.Raw(Model.LocalTime(item.UnlockedTime)) X } @@ -66,7 +66,7 @@ } else { - @Html.DisplayFor(modelItem => item.SolvedTime) + @Html.Raw(Model.LocalTime(item.SolvedTime)) X } diff --git a/ServerCore/Pages/Submissions/AuthorIndex.cshtml b/ServerCore/Pages/Submissions/AuthorIndex.cshtml index 4be0484e..b5209868 100644 --- a/ServerCore/Pages/Submissions/AuthorIndex.cshtml +++ b/ServerCore/Pages/Submissions/AuthorIndex.cshtml @@ -88,7 +88,7 @@ @Html.DisplayFor(modelItem => item.SubmissionText) - @Html.DisplayFor(modelItem => item.TimeSubmitted) + @Html.Raw(Model.LocalTime(item.TimeSubmitted)) } diff --git a/ServerCore/Pages/Submissions/Index.cshtml b/ServerCore/Pages/Submissions/Index.cshtml index 73bd6ac0..8a64a44b 100644 --- a/ServerCore/Pages/Submissions/Index.cshtml +++ b/ServerCore/Pages/Submissions/Index.cshtml @@ -96,7 +96,7 @@ { - @Html.DisplayFor(modelItem => item.TimeSubmitted) + @Html.Raw(Model.LocalTime(item.TimeSubmitted)) @Html.DisplayFor(modelItem => item.Submitter.Name) diff --git a/ServerCore/Pages/Teams/Answers.cshtml b/ServerCore/Pages/Teams/Answers.cshtml index 25b88c9b..e7692d64 100644 --- a/ServerCore/Pages/Teams/Answers.cshtml +++ b/ServerCore/Pages/Teams/Answers.cshtml @@ -43,7 +43,7 @@ { - @item.TimeSubmitted + @Html.Raw(Model.LocalTime(item.TimeSubmitted)) @item.Group diff --git a/ServerCore/Pages/Teams/Play.cshtml b/ServerCore/Pages/Teams/Play.cshtml index ccd88169..d810ef3b 100644 --- a/ServerCore/Pages/Teams/Play.cshtml +++ b/ServerCore/Pages/Teams/Play.cshtml @@ -78,7 +78,7 @@ @if (item.State.SolvedTime != null) { - Solved at @item.State.SolvedTime + Solved on @Html.Raw(Model.LocalTime(item.State.SolvedTime)) } else if (@Model.Event.IsAnswerSubmissionActive) { diff --git a/ServerCore/Pages/Teams/Status.cshtml b/ServerCore/Pages/Teams/Status.cshtml index 457a896c..0cc28ff8 100644 --- a/ServerCore/Pages/Teams/Status.cshtml +++ b/ServerCore/Pages/Teams/Status.cshtml @@ -54,7 +54,7 @@ } else { - @Html.DisplayFor(modelItem => item.UnlockedTime) + @Html.Raw(Model.LocalTime(item.UnlockedTime)) X } @@ -65,7 +65,7 @@ } else { - @Html.DisplayFor(modelItem => item.SolvedTime) + @Html.Raw(Model.LocalTime(item.SolvedTime)) X } diff --git a/ServerCore/wwwroot/js/site.js b/ServerCore/wwwroot/js/site.js index 82ecce7b..c0eab246 100644 --- a/ServerCore/wwwroot/js/site.js +++ b/ServerCore/wwwroot/js/site.js @@ -1 +1,6 @@ // Write your Javascript code. +$("time").each(function (elem) { + var utctimeval = $(this).html(); + var date = new Date(utctimeval); + $(this).html(date.toLocaleString()); +}); \ No newline at end of file