Ejemplo n.º 1
0
        public IList <Wuyiju.View.LineChartJS> GetCount(Wuyiju.View.LineChartJS.Query query)
        {
            StringBuilder sql = new StringBuilder(@"select count(*) as count, FROM_UNIXTIME(add_time) as add_time from ec_order where 1=1 ");

            sql.AndDateBetween("add_time", "startdate", "enddate");

            sql.AppendFormat(" group by FROM_UNIXTIME(add_time,'%Y%m%d') ");

            DynamicParameters param = new DynamicParameters();


            if (query != null)
            {
                param.AddDynamicParams(query);
            }

            return(db.GetList <Wuyiju.View.LineChartJS>(sql, param));
        }
Ejemplo n.º 2
0
        public IList <Wuyiju.View.LineChartJS> GetCount(Wuyiju.View.LineChartJS.Query query)
        {
            int subday = query.EndDate.Subtract(query.StartDate).Days;

            if (subday > 1000 || subday < 1)
            {
                throw new ApplicationException("统计间隔不能超过1000天或少于1天");
            }

            query.StartDate = new DateTime(query.StartDate.Year, query.StartDate.Month, query.StartDate.Day, 0, 0, 0);

            query.EndDate = new DateTime(query.EndDate.Year, query.EndDate.Month, query.EndDate.Day, 23, 59, 59);
            using (var db = new DataContext())
            {
                var _dao = this.GetDao(db);

                var lst = _dao.GetCount(query);



                var results = new List <Wuyiju.View.LineChartJS>();

                for (int i = 0; i < subday; i++)
                {
                    var tmp = query.StartDate.AddDays(i).Date;
                    if (lst != null)
                    {
                        var items = lst.Where(d => d.Add_Time.HasValue && d.Add_Time.Value.Date.Equals(tmp)).ToList();
                        if (items != null && items.Count > 0)
                        {
                            results.Add(items[0]);
                            continue;
                        }
                    }

                    var item = new Wuyiju.View.LineChartJS {
                        Count = 0, Add_Time = tmp
                    };
                    results.Add(item);
                }

                return(results);
            }
        }