diff --git a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs index 607bea5288a2ff606003bc399b67231caddf73ee..b90f27a045aa0a2d25f62ecec9b1881a8afb96fc 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();