diff --git a/Aberwyn/Controllers/BudgetController.cs b/Aberwyn/Controllers/BudgetController.cs index 254a7cb..017da7a 100644 --- a/Aberwyn/Controllers/BudgetController.cs +++ b/Aberwyn/Controllers/BudgetController.cs @@ -27,6 +27,12 @@ namespace Aberwyn.Controllers return View(); } + [Route("budget/elkostnad")] + public IActionResult Elkostnad() + { + return View(); + } + // För fallback när ingen månad/år anges [Route("budget")] diff --git a/Aberwyn/Controllers/FoodMenuController.cs b/Aberwyn/Controllers/FoodMenuController.cs index 9572a3a..42a3f4e 100644 --- a/Aberwyn/Controllers/FoodMenuController.cs +++ b/Aberwyn/Controllers/FoodMenuController.cs @@ -358,7 +358,7 @@ namespace Aberwyn.Controllers } entry.Cook = cook; - + entry.Date = FirstDateOfISOWeek(year, week).AddDays(day); if (string.IsNullOrWhiteSpace(mealName)) { switch (mealType.ToLower()) @@ -564,7 +564,21 @@ namespace Aberwyn.Controllers + private static DateTime FirstDateOfISOWeek(int year, int weekOfYear) + { + DateTime jan4 = new DateTime(year, 1, 4); + int daysOffset = DayOfWeek.Thursday - jan4.DayOfWeek; + DateTime firstThursday = jan4.AddDays(daysOffset); + var cal = System.Globalization.CultureInfo.CurrentCulture.Calendar; + int firstWeek = cal.GetWeekOfYear(firstThursday, System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); + + if (firstWeek <= 1) + weekOfYear -= 1; + + DateTime result = firstThursday.AddDays(weekOfYear * 7); + return result.AddDays(-3); // tillbaka till måndag + } diff --git a/Aberwyn/Views/Budget/Elkostnad.cshtml b/Aberwyn/Views/Budget/Elkostnad.cshtml new file mode 100644 index 0000000..1657fc3 --- /dev/null +++ b/Aberwyn/Views/Budget/Elkostnad.cshtml @@ -0,0 +1,70 @@ +@{ + ViewData["Title"] = "Elkostnad"; +} + +