From a7c8a87e4b3db7ad7728d8bdda37fcb38d4488fe Mon Sep 17 00:00:00 2001 From: MarcusStorvangJonassen <95277125+MarcusStorvangJonassen@users.noreply.github.com> Date: Fri, 4 Apr 2025 18:39:49 +0200 Subject: [PATCH] Now all three fields in ActivityHistoryPage is in sync --- .../ViewModels/ActivityHistoryViewModel.cs | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs index 14e2db5..cb3f767 100644 --- a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs +++ b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs @@ -101,13 +101,35 @@ namespace BeSafePlus.ViewModels TotalStepsThisWeek = WeeklyStepData.Sum(data => data.Steps); - await LoadMonthlySteps(); + var todayMonthlyEntry = MonthlyStepData.FirstOrDefault(data => DateTime.Parse(data.Date).Date == today); + + if (todayMonthlyEntry == null) + { + todayMonthlyEntry = new StepCount { Date = today.ToString("yyyy-MM-dd"), Steps = steps }; + + MonthlyStepData.Add(todayMonthlyEntry); + } + + else + { + todayMonthlyEntry.Steps = steps; + } + + var firstDayOfMonth = new DateTime(today.Year, today.Month, 1); + + var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1); + + TotalStepsThisMonth = MonthlyStepData + .Where(data => DateTime.Parse(data.Date) >= firstDayOfMonth && DateTime.Parse(data.Date) <= lastDayOfMonth) + .Sum(data => data.Steps); OnPropertyChanged(nameof(WeeklyStepData)); OnPropertyChanged(nameof(TotalStepsThisWeek)); OnPropertyChanged(nameof(AccumulatedSteps)); + + OnPropertyChanged(nameof(TotalStepsThisMonth)); }); } public void SetProgress(int steps) -- GitLab