public OrderStatisticsController(ApplicationDbContext db)
        {
            _db = db;

            OrderStatisticVM = new OrderStatisticsViewModel()
            {
                Orders = new List <Order>()
            };
        }
Beispiel #2
0
        public ApiResult <OrderStatisticsViewModel> GetOrderStatistics()
        {
            var query = from o in _context.Orders
                        join tp in _context.Transports on o.id equals tp.order_id into otp
                        from g in otp.DefaultIfEmpty()
                        select new { g, o };

            var model = new OrderStatisticsViewModel()
            {
                orderWaitForConfirm = query.Where(x => x.o.status == 0).Count(),
                orderWaitForPay     = query.Where(x => x.o.status == 1 && !x.o.isPay).Count(),
                orderWaitForShip    = query.Where(x => x.g == null && x.o.isPay & x.o.status != -1).Count(),
                orderBeingShip      = query.Where(x => x.g.ship_status == 1).Count(),
            };

            return(new ApiSuccessResult <OrderStatisticsViewModel>(model));
        }
        public ActionResult StatistscDetail(
            string sendDate
            , string customerCode
            , string bundlerNo
            , string containerNo
            , string container)
        {
            try
            {
                if (String.IsNullOrEmpty(sendDate))
                {
                    TempData["Error"] = "ETD is missing.";
                    return(View("Error"));
                }

                var model = new OrderStatisticsViewModel
                {
                    SendDate      = sendDate,
                    BundleNo      = bundlerNo,
                    ContainerType = containerNo
                };

                model.Orders = OrderManager.Instance.LoadStatisticsDetail(
                    Convert.ToDateTime(sendDate)
                    , customerCode
                    , bundlerNo
                    , containerNo
                    , container);

                model.OrderCount = model.Orders.Count;

                foreach (var item in model.Orders)
                {
                    model.Total       += item.Total;
                    model.Size1Total  += item.Size1;
                    model.Size2Total  += item.Size2;
                    model.Size3Total  += item.Size3;
                    model.Size4Total  += item.Size4;
                    model.Size5Total  += item.Size5;
                    model.Size6Total  += item.Size6;
                    model.Size7Total  += item.Size7;
                    model.Size8Total  += item.Size8;
                    model.Size9Total  += item.Size9;
                    model.Size10Total += item.Size10;
                    model.Size11Total += item.Size11;
                    model.Size12Total += item.Size12;
                    model.Size13Total += item.Size13;
                    model.Size14Total += item.Size14;
                    model.Size15Total += item.Size15;
                    model.Size16Total += item.Size16;
                    model.Size17Total += item.Size17;
                    model.Size18Total += item.Size18;
                }
                var user = AccountHelper.GetLoginUserInfo(HttpContext.User.Identity);
                if (AccountHelper.IsSuperAdmin(user))
                {
                    model.IsSuperAdmin = true;
                    model.ShoeSizes    = ShoeManager.Instance.LoadShoeSize(Constants.SuperAdminDefaultCustomerCode);
                }
                else
                {
                    model.ShoeSizes = ShoeManager.Instance.LoadShoeSize(user.CustomerCode);
                }

                return(PartialView(model));
            }
            catch (Exception ex)
            {
                TempData["Error"] = ex.Message;
                return(View("Error"));
            }
        }