public string GetComm(string type)
        {
            int       oid   = DataConverter.CLng(Eval("ID"));
            DataTable dt    = cartBll.SelByOrderID(oid);
            string    ids   = "";
            string    names = "";
            string    nums  = "";

            foreach (DataRow dr in dt.Rows)
            {
                ids   += "<div style='margin-bottom:3px;'>" + dr["ProID"] + "</div>";
                names += "<div style='margin-bottom:3px;'>" + dr["Proname"] + "</div>";
                nums  += "<div style='margin-bottom:3px;color:green;'>" + dr["Pronum"] + "</div>";
            }
            if (type == "id")
            {
                return(ids);
            }
            else if (type == "name")
            {
                return(names);
            }
            else
            {
                return(nums);
            }
        }
Example #2
0
        public VM_OrderPro(M_UserInfo mu, HttpRequestBase Request)
        {
            this.SType   = DataConvert.CLng(Request.QueryString["SType"]);
            this.mu      = mu;
            this.OrderNo = Request.QueryString["OrderNo"];
            switch (SType)
            {
            case 0:    //订单
                orderMod = orderBll.SelModelByOrderNo(OrderNo);
                if (orderMod == null || orderMod.id == 0)
                {
                    function.WriteErrMsg("订单不存在");
                }
                if (orderMod.Userid != mu.UserID)
                {
                    function.WriteErrMsg("该订单不属于你,无法查看");
                }
                proDT = cartProBll.SelByOrderID(orderMod.id);
                break;

            case 1:    //购物车
                proDT = cartBll.GetCarProList(OrderNo, mu.UserID);
                break;
            }
            if (proDT.Rows.Count > 0 && !string.IsNullOrEmpty(proDT.Rows[0]["Additional"].ToString()))
            {
                M_Cart_Travel model = JsonConvert.DeserializeObject <M_Cart_Travel>(proDT.Rows[0]["Additional"].ToString());
                clientList = new List <M_Cart_Contract>();
                clientList.AddRange(model.Guest);
                clientList.AddRange(model.Contract);
            }
        }
Example #3
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         Call.HideBread(Master);
         M_OrderList orderMod = orderBll.SelReturnModel(Mid);
         if (orderMod == null)
         {
             function.WriteErrMsg("订单不存在");
         }
         OrderNo_T.Text    = orderMod.OrderNo;
         AddTime_T.Text    = orderMod.AddTime.ToString("yyyy-MM-dd HH:mm:ss");
         ReUserName_L.Text = orderMod.Receiver;
         Mobile_L.Text     = orderMod.MobileNum;
         Address_L.Text    = orderMod.AddRess;
         //----------
         DataTable dt = cartProBll.SelByOrderID(Mid);
         RPT.DataSource = dt;
         RPT.DataBind();
         //----------
         //P_Arrive_L.Text = null;
         //P_Point_L.Text = null;
         Remind_L.Text     = orderMod.Ordermessage;
         P_Pro_L.Text      = orderMod.Balance_price.ToString("f2");
         P_Exp_L.Text      = orderMod.Freight.ToString("f2");
         TotalMoney_L.Text = orderMod.Ordersamount.ToString("f2");
     }
 }
