コード例 #1
0
        /// <summary>
        /// 根据订单编号获取订单详情
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <returns></returns>
        public IHttpActionResult GetOrderInfoByOrderId(int id)
        {
            CsOrder order = _csOrderBll.GetModel(id);
            List <CsOrderDetail> orderList     = _csOrderDetailBll.GetModelList($" and OrderId={id}");
            List <CsProducts>    productList   = _csProductsBll.GetModelList("");
            List <CsParts>       partList      = _csPartsBll.GetModelList("");
            CsPackageBll         _cspackageBll = new CsPackageBll();
            List <CsPackage>     packageList   = _cspackageBll.GetModelList("");
            //螃蟹列表
            var crabList = orderList.Where(x => x.ChoseType == 1).Select(x => new
            {
                x.OrderId,
                x.ProductId,
                ProductName   = productList.FirstOrDefault(y => y.ProductId == x.ProductId).ProductName,
                ProductType   = ((ProductType)productList.FirstOrDefault(y => y.ProductId == x.ProductId).ProductType).ToString(),
                ProductWeight = (ProductType)productList.FirstOrDefault(y => y.ProductId == x.ProductId).ProductWeight,
                x.ProductNumber,
                x.UnitPrice,
                x.TotalPrice
            });
            //必选配件列表
            var partMustList = orderList.Where(x => x.ChoseType == 2 && x.ProductId < 10005 && x.ProductId > 10000).Select(x => new
            {
                x.OrderId,
                x.ProductId,
                PartName = partList.FirstOrDefault(y => y.PartId == x.ProductId).PartName,
                PartType = "必选配件",
                x.ProductNumber,
                x.UnitPrice,
                x.TotalPrice
            });
            //可选配件列表
            var partOptList = orderList.Where(x => x.ChoseType == 2 && x.ProductId >= 10005).Select(x => new
            {
                x.OrderId,
                x.ProductId,
                PartName = partList.FirstOrDefault(y => y.PartId == x.ProductId).PartName,
                PartType = "配件",
                x.ProductNumber,
                x.UnitPrice,
                x.TotalPrice
            });
            //套餐列表
            var packList = orderList.Where(x => x.ChoseType == 3).Select(x => new
            {
                x.OrderId,
                x.ProductId,
                ProductName   = packageList.FirstOrDefault(y => y.PackageId == x.ProductId).PackageName,
                ProductType   = ((ProductType)packageList.FirstOrDefault(y => y.PackageId == x.ProductId).PackageType).ToString(),
                ProductWeight = (ProductType)packageList.FirstOrDefault(y => y.PackageId == x.ProductId).PackageWeight,
                x.ProductNumber,
                x.UnitPrice,
                x.TotalPrice
            });

            return(Json(new
            {
                order,
                crabList,
                partMustList,
                partOptList,
                packList
            }));
        }