Пример #1
0
        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;
        }