private void HandleMonthData() { //处理本月的数据 var MonthWorkData = new List <ChartDataModel>(); var MonthRestData = new List <ChartDataModel>(); var MonthSkipData = new List <ChartDataModel>(); //计算上个月的数据 int lastYear = Data.Year; int lastMonth = Data.Month; if (lastMonth - 1 == 0) { lastMonth = 12; lastYear -= 1; } else { lastMonth -= 1; } var lastMonthData = statistic.GetData(lastYear, lastMonth); Data.LastMonthWork = lastMonthData.Count > 0 ? lastMonthData.Sum(m => m.WorkingTime) : 0; Data.LastMonthRest = lastMonthData.Count > 0 ? lastMonthData.Sum(m => m.ResetTime) : 0; Data.LastMonthSkip = lastMonthData.Count > 0 ? lastMonthData.Sum(m => m.SkipCount) : 0; //计算本月的数据 var monthData = statistic.GetData(Data.Year, Data.Month); Data.MonthWork = monthData.Count > 0 ? monthData.Sum(m => m.WorkingTime) : 0; Data.MonthRest = monthData.Count > 0 ? monthData.Sum(m => m.ResetTime) : 0; Data.MonthSkip = monthData.Count > 0 ? monthData.Sum(m => m.SkipCount) : 0; foreach (var data in monthData) { bool isSelected = DateTime.Now.Date == data.Date.Date; MonthWorkData.Add(new ChartDataModel() { IsSelected = isSelected, PopupText = (isSelected ? $"{Application.Current.Resources["Lang_today"]} " : "") + "{value} " + Application.Current.Resources["Lang_Hours_n"], Tag = data.Date.Day.ToString(), Value = data.WorkingTime }); MonthRestData.Add(new ChartDataModel() { IsSelected = isSelected, PopupText = (isSelected ? $"{Application.Current.Resources["Lang_today"]} " : "") + "{value} " + Application.Current.Resources["Lang_Minutes_n"], Tag = data.Date.Day.ToString(), Value = data.ResetTime }); MonthSkipData.Add(new ChartDataModel() { IsSelected = isSelected, PopupText = (isSelected ? $"{Application.Current.Resources["Lang_today"]} " : "") + "{value} " + Application.Current.Resources["Lang_x_n"], Tag = data.Date.Day.ToString(), Value = data.SkipCount }); } Data.MonthRestData = MonthRestData; Data.MonthSkipData = MonthSkipData; Data.MonthWorkData = MonthWorkData; }