From 8ed9b42a75691cfa0e225a3b76931ea6f27f1f84 Mon Sep 17 00:00:00 2001 From: MarcusStorvangJonassen <95277125+MarcusStorvangJonassen@users.noreply.github.com> Date: Mon, 7 Apr 2025 20:29:54 +0200 Subject: [PATCH] Fixed for two months in the same week --- .../ViewModels/ActivityHistoryViewModel.cs | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs index 607bea5..b90f27a 100644 --- a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs +++ b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs @@ -192,12 +192,20 @@ namespace BeSafePlus.ViewModels var newWeeklyData = new List<StepCount>(); + var monthCount = new Dictionary<int, int>(); + int totalSteps = 0; for (int i = 0; i < 7; i++) { var date = startOfWeek.AddDays(i); + int monthKey = date.Month + date.Year * 100; + + if (!monthCount.ContainsKey(monthKey)) monthCount[monthKey] = 0; + + monthCount[monthKey]++; + var stepData = await _database.GetStepCountByDate(date); if (stepData != null) @@ -217,11 +225,17 @@ namespace BeSafePlus.ViewModels TotalStepsThisWeek = totalSteps; - var currentWeekReferenceDate = today; + int dominantMonthKey = monthCount.OrderByDescending(kv => kv.Value).First().Key; + + int dominantYear = dominantMonthKey / 100; + + int dominantMonth = dominantMonthKey % 100; + + var dominantMonthDate = new DateTime(dominantYear, dominantMonth, 1); - var realMonthOffset = (currentWeekReferenceDate.Year - DateTime.Now.Year) * 12 + (currentWeekReferenceDate.Month - DateTime.Now.Month); + var now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); - _currentMonthOffset = realMonthOffset; + _currentMonthOffset = ((dominantMonthDate.Year - now.Year) * 12) + (dominantMonthDate.Month - now.Month); await LoadMonthlySteps(); -- GitLab