private void SaveItem() { // 从每个选中的行中获取ID(在Grid1中定义的DataKeyNames) List <int> ids = GetSelectedDataKeyIDs(Grid1); tm_Goods goodsEntity = new tm_Goods(); WHGoodsDetail whGoodsEntity = new WHGoodsDetail(); tm_GoodsAllocationBillDetail dbEntity = new tm_GoodsAllocationBillDetail(); // 执行数据库操作 foreach (int ID in ids) { //获取库存物品信息 whGoodsEntity = Core.Container.Instance.Resolve <IServiceWHGoodsDetail>().GetEntity(ID); if (whGoodsEntity != null) { goodsEntity = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(whGoodsEntity.GoodsID); //判断是否已经添加改商品物品 if (!IsExists(ID)) { dbEntity = new tm_GoodsAllocationBillDetail(); dbEntity.OrderNO = OrderNO; dbEntity.GoodsID = whGoodsEntity.GoodsID; dbEntity.GoodsType = whGoodsEntity.GoodsTypeID; dbEntity.GoodsNumber = 1; dbEntity.GoodsPrice = goodsEntity.GoodsPrice; dbEntity.GoodsAmount = goodsEntity.GoodsPrice; dbEntity.OrderDate = DateTime.Now; Core.Container.Instance.Resolve <IServiceGoodsAllocationBillDetail>().Create(dbEntity); } } } }
private bool IsExists(int goodsID) { IList <ICriterion> qryList = new List <ICriterion>(); qryList.Add(Expression.Eq("OrderNO", OrderNO)); qryList.Add(Expression.Eq("GoodsID", goodsID)); tm_GoodsAllocationBillDetail objInfo = Core.Container.Instance.Resolve <IServiceGoodsAllocationBillDetail>().GetEntityByFields(qryList); return(objInfo != null ? true : false); }
protected void Grid1_AfterEdit(object sender, GridAfterEditEventArgs e) { Dictionary <int, Dictionary <string, object> > modifiedDict = Grid1.GetModifiedDict(); foreach (int rowIndex in modifiedDict.Keys) { int rowID = Convert.ToInt32(Grid1.DataKeys[rowIndex][0]); tm_GoodsAllocationBillDetail objInfo = Core.Container.Instance.Resolve <IServiceGoodsAllocationBillDetail>().GetEntity(rowID); if (modifiedDict[rowIndex].Keys.Contains("GoodsPrice")) { objInfo.GoodsPrice = Convert.ToDecimal(modifiedDict[rowIndex]["GoodsPrice"]); } if (modifiedDict[rowIndex].Keys.Contains("GoodsNumber")) { objInfo.GoodsNumber = Convert.ToDecimal(modifiedDict[rowIndex]["GoodsNumber"]); } objInfo.GoodsAmount = objInfo.GoodsPrice * objInfo.GoodsNumber; Core.Container.Instance.Resolve <IServiceGoodsAllocationBillDetail>().Update(objInfo); } BindGrid(); }