/// <summary> /// 绑定辅材列表 /// </summary> private void BindSecondaryGoodsInfo() { IList <ICriterion> qryList = new List <ICriterion>(); qryList.Add(Expression.Eq("OrderNO", OrderNO)); qryList.Add(Expression.Gt("GoodsNumber", 0M)); Order[] orderList = new Order[1]; Order orderli = new Order("ID", true); orderList[0] = orderli; IList <ContractOrderSecondaryDetail> list = Core.Container.Instance.Resolve <IServiceContractOrderSecondaryDetail>().GetAllByKeys(qryList, orderList); foreach (ContractOrderSecondaryDetail detail in list) { detail.GoodsInfo = Core.Container.Instance.Resolve <IServiceEquipmentInfo>().GetEntity(detail.GoodsID); detail.MainGoodsInfo = Core.Container.Instance.Resolve <IServiceEquipmentInfo>().GetEntity(detail.MainGoodsID); qryList = new List <ICriterion>(); qryList.Add(Expression.Eq("OrderNO", OrderNO)); qryList.Add(Expression.Eq("GoodsID", detail.MainGoodsID)); detail.MainGoodsOrderInfo = Core.Container.Instance.Resolve <IServiceContractOrderDetail>().GetEntityByFields(qryList); } GridSecondDetail.DataSource = list; GridSecondDetail.DataBind(); }
private void BindGrid() { //绑定主材列表 BindMainGoodsInfo(); //绑定主材列表 BindSecondaryGoodsInfo(); //检查是否显示价格 if (!CheckPower("CoreSaleOrderPrice")) { //检测权限,是否显示价格 GridColumn column = Grid1.FindColumn("GoodsUnitPrice"); GridColumn clGoodsUnitPrice = GridSecondDetail.FindColumn("GoodsUnitPrice"); GridColumn clGoodsTotalPrice = GridSecondDetail.FindColumn("GoodsTotalPrice"); column.Hidden = !column.Hidden; clGoodsUnitPrice.Hidden = !clGoodsUnitPrice.Hidden; clGoodsTotalPrice.Hidden = !clGoodsTotalPrice.Hidden; } }
/// <summary> /// 辅材赔偿数量编辑 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridSecondDetail_AfterEdit(object sender, GridAfterEditEventArgs e) { Dictionary <int, Dictionary <string, object> > modifiedDict = GridSecondDetail.GetModifiedDict(); foreach (int rowIndex in modifiedDict.Keys) { //根据绑定列的记录编号,获取收货物品辅材信息和物品基本信息 int rowID = Convert.ToInt32(GridSecondDetail.DataKeys[rowIndex][0]); ContractOrderSecondaryDetail objInfo = Core.Container.Instance.Resolve <IServiceContractOrderSecondaryDetail>().GetEntity(rowID); objInfo.GoodsInfo = Core.Container.Instance.Resolve <IServiceEquipmentInfo>().GetEntity(objInfo.GoodsID); //修改收货数量 if (modifiedDict[rowIndex].Keys.Contains("PayForNumber")) { objInfo.PayForNumber = Convert.ToDecimal(modifiedDict[rowIndex]["PayForNumber"]); //赔偿数量 objInfo.GoodsNumber = objInfo.FormerlyGoodsNumber - objInfo.PayForNumber; //最终收货数量 objInfo.GoodsTotalPrice = objInfo.PayForNumber * objInfo.GoodsUnitPrice; } //更新辅材信息 Core.Container.Instance.Resolve <IServiceContractOrderSecondaryDetail>().Update(objInfo); } //重新加载订单收货信息 BindSecondaryGoodsInfo(); }