Exemplo n.º 1
0
        public ActionResult orderAddress()
        {
            Dictionary <string, object> mp = new Dictionary <string, object>();
            string UID = Session["memberID"].ToString();
            JavaScriptSerializer jss = new JavaScriptSerializer();

            DAO.information infoMation = new DAO.information();

            OrderBuss obll = new OrderBuss();

            DAO.Addship addship = obll.isAddressByUid(UID);
            return(Json(addship, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 查询用户是否有地址
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <returns></returns>
        public DAO.Addship isAddressByUid(string uid)
        {
            string orderSql = " select * from [Addship] where Uid={0}";

            DAO.Addship o = db.Database.SqlQuery <DAO.Addship>(string.Format(orderSql, Convert.ToInt32(uid))).FirstOrDefault();
            if (o != null)
            {
                return(o);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 提交订单
        /// </summary>
        /// <param name="shopList">商品列表</param>
        /// <param name="sendinfo">配送信息</param>
        /// <param name="uid">当前用户</param>
        /// <param name="ratio">当前用户折扣</param>
        /// <param name="orderPrice">订单金额</param>
        /// <param name="shopListTotle">商品列表总金额</param>
        /// <returns>订单号</returns>
        public string AddOrder(List <Shop> shopList, SendInfo sendinfo, string uid, decimal ratio, decimal orderPrice, decimal shopListTotle)
        {
            PartExtendBll pbll   = new PartExtendBll();
            ProductBll    proBll = new ProductBll();
            MemberBLL     memBll = new MemberBLL();

            DAO.MemberBase user  = memBll.GetUserByID(uid);
            DAO.Order      order = new DAO.Order();
            order.OrderId = CommonUtils.OrderUtil.NewOrderId;
            if (order != null)
            {
                order.Uid       = user.ID;
                order.UserName  = user.LoginName;
                order.UserPhone = user.Mobile;
            }
            order.OrderSource = "0";
            order.OrderTime   = DateTime.Now;
            order.OrderStatus = "未处理";//订单初始状态
            order.Consignee   = sendinfo.Name;
            order.Address     = sendinfo.Address;
            order.CellPhone   = sendinfo.Phone;
            order.PayStatus   = "未支付";
            order.Payment     = "";
            order.Remarks     = "";
            order.Ratio       = ratio;
            decimal disAmout = shopList.Where(h => h.Type == "-1").Sum(h => (decimal.Parse(h.Price)));

            order.DiscountAmount  = (1 - ratio) * disAmout;
            order.ShippingCost    = 0;
            order.TotalPrice      = orderPrice;
            order.SearchTag       = "";
            order.OperatorRemarks = "";
            order.OrderType       = "0";
            order.OrderFrom       = 0;//网站
            order.Prov            = sendinfo.Prov;
            order.City            = sendinfo.City;
            order.Area            = sendinfo.Area;

            db.Order.Add(order);
            DAO.Addship addShip = new DAO.Addship();
            addShip = isAddressByUid(uid);

            if (addShip != null)
            {
                upAddShip(sendinfo.Name, uid, sendinfo.City, sendinfo.Prov, sendinfo.Area, sendinfo.Address, sendinfo.Phone);
            }
            else
            {
                DAO.Addship addShipS = new DAO.Addship();
                addShipS.name     = sendinfo.Name;
                addShipS.province = sendinfo.Prov;
                addShipS.scity    = sendinfo.City;
                addShipS.region   = sendinfo.Area;
                addShipS.address  = sendinfo.Address;
                addShipS.UID      = Convert.ToInt32(uid);
                addShipS.phone    = sendinfo.Phone;
                db.Addship.Add(addShipS);
                db.SaveChanges();
            }


            //db.SaveChanges();
            foreach (Shop item in shopList)
            {
                CarProductDetail m;
                int i   = -1;
                int pid = -1;
                if (int.TryParse(item.ID, out pid))
                {
                    if (!string.IsNullOrEmpty(item.Attrs) && int.TryParse(item.Attrs, out i))
                    {
                        m = proBll.GetProDetail(pid, i, item.Type);
                    }
                    else
                    {
                        m = proBll.GetProDetail(pid, -1, item.Type);
                    }
                    if (m != null)
                    {
                        m.Qty      = int.Parse(item.Qty);
                        m.lastAttr = item.Attrs;
                        DAO.OrderProList pro = new DAO.OrderProList();
                        pro.OrderId     = order.OrderId;
                        pro.ProductID   = m.proDetail.ID;
                        pro.ProductName = m.proDetail.PartName;
                        pro.SupplyNo    = m.proDetail.PartSuppyNo;
                        pro.Num         = m.Qty;
                        pro.Price       = m.proDetail.Price;
                        pro.InputTime   = DateTime.Now;
                        pro.PType       = m.proDetail.CategoryID;
                        pro.AttrID      = i;
                        pro.IsFlag      = int.Parse(item.Type);  //活动号
                        pro.activeName  = m.activeM == null ? "" : m.activeM.Name;
                        StringBuilder sb = new StringBuilder("");
                        foreach (var ext in m.partExt)
                        {
                            sb.Append("|" + ext.AttrName + ":" + ext.AttrValue + "|");
                        }
                        pro.AttrDecribe = sb.ToString();
                        db.OrderProList.Add(pro);
                        opActiveStock(pro.IsFlag, pro.ProductID, pro.AttrID, pro.Num);

                        OrderBuss obll   = new OrderBuss();
                        int       number = Convert.ToInt32(obll.getPartStock(m.proDetail.ID).StockNUM) - 1;

                        obll.upPartStock(m.proDetail.ID, number);

                        //db.SaveChanges();
                    }
                }
            }
            int addResult = db.SaveChanges();//db.SaveChanges();

            if (addResult > 0)
            {
                return(order.OrderId.ToString());
            }
            else
            {
                return(null);
            }
        }