示例#1
0
    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();
    }
示例#2
0
    //计算单价
    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);
    }
示例#3
0
    //计算总价
    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);
    }
示例#4
0
 /// <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);
     }
 }
示例#5
0
    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;
    }
示例#6
0
    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);
    }
示例#7
0
 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())));
 }