示例#1
0
        private ListShopData GetDbShopData(int ShopId, DateTime starttime, DateTime endtime)
        {
            IList <Shopdata> listadily = new List <Shopdata>();
            ListShopData     lsd       = new ListShopData();

            lsd.List_X_Key   = new List <string>();
            lsd.List_X_Value = new List <Shopdata>();

            try
            {
                listadily = bao.DailyHighlights(ShopId, starttime, endtime);

                for (int i = 0; i < 7; i++)
                {
                    Shopdata shopd = listadily.FirstOrDefault((e) => { return(e.Paydate == starttime.AddDays(i)); });
                    if (shopd == null)
                    {
                        shopd                       = new Shopdata();
                        shopd.Paydate               = starttime.AddDays(i);
                        shopd.OrderCount            = 0;
                        shopd.OrderPrice            = 0;
                        shopd.TransactionCount      = 0;
                        shopd.TransactionCountPrice = 0;
                    }
                    lsd.List_X_Key.Add(starttime.AddDays(i).Day.ToString());
                    lsd.List_X_Value.Add(shopd);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lsd);
        }
示例#2
0
        /// <summary>
        /// 首页
        /// </summary>
        /// <returns></returns>
        public ViewResult Index(string selectType = "", string SelectDay = "")
        {
            // 日期(X轴)、内容(Y轴)、提示内容、曲线名、数据点

            /*取数据算法(选择日期的前后共七天),
             * 当前日期减去选中日期,
             * 向后取: DateTime.Parse(SelectDay).AddDays(DateTime.Now.data-SelectDay ),
             * 向前取: DateTime.Parse(SelectDay).AddDays(DateTime.Now.data-SelectDay - 7)*/

            ListShopData lsd        = new ListShopData();
            tbClientUser clientuser = GetUser("UserInfo");

            if (string.IsNullOrEmpty(selectType))
            {
                selectType = "OrderPrice";
            }
            if (string.IsNullOrEmpty(SelectDay))
            {
                SelectDay = DateTime.Now.Date.ToString();
            }

            DateTime selecttime = new DateTime();

            if (DateTime.TryParse(SelectDay, out selecttime))
            {
                if (selecttime.CompareTo(DateTime.Now.Date) <= 0)
                {
                    DateTime starttime = new DateTime();
                    DateTime endtime   = new DateTime();

                    //算间隔时间
                    int jgtime = DateTime.Now.Date.Subtract(selecttime).Days;

                    if (jgtime <= 7)
                    {
                        endtime   = selecttime.AddDays(jgtime);
                        starttime = selecttime.AddDays(jgtime - 7);
                    }
                    else
                    {
                        endtime   = selecttime.AddDays(3);
                        starttime = selecttime.AddDays(-3);
                    }

                    /*测试数据*/
                    endtime   = DateTime.Now.Date.AddDays(-2);
                    starttime = DateTime.Now.Date.AddDays(-10);

                    //取数据库中的店铺数据根据起始日期
                    lsd = GetDbShopData(clientuser.UserShops[0].Shop.ShopId, starttime, endtime);

                    // 在对lsd 赋值后实例化下面的容器
                    lsd.LinsNames    = new List <string>();
                    lsd.List_Y_Key   = new List <string>();
                    lsd.List_Y_Value = new List <float>();

                    lsd.Table_Title = "店铺日报";

                    switch (selectType)
                    {
                    case "OrderPrice":
                    {
                        lsd.LinsNames.Add("订单金额");
                        lsd.SelectTime = selecttime;
                        lsd.List_Y_Key.Add("金额");
                        lsd.TipsContent  = "¥(元)";
                        lsd.List_Y_Value = Array.ConvertAll <Shopdata, float>(lsd.List_X_Value.ToArray(), (evt) => { return(evt.OrderPrice); }).ToList <float>();
                    }
                    break;

                    case "TransactionPrice":
                    {
                        lsd.LinsNames.Add("成交金额");
                        lsd.SelectTime = selecttime;
                        lsd.List_Y_Key.Add("金额");
                        lsd.TipsContent  = "¥(元)";
                        lsd.List_Y_Value = Array.ConvertAll <Shopdata, float>(lsd.List_X_Value.ToArray(), (evt) => { return(evt.TransactionCountPrice); }).ToList <float>();
                    }
                    break;

                    case "TransactionCount":
                    {
                        lsd.LinsNames.Add("成交笔数");
                        lsd.SelectTime = selecttime;
                        lsd.List_Y_Key.Add("单");
                        lsd.TipsContent  = "(单)";
                        lsd.List_Y_Value = Array.ConvertAll <Shopdata, float>(lsd.List_X_Value.ToArray(), (evt) => { return(evt.TransactionCount); }).ToList <float>();
                    }
                    break;

                    case "OrderCount":
                    {
                        lsd.LinsNames.Add("订单单数");
                        lsd.SelectTime = selecttime;
                        lsd.List_Y_Key.Add("单");
                        lsd.TipsContent  = "(单)";
                        lsd.List_Y_Value = Array.ConvertAll <Shopdata, float>(lsd.List_X_Value.ToArray(), (evt) => { return(evt.OrderCount); }).ToList <float>();
                    }
                    break;

                    default:
                    {
                        lsd.LinsNames.Add("订单金额");
                        lsd.SelectTime = selecttime;
                        lsd.List_Y_Key.Add("金额");
                        lsd.TipsContent  = "¥(元)";
                        lsd.List_Y_Value = Array.ConvertAll <Shopdata, float>(lsd.List_X_Value.ToArray(), (evt) => { return(evt.OrderPrice); }).ToList <float>();
                    }
                    break;
                    }

                    //声明匿名类
                    var chartdata = new
                    {
                        title   = new { text = lsd.Table_Title, x = -20 },
                        xAxis   = new { categories = lsd.List_X_Key },
                        yAxis   = new { title = new { text = lsd.List_Y_Key[0] }, plotLines = new[] { new { value = 0, width = 1, color = "#808080" } }.ToArray() },
                        tooltip = new { valueSuffix = lsd.TipsContent },
                        legend  = new { layout = "horizontal", verticalAlign = "bottom", borderWidth = 0 },
                        series  = (new[] { 1 }).Select(x => new { name = lsd.LinsNames[0], data = lsd.List_Y_Value }).ToList()
                    };

                    //将数据带过去
                    ViewData["chartdate"] = chartdata;
                }
                else
                {
                }
            }

            return(View(lsd));
        }