コード例 #1
0
        public ActionResult SubmitCsPackageInfo(CsPackage model)
        {
            if (_csPackageBll.GetModelList($" and PackageName ='{model.PackageName}'").Any() &&
                model.PackageId == 0)
            {
                return(Json(new ResModel
                {
                    Data = "已存在该套餐,请重新设置",
                    ResStatus = ResStatue.Warn
                }));
            }
            ResStatue code;

            if (model.PackageId > 0)
            {
                model.OperationDate = DateTime.Now;
                code = _csPackageBll.Update(model) ? ResStatue.Yes : ResStatue.Warn;
            }
            else
            {
                model.PackageWeight = 0;
                model.PackageStock  = 1000;
                model.PackageImage  = "Images/10007.jpg";
                model.OperationDate = DateTime.Now;
                model.PackageType   = 1;
                code = _csPackageBll.Add(model) > 0 ? ResStatue.Yes : ResStatue.Warn;
            }

            return(Json(new ResModel
            {
                ResStatus = code,
                Data = code == ResStatue.Yes ? "更新成功" : "执行完成,但是没有数据受影响"
            }));
        }
コード例 #2
0
        /// <summary>
        /// 获取套餐列表
        /// </summary>
        /// <returns></returns>
        public IHttpActionResult GetPackageList()
        {
            CsPackageBll packageBll  = new CsPackageBll();
            var          packAgeList = packageBll.GetModelList(" and PackageState=1 ").Select(x => new
            {
                x.PackageId,
                x.PackageNumber,
                x.PackageType,
                TypeName = ((ProductType)x.PackageType).ToString(),
                x.PackageName,
                x.PackageImage,
                x.PackageWeight,
                x.PackagePrice,
                x.PackageState,
                OperationDate = x.OperationDate.ToString("yyyy-MM-dd"),
                TotalNumber   = _csOrderBll.TotalNumber(x.PackageId, DateTime.Now),
                number        = 0,
                x.PackageStock
            }).ToList();

            if (packAgeList.Count > 0)
            {
                return(Json(new
                {
                    status = true,
                    packagelist = packAgeList
                }));
            }
            else
            {
                return(Json(new
                {
                    status = false
                }));
            }
        }
コード例 #3
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
            }));
        }
