Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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());
        }