@using Microsoft.AspNetCore.Mvc.Localization @using gehGassi.Domain.Coins @using gehGassi.Core.Interfaces @using gehGassi.Domain.Dogs @using gehGassi.Web.Helper @model List @inject IViewLocalizer Localizer @{ ViewData["Title"] = Localizer["Common_Competition"]; Layout = "_LayoutApp"; string selectedLanguage = "de"; if (ViewBag.SelectedLanguage != null) { selectedLanguage = ViewBag.SelectedLanguage; } string gassiUrl = string.Empty; if (selectedLanguage.ToLower() == "de") { gassiUrl = "https://gehgassi.com/de/wettbewerb?role=owner"; } else { gassiUrl = "https://gehgassi.com/en/competition?role=owner"; } bool dark = ViewBag.DarkMode; int year = ViewBag.Year; var isCurrent = year == DateTimeOffset.UtcNow.Year; var hasNext = !isCurrent; var hasPrevious = false; var nextYear = new DateTimeOffset(year, 1, 1, 0, 0, 0, TimeSpan.Zero).AddYears(1); var previousYear = new DateTimeOffset(year, 1, 1, 0, 0, 0, TimeSpan.Zero).AddYears(-1); if (previousYear >= new DateTimeOffset(2023, 1, 1, 0, 0, 0, TimeSpan.Zero)) { hasPrevious = true; } var appUserId = string.Empty; AppUser appUser = null; if (ViewBag.AppUser != null) { appUser = ViewBag.AppUser; appUserId = appUser.Id; } var appUserIsInList = false; long selectedId = -1; CoinsPerYear myCoins = null; if (ViewBag.MyCoins != null) { myCoins = ViewBag.MyCoins; selectedId = myCoins.Id; } var minCoins = 0m; if (ViewBag.MinCoins != null) { minCoins = ViewBag.MinCoins; } CoinsOptions coinsOptions = ViewBag.CoinsOptions; }
@if (hasPrevious) { < } else { }

@year

@if (hasNext) { > } else { }
@if (isCurrent) {
Min. @minCoins gassiCoins
} @if (Model.Count == 0) { if (isCurrent) {
@Localizer["Competition_Criteria_None"]
@Localizer["Competition_Criteria"] @minCoins gassiCoins.
@if(appUser != null) {

@Localizer["Competition_Coins_Current"]: @myCoins.Balance

} } else {
@Localizer["Competition_NoWinner"]
} } else { var counter = 1;
@if (Model.Count >= 10) {
TOP 10
} @foreach (var item in Model) { string selected; if (item.Id == selectedId) { selected = "competition-selected"; appUserIsInList = true; } else { selected = string.Empty; } counter++; } @if (!appUserIsInList && appUser != null) { }
@Localizer["Competition_Place"] @Localizer["Competition_Owner"] gassiCoins
@counter @item.AppUserName.AnonymizeFullName() @item.Balance
... ... ...
@if (Model.Count >= 10) { 11+ } else { ? } @((appUser.FirstName + " " + appUser.LastName).AnonymizeFullName()) @myCoins.Balance
... ... ...
} @if (isCurrent) {

@Localizer["Competition_Coins_HowToEarn"]

@Localizer["Competition_Coins_Walk"]: @coinsOptions.WalkForOwner
@Localizer["Competition_Coins_Sitting"]: @coinsOptions.SittingForOwner
@Localizer["Competition_Coins_Daycare"]: @coinsOptions.DayCareForOwner
}