From d72bd4d10ab37ae434b358763e756ccbb6c1a578 Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Thu, 21 May 2015 16:47:08 +0200 Subject: [PATCH] add worldwide rating --- src/OnePeek.Api/OnePeekApi.cs | 2 +- src/OnePeek.WebConsole/Modules/HomeModule.cs | 4 +++- src/OnePeek.WebConsole/Views/Ratings.cshtml | 16 ++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/OnePeek.Api/OnePeekApi.cs b/src/OnePeek.Api/OnePeekApi.cs index e863358..71f4c0f 100644 --- a/src/OnePeek.Api/OnePeekApi.cs +++ b/src/OnePeek.Api/OnePeekApi.cs @@ -11,7 +11,7 @@ using System.Threading; namespace OnePeek.Api { - public class OnePeekApi : ApiBase, IOnePeekApi + public class OnePeekApi : IOnePeekApi { /// /// Searches for apps based on a term (app name, keywords, ..) diff --git a/src/OnePeek.WebConsole/Modules/HomeModule.cs b/src/OnePeek.WebConsole/Modules/HomeModule.cs index 1d3b35a..2463ccf 100644 --- a/src/OnePeek.WebConsole/Modules/HomeModule.cs +++ b/src/OnePeek.WebConsole/Modules/HomeModule.cs @@ -87,7 +87,9 @@ namespace OnePeek.WebConsole.Modules { Order = order, Id = Request.Query["id"], - Ratings = ratings + Ratings = ratings, + WorldwideRating = ratings.Where(x => !x.RatingNotAvailable && x.RatingCount > 0).Average(x => x.AverageRating), + WorldwideCount = ratings.Sum(x => x.RatingCount) }]; }; } diff --git a/src/OnePeek.WebConsole/Views/Ratings.cshtml b/src/OnePeek.WebConsole/Views/Ratings.cshtml index 6a02a9c..e64eeb6 100644 --- a/src/OnePeek.WebConsole/Views/Ratings.cshtml +++ b/src/OnePeek.WebConsole/Views/Ratings.cshtml @@ -1,4 +1,5 @@ -@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase +@using System.Linq +@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase @{ Layout = "_Layout.cshtml"; } @@ -12,9 +13,20 @@ ORDER BY

+
+

Worldwide

+

OK @Model.WorldwideRating (@Model.WorldwideCount)

+
+ +@{ + string percentage = ((float)Model.WorldwideRating * 20f).ToString("0.00").Replace(",", "."); +} + +
+ @foreach (var rating in Model.Ratings) { - string percentage = ((float)rating.AverageRating * 20f).ToString("0.00").Replace(",", "."); + percentage = ((float)rating.AverageRating * 20f).ToString("0.00").Replace(",", ".");

@rating.Culture

@(rating.RatingNotAvailable ? "ERROR" : "OK") @rating.AverageRating (@rating.RatingCount)