示例#1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            M_UserInfo mu       = buser.GetLogin();
            double     allmoney = DataConvert.CDouble(Request["allmoney"]);
            string     ids      = DataConvert.CStr(Request.QueryString["ids"]);
            //------用户有哪些未使用的优惠券
            DataTable avdt   = avBll.U_Sel(mu.UserID, -100, 1);
            DataTable cartdt = null;

            if (avdt.Rows.Count < 1)
            {
                arrive_empty_div.Visible = true; return;
            }
            else
            {
                arrive_div.Style.Add("display", "block");
                arrive_data_div.Visible = true;
                avdt.Columns.Add("enable", typeof(int)); //优惠券是否有效 1:有效
                avdt.Columns.Add("err", typeof(string)); //不能使用的原因
                cartdt = cartBll.SelByCartID(B_Cart.GetCartID(), mu.UserID, -100, ids);
            }
            //---------------------------------------Logical
            for (int i = 0; i < avdt.Rows.Count; i++)
            {
                DataRow         dr     = avdt.Rows[i];
                M_Arrive        avMod  = new M_Arrive().GetModelFromReader(dr);
                double          money  = allmoney;
                M_Arrive_Result retMod = avBll.U_CheckArrive(avMod, mu.UserID, cartdt, money);
                dr["enable"] = retMod.enabled ? 1 : 0;
                dr["err"]    = retMod.err;
            }
            avdt.DefaultView.RowFilter   = "enable='1'";
            Arrive_Active_RPT.DataSource = avdt.DefaultView.ToTable();
            Arrive_Active_RPT.DataBind();
            avdt.DefaultView.RowFilter    = "enable='0'";
            Arrive_Disable_RPT.DataSource = avdt.DefaultView.ToTable();
            Arrive_Disable_RPT.DataBind();
        }
示例#2
0
        public void MyBind()
        {
            M_UserInfo mu = buser.GetLogin();

            CartDT = cartBll.SelByCartID(B_Cart.GetCartID(), mu.UserID, ProClass, ids);
            if (CartDT.Rows.Count < 1)
            {
                function.WriteErrMsg("你尚未选择商品,<a href='/User/Order/OrderList'>查看我的订单</a>");
            }
            //旅游,酒店等不需要检测地址栏
            switch (DataConvert.CLng(CartDT.Rows[0]["ProClass"]))
            {
            case (int)M_Product.ClassType.LY:
            {
                userli.Visible = true;
                M_Cart_Travel model = JsonConvert.DeserializeObject <M_Cart_Travel>(CartDT.Rows[0]["Additional"].ToString());
                model.Guest.AddRange(model.Contract);
                UserRPT.DataSource = model.Guest;
                UserRPT.DataBind();
            }
            break;

            case (int)M_Product.ClassType.JD:
            {
                userli.Visible = true;
                M_Cart_Hotel model = JsonConvert.DeserializeObject <M_Cart_Hotel>(CartDT.Rows[0]["Additional"].ToString());
                model.Guest.AddRange(model.Contract);
                UserRPT.DataSource = model.Guest;
                UserRPT.DataBind();
            }
            break;

            default:     //------地址
                DataTable addressDT = receBll.SelByUID(buser.GetLogin().UserID);
                AddressRPT.DataSource = addressDT;
                AddressRPT.DataBind();
                EmptyDiv.Visible = addressDT.Rows.Count < 1;    //地址为空提醒
                break;
            }
            //------核算费用
            allmoney = UpdateCartAllMoney(CartDT);
            //------费用统计
            itemnum_span.InnerText     = CartDT.Rows.Count.ToString();
            totalmoney_span1.InnerText = allmoney.ToString("f2");
            //------店铺
            Store_RPT.DataSource = orderCom.SelStoreDT(CartDT);
            Store_RPT.DataBind();
            //------发票绑定
            DataTable invoceDT = new DataTable();//orderBll.SelInvoByUser(buser.GetLogin().UserID);

            if (invoceDT.Rows.Count > 0)
            {
                Invoice_RPT.DataSource = invoceDT;
                Invoice_RPT.DataBind();
            }
            else
            {
                Invoice_RPT.Visible = false;
            }
            //------积分抵扣
            if (SiteConfig.ShopConfig.PointRatiot > 0 && SiteConfig.ShopConfig.PointRatiot < 100 && SiteConfig.ShopConfig.PointRate > 0)
            {
                point_body.Visible = true;
                M_UserInfo usermod = buser.GetLogin();
                Point_L.Text = usermod.UserExp.ToString();
                int usepoint = (int)(allmoney * (SiteConfig.ShopConfig.PointRatiot * 0.01) / SiteConfig.ShopConfig.PointRate);
                function.Script(this, "SumByPoint(" + usepoint + ");");
                PointRate_Hid.Value = SiteConfig.ShopConfig.PointRate.ToString();
            }
            else
            {
                point_tips.Visible = true;
            }
            //------用户有哪些优惠券
            DataTable avdt = avBll.U_Sel(mu.UserID, -100, 1);

            if (avdt.Rows.Count > 0)
            {
                arrive_div.Style.Add("display", "block");
                arrive_data_div.Visible = true;
                avdt.Columns.Add("enable", typeof(int));
                avdt.Columns.Add("err", typeof(string));
                for (int i = 0; i < avdt.Rows.Count; i++)
                {
                    DataRow dr    = avdt.Rows[i];
                    double  money = allmoney;
                    string  err   = "";
                    dr["enable"] = avBll.U_CheckArrive(new M_Arrive().GetModelFromReader(dr), mu.UserID, ref money, ref err) ? 1 : 0;
                    dr["err"]    = err;
                }
                avdt.DefaultView.RowFilter = "enable='1'";
                //function.WriteErrMsg(avdt.DefaultView.ToTable().Rows.Count.ToString());
                Arrive_Active_RPT.DataSource = avdt.DefaultView.ToTable();
                Arrive_Active_RPT.DataBind();
                avdt.DefaultView.RowFilter    = "enable='0'";
                Arrive_Disable_RPT.DataSource = avdt.DefaultView.ToTable();
                Arrive_Disable_RPT.DataBind();
            }
            else
            {
                arrive_empty_div.Visible = true;
            }
        }