Example #4
0
        public static string TlpDeal(string tlp, DataRow dr)
        {
            B_CartPro cartProBll = new B_CartPro();
            string    result     = tlp;

            if (dr != null)
            {
                #region dt中字段替换
                DataTable dt = dr.Table;
                //遍历表格字段并替换
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    string colname = dt.Columns[i].ColumnName;
                    string value   = dr[colname].ToString();
                    if (dt.Columns[i].DataType.ToString().Equals("System.Decimal"))
                    {
                        value = DataConvert.CDouble(dr[colname]).ToString("f2");
                    }
                    result = result.Replace("{" + colname + "}", value);
                }
                #endregion
                #region CartPro扩展字段
                //CartPro字段,只取第一条信息循环输出
                if (tlp.Contains("{CartPro."))
                {
                    DataTable cartDT = new DataTable();
                    cartDT = cartProBll.SelByOrderID(Convert.ToInt32(dt.Rows[0]["ID"]));
                    if (cartDT.Rows.Count > 0)
                    {
                        dr = cartDT.Rows[0];
                        for (int i = 0; i < cartDT.Columns.Count; i++)
                        {
                            string colname = cartDT.Columns[i].ColumnName;
                            string value   = dr[colname].ToString();
                            if (cartDT.Columns[i].DataType.ToString().Equals("System.Decimal"))
                            {
                                value = Convert.ToDouble(dr[colname]).ToString("f2");
                            }
                            result = result.Replace("{CartPro." + colname + "}", value);
                        }
                    }
                }
                #endregion
                //    #region Extend扩展字段
                //    if (dt.Columns.Contains("Extend") && (!string.IsNullOrEmpty(dr["Extend"].ToString())))//扩展字段,可自由定义
                //    {
                //        JObject model = (JObject)JsonConvert.DeserializeObject(dr["Extend"].ToString());
                //        foreach (var item in model)
                //        {
                //            result = result.Replace("{Extend."+item.Key+"}",item.Value.ToString());
                //        }
                //    }
                //#endregion
            }
            //标签解析
            //B_CreateHtml createBll = new B_CreateHtml(HttpContext.Current.Request);
            //result = createBll.CreateHtml(result);
            return(result);
        }
Example #5
0
    public string GetProname(int orderid)
    {
        string    result = "";
        DataTable dt     = cartProBll.SelByOrderID(orderid);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            result += dt.Rows[i]["Proname"].ToString() + "x" + dt.Rows[i]["Pronum"].ToString() + " ¥" + DataConvert.CDouble(dt.Rows[i]["AllMoney"].ToString()).ToString("0.00") + "元 ";
        }
        return(result);
    }
Example #6
0
        private string GetProName(M_OrderList orderMod)
        {
            B_CartPro cartBll = new B_CartPro();
            DataTable dt      = cartBll.SelByOrderID(orderMod.id);
            string    result  = "";

            foreach (DataRow dr in dt.Rows)
            {
                result += "[" + dr["ProName"] + "(数量:" + dr["ProNum"] + ")]<br />";
            }
            return(result);
        }
Example #7
0
 /// <summary>
 /// 商品快照,存为mht,
 /// mht缺点 :在于非IE下只能下载,但360等双核浏览器可以自动切换
 /// html缺点:只是保存了页面不存图片和css,这样如果页面删除,则快照失效
 /// </summary>
 public static void SaveSnapShot(M_OrderList orderMod)
 {
     try
     {
         string    snapDir = "/UploadFiles/SnapDir/" + orderMod.Rename + orderMod.Userid + "/" + orderMod.OrderNo + "/";
         DataTable dt      = cartProBll.SelByOrderID(orderMod.id);
         foreach (DataRow dr in dt.Rows)
         {
             int    storeid = DataConverter.CLng(dr["StoreID"]);
             int    proid   = DataConverter.CLng(dr["Proid"]);
             string url     = SiteConfig.SiteInfo.SiteUrl + GetShopUrl(storeid, proid);
             new HtmlHelper().DownToMHT(url, snapDir + proid + ".mht");
         }
     }
     catch (Exception ex) { ZLLog.L(Model.ZLEnum.Log.exception, "订单:" + orderMod.OrderNo + "快照保存失败,原因:" + ex.Message); }
 }
