Example #1
0
        private ActionResult ProcessDeletePdsFromCartXuQiu()
        {
            #region 购物车
            VWShoppingCartInfo shoppingCart = SessionUtil.GetXuQiuSession();
            #endregion

            string callback     = QueryString.SafeQ("callback");//jsonp回调函数
            string prodetailids = QueryString.SafeQ("pdids", 8000);
            int    num          = QueryString.IntSafeQ("Num");

            if (string.IsNullOrEmpty(prodetailids))
            {
                return(Content(callback + "({\"Status\":\"请选择需要删除的商品\"});"));
            }
            else
            {
                List <int> pdidslist = new List <int>();

                string[] pdisattr = prodetailids.Split(',');
                foreach (string str in pdisattr)
                {
                    pdidslist.Add(StringUtils.GetDbInt(str));
                }
                ShoppingXuQiuProcessor.RemoveCartXuQiuItems(shoppingCart, pdidslist);
                return(Content(callback + "({\"Status\":\"OK\"});"));
            }
        }
Example #2
0
        /// <summary>
        /// 生成真实订单
        /// </summary>
        /// <returns></returns>
        public string CreateOrderXuQiu()
        {
            ResultObj _result       = new ResultObj();
            int       _resultstatus = (int)CommonStatus.Fail;
            long      _preordercode = FormString.LongIntSafeQ("preordercode");
            int       _addressid    = FormString.IntSafeQ("addressid");
            int       _paytype      = FormString.IntSafeQ("paytype");
            string    _remark       = FormString.SafeQ("remark", 80000);
            string    acceptername  = FormString.SafeQ("acceptername");
            int       province      = FormString.IntSafeQ("province");
            int       city          = FormString.IntSafeQ("city");
            string    address       = FormString.SafeQ("address", 500);
            string    mobilephone   = FormString.SafeQ("mobilephone");
            int       jifen         = FormString.IntSafeQ("jifen");
            int       memcouponid   = FormString.IntSafeQ("memcouponid");//折扣券Id
            int       expressid     = FormString.IntSafeQ("expressid");
            int       ordertype     = FormString.IntSafeQ("ordertype", -1);

            if (jifen % 100 != 0)
            {
                jifen = jifen / 100 * 100;
            }
            if (jifen > 0 && !AssetBLL.Instance.CheckIntegralEnough(memid, jifen))
            {
                jifen = 0;
            }
            int billtype = FormString.IntSafeQ("billtype");
            OrderBillBasicEntity _billentity = new OrderBillBasicEntity();

            _billentity.BillType = billtype;
            if (billtype == (int)BillType.Normal)
            {
                string title = FormString.SafeQ("billtitle", 200);
                _billentity.CompanyName = title;
            }
            else if (billtype == (int)BillType.VAT)
            {
                _billentity.BillId = FormString.IntSafeQ("billvatid");

                MemBillVATEntity _mementity = MemBillVATBLL.Instance.GetMemBillVAT(memid);
                _billentity.ReceiverName     = FormString.SafeQ("billvatrename");
                _billentity.ReceiverPhone    = FormString.SafeQ("billvatrephone");
                _billentity.ReceiverProvince = FormString.IntSafeQ("billvatreprovince");
                _billentity.ReceiverCity     = FormString.IntSafeQ("billvatrecity");
                _billentity.ReceiverAddress  = FormString.SafeQ("billvatreaddress", 300);
                _billentity.CompanyName      = _mementity.CompanyName;
                _billentity.CompanyPhone     = _mementity.CompanyPhone;
                _billentity.CompanyCode      = _mementity.CompanyCode;
                _billentity.CompanyBank      = _mementity.CompanyBank;
                _billentity.CompanyAddress   = _mementity.CompanyAddress;
                _billentity.BankAccount      = _mementity.BankAccount;
                _billentity.Status           = _mementity.Status;
            }
            OrderAddressEntity _address = new OrderAddressEntity();

            _address.CityId       = city;
            _address.AccepterName = acceptername;
            _address.ProvinceId   = province;
            _address.Address      = address;
            _address.MobilePhone  = mobilephone;

            Dictionary <int, VWOrderEntity> _vworderdic = OrderDetailPreTempBLL.Instance.GetVWOrdersByTempCode(_preordercode);

            List <int> listpdids      = new List <int>();
            string     productdetails = "";

            if (_vworderdic.Keys.Count > 0)
            {
                IList <VWOrderRemarkEntity> remarklist = new List <VWOrderRemarkEntity>();
                if (!string.IsNullOrEmpty(_remark))
                {
                    remarklist = JsonJC.JsonToObject <List <VWOrderRemarkEntity> >(_remark.Replace(""", "\""));
                }
                Dictionary <int, string> remarkdic = new Dictionary <int, string>();
                foreach (VWOrderRemarkEntity reenti in remarklist)
                {
                    remarkdic.Add(StringUtils.GetDbInt(reenti.CGMemId), reenti.Remark);
                }
                foreach (int okey in _vworderdic.Keys)
                {
                    if (okey > 0)
                    {
                        foreach (VWOrderDetailEntity oden in _vworderdic[okey].Details)
                        {
                            listpdids.Add(oden.ProductDetailId);
                            productdetails += "|" + oden.ProductDetailId.ToString() + "_" + oden.Num.ToString();
                        }
                        productdetails = productdetails.TrimStart('|');
                        OrderCommonBLL.Instance.GetTransFeeForOrder(_vworderdic[okey]);
                        _vworderdic[okey].CGMemId      = okey;
                        _vworderdic[okey].PreOrderCode = _preordercode;
                        _vworderdic[okey].OrderType    = (int)OrderType.OnLine;
                        _vworderdic[okey].NeedDeliver  = 1; //需要发货
                        _vworderdic[okey].PayPrice     = 0; //支付价格0
                        _vworderdic[okey].PayType      = _paytype;
                        _vworderdic[okey].ExpressCom   = 0; //普通配送
                        _vworderdic[okey].MemId        = memid;
                        _vworderdic[okey].MemLevel     = member.MemGrade;
                        _vworderdic[okey].IsStore      = member.IsStore;
                        _vworderdic[okey].OrderStyle   = (int)OrderStyleEnum.XuQiu;
                        if (remarkdic.ContainsKey(okey))
                        {
                            _vworderdic[okey].Remark = remarkdic[okey];
                        }
                    }
                    else
                    {
                        foreach (VWOrderDetailEntity oden in _vworderdic[okey].Details)
                        {
                            listpdids.Add(oden.ProductDetailId);
                        }
                    }
                }
                if (ProductStyleBLL.Instance.ProductsEnough(productdetails))
                {
                    string ordercode = OrderBLL.Instance.CreateOrderList(_vworderdic, _address, _billentity);
                    if (!string.IsNullOrEmpty(ordercode))
                    {
                        if (productdetails != "")
                        {
                            if (ProductStyleBLL.Instance.ProductsToOrder(productdetails) > 0)
                            {
                                VWShoppingCartInfo ShoppingCartentity = ShoppingXuQiuProcessor.GetShoppingXuQiu();
                                ShoppingXuQiuProcessor.RemoveCartXuQiuItems(ShoppingCartentity, listpdids);
                                _result.Status = (int)CommonStatus.Success;
                                _result.Obj    = ordercode;
                                return(JsonJC.ObjectToJson(_result));
                            }
                            else
                            {
                                _result.Status = (int)CommonStatus.ProductLess;
                                _result.Obj    = "";
                                return(JsonJC.ObjectToJson(_result));
                            }
                        }
                        else
                        {
                            _result.Status = (int)CommonStatus.Success;
                            _result.Obj    = ordercode;
                            return(JsonJC.ObjectToJson(_result));
                        }
                    }
                }
                else
                {
                    _result.Status = (int)CommonStatus.ProductLess;
                    _result.Obj    = "";
                    return(JsonJC.ObjectToJson(_result));
                }
            }
            _result.Status = (int)CommonStatus.Fail;
            _result.Obj    = "";
            return(JsonJC.ObjectToJson(_result));
        }