コード例 #4
0
ファイル: CsOrderController.cs プロジェクト: sc1994/CrabStore
        public ActionResult GetCsOrderInfo(int id)
        {
            var csOrder        = _csOrderBll.GetModel(id);
            var csOrderDetails = _csOrderDetailBll.GetModelList(" AND OrderId = " + id);
            var user           = _csUsersBll.GetModel(csOrder.UserId);

            var parts    = new List <CsParts>();
            var products = new List <CsProducts>();
            var packages = new List <CsPackage>();

            #region 相关 套餐/配件和蟹
            if (csOrderDetails.Any(x => x.ChoseType == ChoseType.配件.GetHashCode()))
            {
                parts = _csPartsBll.GetModelList($" AND PartId IN ({string.Join(",", csOrderDetails.Where(x => x.ChoseType == ChoseType.配件.GetHashCode()).Select(x => x.ProductId))})");
            }
            if (csOrderDetails.Any(x => x.ChoseType == ChoseType.螃蟹.GetHashCode()))
            {
                products = _csProductsBll.GetModelList($" AND ProductId IN ({string.Join(",", csOrderDetails.Where(x => x.ChoseType == ChoseType.螃蟹.GetHashCode()).Select(x => x.ProductId))})");
            }
            if (csOrderDetails.Any(x => x.ChoseType == ChoseType.套餐.GetHashCode()))
            {
                packages = _csPackageBll.GetModelList($" AND PackageId IN ({string.Join(",", csOrderDetails.Where(x => x.ChoseType == ChoseType.套餐.GetHashCode()).Select(x => x.ProductId))})");
            }

            #endregion

            #region 订单详细列表
            var csOrderDetailExtends = new List <CsOrderView.CsOrderDetailExtend>();
            foreach (var csOrderDetail in csOrderDetails)
            {
                var csOrderDetailExtend = new CsOrderView.CsOrderDetailExtend
                {
                    ChoseType     = ((ChoseType)csOrderDetail.ChoseType).ToString(),
                    DetailId      = csOrderDetail.DetailId,
                    ProductId     = csOrderDetail.ProductId,
                    ProductNumber = csOrderDetail.ProductNumber,
                    TotalPrice    = "¥" + csOrderDetail.TotalPrice.ToString("N2"),
                    UnitPrice     = "¥" + csOrderDetail.UnitPrice.ToString("N2")
                };
                // 计算商品名称
                if (csOrderDetailExtend.ChoseType == ChoseType.配件.ToString())
                {
                    var part = parts.FirstOrDefault(x => x.PartId == csOrderDetailExtend.ProductId);
                    csOrderDetailExtend.ProductName = $"{(part?.PartName).ShowNullOrEmpty()}({(part?.PartNumber).ShowNullOrEmpty()})";
                    csOrderDetailExtend.ChoseType   = ((PartType?)part?.PartType).ShowNullOrEmpty();
                }
                else if (csOrderDetailExtend.ChoseType == ChoseType.螃蟹.ToString())
                {
                    var product = products.FirstOrDefault(x => x.ProductId == csOrderDetailExtend.ProductId);
                    csOrderDetailExtend.ProductName = $"{(product?.ProductName).ShowNullOrEmpty()}({(product?.ProductNumber).ShowNullOrEmpty()})";
                    csOrderDetailExtend.ChoseType   = ((ProductType?)product?.ProductType).ShowNullOrEmpty();
                }
                else
                {
                    var package = packages.FirstOrDefault(x => x.PackageId == csOrderDetailExtend.ProductId);
                    csOrderDetailExtend.ProductName = $"{(package?.PackageName).ShowNullOrEmpty()}({(package?.PackageNumber).ShowNullOrEmpty()})";
                }
                csOrderDetailExtends.Add(csOrderDetailExtend);
            }
            #endregion

            var sendInfo = csOrder.SendAddress.Split('$');
            var putInfo  = csOrder.OrderAddress.Split('$');
            return(Json(new CsOrderView.CsOrderInfo
            {
                RowStatus = csOrder.RowStatus.ToString(),
                OrderState = csOrder.OrderState.ToString(),
                RowStatusDescribe = ((RowStatus)csOrder.RowStatus).ToString(),
                OrderStateDescribe = ((OrderState)csOrder.OrderState).ToString(),
                OrderId = csOrder.OrderId,
                OrderNumber = csOrder.OrderNumber,
                OrderDate = csOrder.OrderDate.ToString("yyyy-M-d HH:mm:ss"),
                DeleteDate = csOrder.DeleteDate.ToString("yyyy-M-d HH:mm:ss"),
                DeleteDescribe = csOrder.DeleteDescribe,
                TotalMoney = "¥" + csOrder.TotalMoney.ToString("N2"),
                ActualMoney = "¥" + csOrder.ActualMoney.ToString("N2"),
                DiscountMoney = "¥" + csOrder.DiscountMoney.ToString("N2"),
                OrderCopies = csOrder.OrderCopies + " 份",
                TotalWeight = csOrder.TotalWeight + " KG",
                BillWeight = csOrder.BillWeight + " KG",
                UserName = $"{user.UserName}({user.UserSex})",
                UserPhone = user.UserPhone,
                CsOrderDetails = csOrderDetailExtends,
                OrderDelivery = csOrder.OrderDelivery,
                OrderAddress = csOrder.OrderAddress.Trim('$').Replace("$$", "$").Replace("$", "//"),
                OrderConsignee = putInfo.Length > 1 ? putInfo[1] : "-",
                OrderTelPhone = putInfo.Length > 3 ? putInfo[3] : "-",
                OrderDetails = putInfo.Length > 4 ? putInfo[4] : "-",
                SendConsignee = sendInfo.Length > 0 ? sendInfo[0] : "-",
                SendTelPhone = sendInfo.Length > 1 ? sendInfo[1] : "",
                SendAddress = csOrder.SendAddress.Trim('$').Replace("$$", "$").Replace("$", "//"),
                OrderSource = csOrderDetails.Any(x => x.ChoseType == ChoseType.套餐.GetHashCode()) ? "企业团购" : "电商代发",
                PrepaymentId = csOrder.PrepaymentId.IsNullOrEmpty() ? "未生成预支付编号" : csOrder.PrepaymentId,
                IsInvoice = csOrder.IsInvoice.ToString(),
                OrderRemarks = csOrder.OrderRemarks
            }));
        }