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