コード例 #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
ファイル: AnalysisOrderData.cs プロジェクト: giagiigi/MYDZ
        /// <summary>
        /// 每日要闻
        /// </summary>
        /// <param name="shopId"></param>
        public IList <Shopdata> DailyHighlights(int shopId, DateTime StartTime, DateTime EndtTime)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("SELECT  Convert ( VARCHAR(10),  OrdersDate,  120)  AS  Paydate, /*日期*/");
            strSql.Append(" SUM(OrdersAccounts) AS PaymentCountPrice,/*订单金额*/");
            strSql.Append(" SUM(OrdersPaid) AS TransactionCountPrice,/*支付金额*/ ");
            strSql.Append(" COUNT(PayDate) AS TransactionCount,/*支付笔数*/");
            strSql.Append(" COUNT(OrdersId)  AS  PaymentCount /*订单数*/");
            strSql.Append(" FROM (SELECT OrdersDate,OrdersAccounts,OrdersPaid, PayDate,OrdersId FROM tbOrdersInfo WHERE ShopId=@ShopId AND OrdersDate BETWEEN @StartTime AND @EndtTime) AS tbOrdersInfo ");
            strSql.Append("GROUP BY Convert ( VARCHAR(10),  OrdersDate,  120) order by Paydate ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ShopId",    SqlDbType.Int,       4),
                new SqlParameter("@StartTime", SqlDbType.DateTime),
                new SqlParameter("@EndtTime",  SqlDbType.DateTime)
            };
            parameters[0].Value = shopId;
            parameters[1].Value = StartTime;
            parameters[2].Value = EndtTime;
            IList <Shopdata> listdaily = new List <Shopdata>();
            Shopdata         daily     = null;

            using (IDataReader MyReader = DBHelper.ExecuteReader(CommandType.Text, strSql.ToString(), parameters))
            {
                if (MyReader.Read())
                {
                    daily = new Shopdata()
                    {
                        Paydate               = Convert.ToDateTime(MyReader.GetString(0)),
                        OrderPrice            = Convert.ToInt64(MyReader.GetValue(1)),
                        TransactionCountPrice = Convert.ToInt64(MyReader.GetValue(2)),
                        TransactionCount      = Convert.ToInt32(MyReader.GetValue(3)),
                        OrderCount            = Convert.ToInt32(MyReader.GetValue(4))
                    };
                    listdaily.Add(daily);
                }
            }
            return(listdaily);
        }