/// <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 })); }