Example #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ExHelper.CheckUserAuth("cash");
        if (function.isAjax())
        {
            //string action = Request.Form["action"];
            string     result = "";
            M_UserInfo mu     = buser.GetLogin();
            //直接生成新单,无效的订单一定时间自动清理(未付款)
            int    uid  = DataConvert.CLng(Request.Form["uid"]);
            string cart = Request.Form["cart"];
            if (string.IsNullOrEmpty(cart))
            {
                throw new Exception("未指定消费项目");
            }
            if (string.IsNullOrEmpty(Request.Form["uid"]))
            {
                throw new Exception("未指定用户");
            }
            //---------------------------根据信息生成订单
            DataTable        cartDT = JsonConvert.DeserializeObject <DataTable>(cart);
            M_User_StoreUser suMod  = new M_User_StoreUser();
            if (uid > 0)
            {
                suMod = suBll.SelModelByUid(uid, mu.SiteID);
            }
            List <M_CartPro> cpList = new List <M_CartPro>();
            //-----------------
            M_OrderList orderMod = null;
            if (Mid > 0)
            {
                orderMod = orderBll.SelReturnModel(Mid);
            }
            else
            {
                orderMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Normal);
            }
            //每次均重新获取
            orderMod.Userid       = mu.UserID;
            orderMod.AddUser      = mu.UserName;//收银员名称
            orderMod.Receiver     = suMod.UserID.ToString();
            orderMod.Rename       = suMod.HoneyName;
            orderMod.StoreID      = mu.SiteID;
            orderMod.Ordersamount = 0;
            foreach (DataRow dr in cartDT.Rows)
            {
                int       cid   = Convert.ToInt32(dr["ID"]);
                M_CartPro cpMod = new M_CartPro();
                if (cid > 0)
                {
                    cpMod = cpBll.SelReturnModel(cid);
                    if (cpMod.Orderlistid != Mid)
                    {
                        throw new Exception("购物车数据与订单不匹配");
                    }
                }
                else
                {
                    cpMod.StoreID = mu.SiteID;
                }
                //-------------------
                M_Product proMod = proBll.GetproductByid(Convert.ToInt32(dr["ProID"]));
                cpMod.ProID            = proMod.ID;
                cpMod.Proname          = proMod.Proname;
                cpMod.Danwei           = proMod.ProUnit;
                cpMod.Shijia           = proMod.LinPrice;
                cpMod.Pronum           = Convert.ToInt32(dr["Pronum"]);
                cpMod.AllMoney         = cpMod.Shijia * cpMod.Pronum;
                orderMod.Ordersamount += cpMod.AllMoney;
                //-------------------------
                cpMod.Username  = suMod.HoneyName;
                cpMod.code      = DataConvert.CStr(dr["code"]);      //技师ID
                cpMod.Attribute = DataConvert.CStr(dr["Attribute"]); //技师姓名
                cpList.Add(cpMod);
                //city,bindpro,
            }
            if (orderMod.id > 0)
            {
                orderBll.UpdateByID(orderMod);
            }
            else
            {
                orderMod.id = orderBll.insert(orderMod);
            }
            string cpIds = "";
            foreach (M_CartPro cpMod in cpList)
            {
                if (cpMod.ID > 0)
                {
                    cpBll.UpdateByID(cpMod);
                }
                else
                {
                    cpMod.Orderlistid = orderMod.id;
                    cpMod.ID          = cpBll.GetInsert(cpMod);
                }
                cpIds += cpMod.ID + ",";
            }
            //删除未提交的购物车信息
            cpIds = cpIds.TrimEnd(',');
            DBCenter.DelByWhere("ZL_CartPro", "OrderListID=" + orderMod.id + " AND ID NOT IN (" + cpIds + ")");
            result = orderMod.id.ToString();

            //---------------------------------------------


            Response.Clear();
            Response.Write(result);
            Response.Flush(); Response.End(); return;
        }
        if (!IsPostBack)
        {
            M_UserInfo mu = buser.GetLogin();
            if (Mid > 0)
            {
                M_OrderList orderMod = orderBll.SelReturnModel(Mid);
                if (orderMod.StoreID != mu.SiteID)
                {
                    function.WriteErrMsg("你无权操作该订单");
                }
                if (orderMod.OrderStatus != (int)M_OrderList.StatusEnum.Normal)
                {
                    function.WriteErrMsg("该订单不可修改");
                }
                DataTable cpDT = cpBll.SelByOrderID(orderMod.id);
                Cart_Hid.Value = JsonConvert.SerializeObject(cpDT);
            }
        }
    }
