public void CopyToCartPro(M_OrderList Odata) { DataTable proDt = JsonConvert.DeserializeObject <DataTable>(Pro_Hid.Value); if (proDt == null) { return; } foreach (DataRow row in proDt.Rows) { M_CartPro cartMod = new M_CartPro(); M_Product proMod = proBll.GetproductByid(DataConvert.CLng(row["id"])); int num = DataConvert.CLng(row["pronum"]); cartMod.Orderlistid = Odata.id; cartMod.ProID = proMod.ID; cartMod.Pronum = num; cartMod.Proname = proMod.Proname; cartMod.Username = Odata.Reuser; cartMod.Shijia = proMod.LinPrice; cartMod.AllMoney = DataConvert.CDouble(Odata.Balance_price); cartMod.Danwei = proMod.ProUnit; cartMod.Addtime = DateTime.Now; cartMod.StoreID = DataConvert.CLng(Odata.StoreID); cartProBll.GetInsert(cartMod); } }
/// <summary> /// 拷贝一份至ZL_CartPro长久保存 /// </summary> public void CopyToCartPro(M_UserInfo mu, DataTable dt, int oid) { B_Product proBll = new B_Product(); string[] fields = "Additional,StoreID,AllMoney_Json,code".Split(','); foreach (string field in fields) { if (!dt.Columns.Contains(field)) { dt.Columns.Add(new DataColumn(field, typeof(string))); } } foreach (DataRow dr in dt.Rows) { M_Product proMod = proBll.GetproductByid(Convert.ToInt32(dr["Proid"])); M_CartPro model = new M_CartPro(); model.Orderlistid = oid; model.ProID = proMod.ID; model.Pronum = DataConverter.CLng(dr["Pronum"]); model.Proname = proMod.Proname; model.Shijia = Convert.ToDouble(dr["FarePrice"]); model.Danwei = proMod.ProUnit; model.Addtime = DateTime.Now; model.StoreID = DataConvert.CLng(dr["StoreID"]); model.code = DataConvert.CStr(dr["code"]); model.Attribute = DataConvert.CStr(dr["ProAttr"]); if (!dt.Columns.Contains("AllMoney")) { model.AllMoney = proMod.LinPrice * model.Pronum; } else { model.AllMoney = Convert.ToDouble(dr["AllMoney"]); } //model.Additional = DataConvert.CStr(dr["Additional"]); //model.AllMoney_Json = DataConvert.CStr(dr["AllMoney_Json"]); //如果非促销组合,则不保存商品简介和详情 if (proMod.Class != 2) { proMod.Procontent = ""; proMod.Proinfo = ""; } //原价与优惠信息(便于展示) //model.Usepoint = 0; //model.UsePointArrive = 0; //model.FarePrice = "0"; //model.ArriveMoney = 0; //model.ArriveRemind = ""; #region 保存购买时用户的信息 model.Username = mu.UserName; model.Additional = DataConvert.CStr(dr["Additional"]); //model.Additional = JsonHelper.GetJson(new string[] { "UserID", "GroupID", "PUserID" }, new object[] { mu.UserID, mu.GroupID, mu.ParentUserID }); #endregion #region 将整个商品信息备份(主要是价格和配置部分) model.PClass = proMod.Class.ToString(); //model.ProInfo = JsonConvert.SerializeObject(backup); #endregion model.ID = cartProBll.GetInsert(model); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { M_UserInfo mu = buser.GetLogin(); DataRow dr = ExOrder.SelReturnModel(Mid); int user = DataConvert.CLng(dr["status_user"]); int teacher = DataConvert.CLng(dr["status_teacher"]); if (mu.IsNull) { function.WriteErrMsg("用户未登录"); } if (DataConvert.CLng(dr["status_money"]) == 1) { function.WriteErrMsg("订单已支付过佣金"); } if (teacher != (int)ExConast.Order_Teacher.签约成功) { function.WriteErrMsg("订单状态不正确"); } //-----------------生成支付单 //检测是否已有支付单 DataTable payDT = DBCenter.Sel(payBll.TbName, "code='" + Mid + "'", "PaymentID DESC"); if (payDT.Rows.Count > 0) { M_Payment payMod = payBll.SelReturnModel(Convert.ToInt32(payDT.Rows[0]["PaymentID"])); if (payMod.Status == (int)M_Payment.PayStatus.HasPayed) { function.WriteErrMsg("支付单已付过款"); } Response.Redirect("/Payonline/OrderPay.aspx?payno=" + payMod.PayNo); } else { M_OrderList orderMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Normal); orderMod.Ordersamount = PlugConfig.Instance.Order_YJ; orderMod.Specifiedprice = PlugConfig.Instance.Order_YJ; orderMod.Balance_price = PlugConfig.Instance.Order_YJ; orderMod.Money_code = Mid.ToString(); orderMod.id = orderBll.insert(orderMod); M_CartPro cpMod = new M_CartPro(); cpMod.Orderlistid = orderMod.id; cpMod.Proname = "佣金"; cpMod.Pronum = 1; cpMod.Shijia = orderMod.Ordersamount; cpMod.UserID = mu.UserID; cpMod.Username = mu.UserName; cpMod.ID = cpBll.GetInsert(cpMod); M_Payment payMod = payBll.CreateByOrder(orderMod); payMod.code = Mid.ToString(); payMod.PaymentID = payBll.Add(payMod); //进去支付界面 Response.Redirect("/Payonline/OrderPay.aspx?payno=" + payMod.PayNo); } } }
protected void Submit_Btn_Click(object sender, EventArgs e) { M_UserInfo mu = buser.GetLogin(); M_Product proMod = proBll.GetproductByid(ProID); DataRow timeMod = idcBll.GetSelTime(proMod, IDCTime_DP.SelectedValue); //----------------------------------- M_OrderList Odata = orderBll.NewOrder(mu, M_OrderList.OrderEnum.IDC); Odata.Balance_price = DataConvert.CDouble(timeMod["price"]);//需付金额 Odata.Ordersamount = Odata.Balance_price; //----------------------------- M_Order_IDC idcMod = new M_Order_IDC(); idcMod.OrderNo = Odata.OrderNo; idcMod.ProID = proMod.ID; idcMod.ProInfo = idcBll.ToProInfoStr(timeMod); idcMod.Domain = BindDomain_T.Text; idcMod.AdminName = "webmater@" + idcMod.Domain; idcMod.AdminPwd = Pwd_T.Text; idcMod.Remind = OPSys_DP.SelectedValue + "|" + ServerPos_DP.SelectedValue + "|" + Record_T.Text; idcMod.ID = idcBll.Insert(idcMod); Odata.id = orderBll.Adds(Odata); //----------------------------- M_CartPro cpMod = new M_CartPro(); cpMod.Orderlistid = Odata.id; cpMod.ProID = proMod.ID; cpMod.Pronum = 1; cpMod.Proname = proMod.Proname; cpMod.Username = mu.UserName; cpMod.Shijia = Convert.ToDouble(timeMod["price"]); cpMod.AllMoney = Convert.ToDouble(timeMod["price"]); cpMod.code = timeMod["time"].ToString(); cartProBll.GetInsert(cpMod); //----------------------------- M_Payment payMod = payBll.CreateByOrder(Odata); payBll.Add(payMod); Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo); }
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); } } }
protected void EGV_RowCommand(object sender, GridViewCommandEventArgs e) { switch (e.CommandName) { case "del2": poBll.Del(e.CommandArgument.ToString()); break; case "fast": //生成订单后,跳转至指定界面 M_UserInfo mu = buser.GetLogin(); M_UserInfo client = new M_UserInfo(); M_Ex_PreOrder poMod = poBll.SelReturnModel(Convert.ToInt32(e.CommandArgument)); if (poMod == null) { function.WriteErrMsg("预约单不存在"); } if (poMod.StoreID != mu.SiteID) { function.WriteErrMsg("不可操作该订单"); } if (poMod.ZStatus != 0) { function.WriteErrMsg("预约单状态不正确"); } DataTable infoDT = JsonConvert.DeserializeObject <DataTable>(poMod.ClientNeed); //---------------------------------- List <M_CartPro> cpList = new List <M_CartPro>(); M_OrderList orderMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Normal); orderMod.Userid = mu.UserID; orderMod.AddUser = mu.UserName;//收银员名称 orderMod.Receiver = client.UserID.ToString(); orderMod.Rename = client.UserName; orderMod.StoreID = mu.SiteID; orderMod.Ordersamount = 0; foreach (DataRow dr in infoDT.Rows) { M_CartPro cpMod = new M_CartPro(); 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 = 1; cpMod.AllMoney = cpMod.Shijia * cpMod.Pronum; orderMod.Ordersamount += cpMod.AllMoney; //------------------------- cpMod.Username = client.UserName; cpMod.StoreID = mu.SiteID; cpMod.Addtime = DateTime.Now; cpMod.code = DataConvert.CLng(dr["empid"]).ToString(); //技师ID cpMod.ProInfo = DataConvert.CStr(dr["empname"]); //技师姓名 cpList.Add(cpMod); } orderMod.id = orderBll.insert(orderMod); foreach (M_CartPro cpMod in cpList) { cpMod.Orderlistid = orderMod.id; cpMod.ID = cpBll.GetInsert(cpMod); } poMod.ZStatus = 99; poBll.UpdateByID(poMod); Response.Redirect("/Extend/Order/FastOrder.aspx?ID=" + orderMod.id); break; } MyBind(); }