示例#3
0
        public void ProcessRequest(HttpContext context)
        {
            M_UserInfo mu = buser.GetLogin();

            retMod.retcode = M_APIResult.Failed;
            string cartCookID = GetCartCookID(context);

            //retMod.callback = CallBack;//暂不开放JsonP
            try
            {
                switch (Action)
                {
                case "deladdress":
                {
                    B_UserRecei receBll = new B_UserRecei();
                    int         id      = DataConverter.CLng(Req("id"));
                    if (mu == null || mu.UserID == 0 || id < 1)
                    {
                        OldRep("-1");
                    }
                    else
                    {
                        receBll.U_DelByID(id, mu.UserID); OldRep("1");
                    }
                }
                break;

                case "setnum":    //ID,数量,Cookies,可不登录,数量不能小于1
                {
                    int id     = DataConverter.CLng(Req("mid"));
                    int pronum = DataConverter.CLng(Req("pronum"));
                    if (id < 1 || pronum < 1 || string.IsNullOrEmpty(cartCookID))
                    {
                        OldRep("-1");
                    }
                    else
                    {
                        cartBll.UpdateProNum(cartCookID, mu.UserID, id, pronum);
                        OldRep("1");
                    }
                }
                break;

                case "arrive":
                {
                    B_Arrive avBll = new B_Arrive();
                    string   flow  = Req("flow");
                    double   money = double.Parse(Req("money"));
                    string   err   = "";
                    M_Arrive avMod = avBll.SelModelByFlow(flow, mu.UserID);
                    if (avBll.U_CheckArrive(avMod, mu.UserID, ref money, ref err))
                    {
                        retMod.retcode = M_APIResult.Success;
                        //已优惠金额,优惠后金额
                        retMod.result = "{\"amount\":\"" + avMod.Amount + "\",\"money\":\"" + money + "\"}";
                    }
                    else
                    {
                        retMod.retmsg = err;
                    }
                }
                break;

                default:
                    retMod.retmsg = "[" + Action + "]接口不存在";
                    break;
                }
            }
            catch (Exception ex) { retMod.retmsg = ex.Message; }
            RepToClient(retMod);
        }
示例#4
0
        public ContentResult OrderCom()
        {
            M_APIResult retMod = new M_APIResult(M_APIResult.Failed);

            switch (action)
            {
            case "cart_del":
            {
                cartBll.DelByIDS(CartCookID, buser.GetLogin().UserName, ids);
                retMod.retcode = M_APIResult.Success;
            }
            break;

            case "setnum":      //兼容
            case "cart_setnum": //ID,数量,Cookies,可不登录,数量不能小于1
            {
                int id     = DataConverter.CLng(GetParam("id"));
                int pronum = DataConverter.CLng(GetParam("pronum"));
                if (id < 1 || pronum < 1)
                {
                    retMod.retmsg = "商品ID与数量不能小于1";
                }
                else if (string.IsNullOrEmpty(CartCookID))
                {
                    retMod.retmsg = "CartCookID不存在";
                }
                else
                {
                    cartBll.UpdateProNum(CartCookID, mu.UserID, id, pronum);
                    retMod.retcode = M_APIResult.Success;
                }
            }
            break;

            case "deladdress":
            {
                int id = DataConverter.CLng(GetParam("id"));
                if (mu == null || mu.UserID == 0 || id < 1)
                {
                    return(Content(Failed.ToString()));
                }
                else
                {
                    receBll.U_DelByID(id, mu.UserID); return(Content(Success.ToString()));
                }
            }

            case "arrive":
            {
                string    flow   = GetParam("flow");
                double    money  = double.Parse(GetParam("money"));
                DataTable cartdt = cartBll.SelByCartID(CartCookID, mu.UserID, -100, ids);
                if (cartdt.Rows.Count < 1)
                {
                    retMod.retmsg = "购物车为空"; return(Content(retMod.ToString()));
                }
                M_Arrive        avMod  = avBll.SelModelByFlow(flow, mu.UserID);
                M_Arrive_Result arrMod = avBll.U_CheckArrive(avMod, mu.UserID, cartdt, money);
                if (arrMod.enabled)
                {
                    retMod.retcode = M_APIResult.Success;
                    //已优惠金额,优惠后金额
                    retMod.result = Newtonsoft.Json.JsonConvert.SerializeObject(arrMod);
                }
                else
                {
                    retMod.retmsg = arrMod.err;
                }
            }
            break;

            default:
                retMod.retmsg = "[" + action + "]接口不存在";
                break;
            }
            return(Content(retMod.ToString()));
        }