/// <summary> /// 计算图表单条线数据 /// </summary> /// <param name="dateList">源数据</param> /// <param name="allTime">图表总体时间节点</param> /// <returns></returns> List <TimeToCount> ComputeTime(List <TimeToCount> dateList, List <DateTime> allTime) { List <TimeToCount> result = new List <TimeToCount>(); foreach (var data in dateList) { if (result.Count == 0) { result.Add(data); allTime.Add(data.Time); } else { int index = result.FindIndex(x => x.Time == data.Time); if (index != -1) { result[index].Count += data.Count; } else { TimeToCount temp = new TimeToCount(); temp.Time = data.Time; temp.Count = result[result.Count - 1].Count + data.Count; result.Add(temp); allTime.Add(data.Time); } } } return(result); }
/// <summary> /// 将数据中的创建时间和结束时间拆分开 /// </summary> /// <param name="queryData">源数据</param> /// <returns></returns> List <TimeToCount> AnalysizeTime(List <ItemDateInfo> queryData) { DateTime dt = new DateTime(); var timeToCount = new List <TimeToCount>(); foreach (var pro in queryData) { var createTime = new TimeToCount { Time = pro.CreatedAt.Date, Count = 1 }; //判断项目是否已被删除 if (pro.IsDel) { /* 判断是否存在删除时间 * 存在读取删除时间 * 不存在则跳过 */ if (pro.DelAt != null && pro.DelAt != dt) { string tempDate = DateTime.Parse(pro.DelAt.ToString()).ToString("yyyy-MM-dd"); var delTime = new TimeToCount { Time = DateTime.Parse(tempDate), Count = -1 }; timeToCount.Add(delTime); } else { continue; } } timeToCount.Add(createTime); } return(timeToCount.OrderBy(x => x.Time).ToList()); }