From 5190032029756fadda793f8f2ef3a332f967664e Mon Sep 17 00:00:00 2001 From: Thomas Hounsell Date: Fri, 19 Aug 2016 19:47:30 +0100 Subject: [PATCH] Fix #70; Don't break front page on nulls --- BuildFeed/Models/Build/Build.cs | 6 +-- BuildFeed/Views/front/editBuild.cshtml | 2 +- BuildFeed/Views/front/index.cshtml | 69 +++++++++++++++----------- 3 files changed, 43 insertions(+), 34 deletions(-) diff --git a/BuildFeed/Models/Build/Build.cs b/BuildFeed/Models/Build/Build.cs index ff8ed4e..ce8e987 100644 --- a/BuildFeed/Models/Build/Build.cs +++ b/BuildFeed/Models/Build/Build.cs @@ -114,7 +114,7 @@ public async Task SelectFrontPage() } }).Sort(sortByCompileDate).Limit(1); - fp.CurrentCanary = (await query.ToListAsync())[0]; + fp.CurrentCanary = await query.FirstOrDefaultAsync(); query = _buildCollection.Find(new BsonDocument { @@ -138,7 +138,7 @@ public async Task SelectFrontPage() } }).Sort(sortByCompileDate).Limit(1); - fp.CurrentInsider = (await query.ToListAsync())[0]; + fp.CurrentInsider = await query.FirstOrDefaultAsync(); query = _buildCollection.Find(new BsonDocument { @@ -162,7 +162,7 @@ public async Task SelectFrontPage() } }).Sort(sortByCompileDate).Limit(1); - fp.CurrentRelease = (await query.ToListAsync())[0]; + fp.CurrentRelease = await query.FirstOrDefaultAsync(); return fp; } diff --git a/BuildFeed/Views/front/editBuild.cshtml b/BuildFeed/Views/front/editBuild.cshtml index 316a8a2..32f81bf 100644 --- a/BuildFeed/Views/front/editBuild.cshtml +++ b/BuildFeed/Views/front/editBuild.cshtml @@ -123,7 +123,7 @@ else { @class = "form-control" }) - + @Html.ValidationMessageFor(model => model.LeakDate) diff --git a/BuildFeed/Views/front/index.cshtml b/BuildFeed/Views/front/index.cshtml index f28446c..af5979a 100644 --- a/BuildFeed/Views/front/index.cshtml +++ b/BuildFeed/Views/front/index.cshtml @@ -11,39 +11,48 @@

@VariantTerms.Front_LatestBuilds

- -

@VariantTerms.Front_CurrentCanary

-
-

@(Model.CurrentCanary.MajorVersion).@(Model.CurrentCanary.MinorVersion).@(Model.CurrentCanary.Number).@(Model.CurrentCanary.Revision)

-

@Model.CurrentCanary.Lab

-

@Model.CurrentCanary.BuildTime.Value.ToString("HH:mm, dddd dd MMMM yyyy")

-
-
- -

@VariantTerms.Front_CurrentInsider

-
-

@(Model.CurrentInsider.MajorVersion).@(Model.CurrentInsider.MinorVersion).@(Model.CurrentInsider.Number).@(Model.CurrentInsider.Revision)

-

@Model.CurrentInsider.Lab

-

@Model.CurrentInsider.BuildTime.Value.ToString("HH:mm, dddd dd MMMM yyyy")

-
-
- -

@VariantTerms.Front_CurrentRelease

-
-

@(Model.CurrentRelease.MajorVersion).@(Model.CurrentRelease.MinorVersion).@(Model.CurrentRelease.Number).@(Model.CurrentRelease.Revision)

-

@Model.CurrentRelease.Lab

-

@Model.CurrentRelease.BuildTime.Value.ToString("HH:mm, dddd dd MMMM yyyy")

-
-
+

@VariantTerms.Front_CurrentCanary

+
+

@(Model.CurrentCanary.MajorVersion).@(Model.CurrentCanary.MinorVersion).@(Model.CurrentCanary.Number).@(Model.CurrentCanary.Revision)

+

@Model.CurrentCanary.Lab

+

@(Model.CurrentCanary.BuildTime?.ToString("HH:mm, dddd dd MMMM yyyy"))

+
+ + } + @if (Model.CurrentInsider != null) + { + +

@VariantTerms.Front_CurrentInsider

+
+

@(Model.CurrentInsider.MajorVersion).@(Model.CurrentInsider.MinorVersion).@(Model.CurrentInsider.Number).@(Model.CurrentInsider.Revision)

+

@Model.CurrentInsider.Lab

+

@(Model.CurrentInsider.BuildTime?.ToString("HH:mm, dddd dd MMMM yyyy"))

+
+
+ } + @if (Model.CurrentRelease != null) + { + +

@VariantTerms.Front_CurrentRelease

+
+

@(Model.CurrentRelease.MajorVersion).@(Model.CurrentRelease.MinorVersion).@(Model.CurrentRelease.Number).@(Model.CurrentRelease.Revision)

+

@Model.CurrentRelease.Lab

+

@(Model.CurrentRelease.BuildTime?.ToString("HH:mm, dddd dd MMMM yyyy"))

+
+
+ }