Example #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ExHelper.CheckUserAuth("cash");
        mu = buser.GetLogin();
        M_Store_Info storeMod = ExHelper.Store_User();

        orderMod = orderBll.SelReturnModel(OrderID);
        client   = buser.SelReturnModel(DataConvert.CLng(orderMod.Receiver));
        OrderHelper.CheckIsCanPay(orderMod);
        if (function.isAjax())
        {
            M_Payment payMod = payBll.CreateByOrder(orderMod);
            payMod.UserID  = mu.UserID;
            payMod.CStatus = true;
            payMod.Status  = (int)M_Payment.PayStatus.HasPayed;
            string result = "";
            try
            {
                string type = Request.Form["type"];
                switch (type)
                {
                case "money":
                    #region 现金支付/扫码支付
                {
                    double rece = DataConvert.CDouble(Request.Form["rece"]);
                    if (rece < payMod.MoneyPay)
                    {
                        throw new Exception("金额不正确,不能少于应收金额");
                    }
                    payMod.Remark    = string.Format("应收{0},实收{1},找零{2}", payMod.MoneyPay, rece, rece - payMod.MoneyPay);
                    payMod.MoneyTrue = rece > payMod.MoneyPay ? payMod.MoneyPay : rece;
                    payMod.PayPlatID = (int)M_PayPlat.Plat.Offline;        //现金扫码支付
                }
                    #endregion
                    break;

                case "mcard":
                    #region 会员卡支付
                {
                    if (client.IsNull)
                    {
                        throw new Exception("未指定会员,无法使用会员卡支付");
                    }
                    else if (client.Purse < orderMod.Ordersamount)
                    {
                        throw new Exception("会员卡余额不足");
                    }
                    else
                    {
                        buser.MinusVMoney(client.UserID, orderMod.Ordersamount, M_UserExpHis.SType.Purse, "会员卡支付[" + orderMod.OrderNo + "]");
                        //检测会员卡余额是否充足
                        payMod.Remark    = "会员卡支付";
                        payMod.MoneyTrue = orderMod.Ordersamount;
                        payMod.PayPlatID = (int)M_PayPlat.Plat.ECPSS;        //会员卡支付
                    }
                }
                    #endregion
                    break;

                default:
                    throw new Exception("支付方式[" + type + "]不存在");
                }
                payMod.PaymentID = payBll.Add(payMod);
                OrderHelper.FinalStep(payMod, orderMod, null);
                result = "1";
            }
            catch (Exception ex)
            {
                ZLLog.L(ZLEnum.Log.pay, "订单:" + orderMod.id + ",原因:" + ex.Message);
                result = ex.Message;
            }
            if (client.UserID > 0)
            {
                DBCenter.UpdateSQL(client.TbName, "UpdateTime=getdate()", "UserID=" + client.UserID);
            }
            Response.Write(result); Response.Flush(); Response.End();
        }
        if (!IsPostBack)
        {
            StoreName_L.Text    = storeMod.Title;
            Cart_RPT.DataSource = cpBll.SelByOrderID(orderMod.id);
            Cart_RPT.DataBind();
        }
    }
