void LoadGrid() { int iOrderNum = 0, iScoringNum = 0; DataTable dt = new DataTable(); dt.Columns.Add("客户"); dt.Columns.Add("打分"); dt.Columns.Add("评论"); COrderDetailMgr OrderDetailMgr = new COrderDetailMgr(); OrderDetailMgr.Ctx = Global.GetCtx(); string sWhere = string.Format("SP_Product_id='{0}' and State=2", m_Product.Id);//仅考虑结束的订单 string sOrderby = "Created desc"; List <CBaseObject> lstObj = OrderDetailMgr.GetList(sWhere, sOrderby); foreach (CBaseObject obj in lstObj) { COrderDetail detail = (COrderDetail)obj; iOrderNum++; COrder order = (COrder)Global.GetStore().OrderMgr.Find(detail.DD_Order_id); if (order.Scoring == ScoringType.NoScoring) { continue; } iScoringNum++; CCustomer customer = (CCustomer)Global.GetStore().CustomerMgr.Find(order.KH_Customer_id); DataRow row = dt.NewRow(); row[0] = customer != null ? customer.Name : ""; string sScore = "赞"; if (order.Scoring == ScoringType.General) { sScore = "一般"; } else if (order.Scoring == ScoringType.Bad) { sScore = "差"; } row[1] = sScore; row[2] = order.Comment; dt.Rows.Add(row); } gridScoring.DataSource = dt; gridScoring.DataBind(); lbOrderNum.Text = iOrderNum.ToString(); lbScoringNum.Text = iScoringNum.ToString(); }
//计算单价 public double CalcPrice(CProduct product, COrderDetail od) { double dblPrice = 0; //如果是促销,取促销价 bool bHasPrice = false; if (Global.GetStore().PromotionMgr.FindByProduct(product.Id) != null) { List <CBaseObject> lstPrice = product.PriceMgr.FindByType(PriceType.Promotion); if (lstPrice.Count > 0) { dblPrice = ((CPrice)lstPrice[0]).Price; bHasPrice = true; } } if (!bHasPrice) { //如果数量符合批发,则取批发价 List <CBaseObject> lstPrice = product.PriceMgr.FindByType(PriceType.Wholesale); if (lstPrice.Count > 0) { for (int i = lstPrice.Count - 1; i >= 0; i--) { CPrice price = (CPrice)lstPrice[i]; if (price.MinOrderNum <= od.Num) { dblPrice = price.Price; bHasPrice = true; break; } } } //如果没有符合,则取零售价 if (!bHasPrice) { List <CBaseObject> lstPrice2 = product.PriceMgr.FindByType(PriceType.Retail); if (lstPrice2.Count > 0) { CPrice price = (CPrice)lstPrice2[0]; dblPrice = price.Price; bHasPrice = true; } } } return(dblPrice); }
//计算总价 public double CalcTotalPrice() { double dblTotal = 0; List <CBaseObject> lstObj = m_Order.OrderDetailMgr.GetList(); foreach (CBaseObject obj in lstObj) { COrderDetail od = (COrderDetail)obj; string sName = ""; CProduct product = (CProduct)Global.GetStore().ProductMgr.Find(od.SP_Product_id); sName = product.Name; //根据数量计算单价 double dblPrice = CalcPrice(product, od); dblTotal += dblPrice * od.Num; } return(dblTotal); }
/// <summary> /// 委托明细 /// </summary> /// <param name="data"></param> public override void onRtnOrderDetail(COrderDetail data) { System.Console.WriteLine("onRtnOrderDetail"); if (data.m_nErrorID == 0 || data.m_nErrorID == 2147483647)//INT_MAX limits in c++ { System.Console.WriteLine("onRtnOrderDetail" + "\n m_nOrderStatus: " + data.m_nOrderStatus + "\n m_nOrderID: " + data.m_nOrderID //+ "\n time: " + makeCurTimestamp() + "\n instrumentID: " + data.m_strInstrumentID); } else { System.Console.WriteLine("onRtnOrderDetai] Failure, " + data.m_nOrderID + "\n , ErrorID: " + data.m_nErrorID + "\n , ErrorMsg: " + data.m_strErrorMsg); } }
protected void btMod_Click(object sender, EventArgs e) { string id = hidEditId.Value; string sNum = txtEditNum.Value.Trim(); if (sNum == "") { RegisterStartupScript("starup", "<script>alert('请填写订购数量!');</script>"); return; } if (!Util.IsInt(sNum)) { RegisterStartupScript("starup", "<script>alert('订购数量请填写整数!');</script>"); return; } int iNum = Convert.ToInt32(sNum); if (iNum <= 0) { RegisterStartupScript("starup", "<script>alert('订购数量要大于0!');</script>"); return; } List <CBaseObject> lstObj = m_Order.OrderDetailMgr.GetList(); foreach (CBaseObject obj in lstObj) { COrderDetail od = (COrderDetail)obj; if (od.Id == new Guid(id)) { od.Num = iNum; break; } } Session["Order"] = m_Order; }
bool AddToOrder() { if (rdlistColor.SelectedItem == null) { RegisterStartupScript("starup", "<script>alert('请选择颜色!');</script>"); return(false); } if (rdlistSpecification.SelectedItem == null) { RegisterStartupScript("starup", "<script>alert('请选择规格!');</script>"); return(false); } if (txtNum.Text.Trim() == "") { RegisterStartupScript("starup", "<script>alert('请填写订购数量!');</script>"); return(false); } if (!Util.IsInt(txtNum.Text.Trim())) { RegisterStartupScript("starup", "<script>alert('订购数量请填写整数!');</script>"); return(false); } int iNum = Convert.ToInt32(txtNum.Text.Trim()); if (iNum <= 0) { RegisterStartupScript("starup", "<script>alert('订购数量要大于0!');</script>"); return(false); } COrder order = null; if (Session["Order"] == null) { order = new COrder(); order.Ctx = Global.GetCtx(); } else { order = (COrder)Session["Order"]; } bool bAddDetail = false; List <CBaseObject> lstObj = order.OrderDetailMgr.GetList(); foreach (CBaseObject obj in lstObj) { COrderDetail od = (COrderDetail)obj; if (od.SP_Product_id == m_Product.Id && od.Color.Equals(rdlistColor.SelectedItem.Text, StringComparison.OrdinalIgnoreCase) && od.Specification.Equals(rdlistSpecification.SelectedItem.Text, StringComparison.OrdinalIgnoreCase)) { od.Num += iNum; bAddDetail = true; break; } } if (!bAddDetail) { COrderDetail od = new COrderDetail(); od.Ctx = Global.GetCtx(); od.DD_Order_id = order.Id; od.SP_Product_id = m_Product.Id; od.Color = rdlistColor.SelectedItem.Text; od.Specification = rdlistSpecification.SelectedItem.Text; od.Num = iNum; order.OrderDetailMgr.AddNew(od); } Session["Order"] = order; return(true); }
public override void onReqOrderDetail(String accountID, int nRequestId, COrderDetail data, bool isLast, XtError error) { System.Console.WriteLine("onReqOrderDetail:" + " isLast " + isLast + (error.isSuccess() ? " rtn success" : (" ERR ID" + error.errorID() + " msg: " + error.errorMsg()))); }