Example #10
0
        public static void OrderFinish(M_OrderList mod, M_Payment pinfo)
        {
            B_OrderList orderBll = new B_OrderList();
            B_CartPro   cpBll    = new B_CartPro();
            B_User      buser    = new B_User();

            //B_User_Card cdBll = new B_User_Card();
            //B_User_StoreUser suBll = new B_User_StoreUser();
            switch (mod.Ordertype)
            {
            case (int)M_OrderList.OrderEnum.Domain:
            {
                B_Shop_MoneyRegular regBll = new B_Shop_MoneyRegular();
                //M_User_StoreUser suMod = suBll.SelReturnModel(Convert.ToInt32(mod.Receiver));
                //M_User_Card cdMod = cdBll.SelModelByUid(suMod.ID);
                //cdMod.CardPurse += mod.Ordersamount;
                //cdBll.UpdateByID(cdMod);
                int regular = DataConvert.CLng(mod.Money_code);
                M_Shop_MoneyRegular regMod = null;
                if (regular > 0)
                {
                    regMod = regBll.SelReturnModel(regular);
                }
                else
                {
                    regMod     = new M_Shop_MoneyRegular();
                    regMod.Min = mod.Ordersamount;
                }
                buser.AddMoney(DataConvert.CLng(mod.Receiver), regMod.Min + regMod.Purse, M_UserExpHis.SType.Purse, "充值,订单号:" + mod.OrderNo + ",充值:" + regMod.Min + ",赠送:" + regMod.Purse);
                if (regMod.Point > 0)
                {
                    buser.AddMoney(DataConvert.CLng(mod.Receiver), regMod.Point, M_UserExpHis.SType.Point, "充值赠送积分,订单号:" + mod.OrderNo);
                }
            }
            break;

            case (int)M_OrderList.OrderEnum.Cloud:    //通过微信下的预约订单
            {
                //付款后增加预约记录,由收银员完成开单
                //{ id: 0, proid: 0, proname: "", empid: 0, empname: "" };
                DataTable cpDT = cpBll.SelByOrderID(mod.id);
                List <M_Ex_PreOrder_Item> itemList = new List <M_Ex_PreOrder_Item>();
                foreach (DataRow dr in cpDT.Rows)
                {
                    M_Ex_PreOrder_Item model = new M_Ex_PreOrder_Item();
                    model.proid   = Convert.ToInt32(dr["ProID"]);
                    model.proname = DataConvert.CStr(dr["Proname"]);
                    model.empid   = DataConvert.CLng(dr["code"]);
                    model.empname = DataConvert.CStr(dr["Proinfo"]);
                    itemList.Add(model);
                }
                B_Ex_PreOrder poBll = new B_Ex_PreOrder();
                M_Ex_PreOrder poMod = new M_Ex_PreOrder();
                poMod.ClientMobile = mod.Mobile.ToString();
                poMod.ClientName   = mod.Rename;
                poMod.ClientDate   = DataConvert.CDate(mod.ExpTime);
                poMod.ClientNeed   = JsonConvert.SerializeObject(itemList);
                poMod.Remark       = mod.Ordermessage;
                poMod.Source       = "微信";
                poMod.OrderID      = mod.id;
                poMod.ID           = poBll.Insert(poMod);
            }
            break;

            default:    //普通订单,计算提成,赠送积分
            {
                B_Shop_Bonus bnBll = new B_Shop_Bonus();
                DataTable    cpDT  = cpBll.SelByOrderID(mod.id);
                foreach (DataRow dr in cpDT.Rows)
                {
                    int    code     = DataConvert.CLng(dr["code"]);
                    int    proid    = DataConvert.CLng(dr["Proid"]);
                    double allMoney = DataConvert.CDouble(dr["AllMoney"]);
                    if (code < 1)
                    {
                        continue;
                    }
                    #region 技师计算提成
                    //技师绑定了何种分成方案,
                    M_UserInfo   jsMod = buser.SelReturnModel(code);
                    M_Shop_Bonus bnMod = null;
                    if (jsMod.VIP < 1)
                    {
                        bnMod = bnBll.SelModelByDefault();
                    }
                    else
                    {
                        bnMod = bnBll.SelReturnModel(jsMod.VIP);
                    }
                    //无提成方案则不计算
                    if (bnMod != null)
                    {
                        //根据商品ID,看有无匹配的子数据类型
                        M_Shop_Bonus bnMod2 = bnBll.SelModelByProID(bnMod.ID, proid);
                        if (bnMod2 != null)
                        {
                            bnMod = bnMod2;
                        }
                        //-------计算提成,写入CartPro中
                        double bonus = 0;
                        switch (bnMod.BonusType)
                        {
                        case 0:
                            bonus = allMoney * (DataConvert.CDouble(bnMod.BonusValue1) * 0.01);
                            break;

                        case 1:
                            bonus = DataConvert.CDouble(bnMod.BonusValue1);
                            break;
                        }
                        DBCenter.UpdateSQL("ZL_CartPro", "AllMoney_Json='" + bonus.ToString("F2") + "'", "ID=" + dr["ID"]);
                    }
                    #endregion
                }
                //-------赠送积分,默认每一元送一分
                buser.AddMoney(DataConvert.CLng(mod.Receiver), mod.Receivablesamount, M_UserExpHis.SType.Point, "订单[" + mod.id + "]赠送积分");
            }
            break;
            }
        }