private void SaveItem() { // 从每个选中的行中获取ID(在Grid1中定义的DataKeyNames) List <int> ids = GetSelectedDataKeyIDs(Grid1); PartsInfo goodsEntity = new PartsInfo(); ContractHandWareDetail dbEntity = new ContractHandWareDetail(); // 执行数据库操作 foreach (int ID in ids) { goodsEntity = Core.Container.Instance.Resolve <IServicePartsInfo>().GetEntity(ID); //判断是否已经添加改商品物品 if (!IsExists(ID)) { dbEntity = new ContractHandWareDetail(); dbEntity.ContractID = OrderID; dbEntity.GoodTypeID = goodsEntity.PartsTypeID; dbEntity.GoodsID = goodsEntity.ID; dbEntity.GoodsNumber = 1; dbEntity.GoodsUnit = goodsEntity.PartsUnit; dbEntity.GoodsUnitPrice = goodsEntity.UnitPrice; dbEntity.GoodAmount = goodsEntity.UnitPrice; dbEntity.GoodsName = goodsEntity.PartsName; dbEntity.CostPrice = goodsEntity.CostPrice; dbEntity.CostAmount = goodsEntity.CostPrice; dbEntity.IsFree = 1; dbEntity.OrderType = UserType; Core.Container.Instance.Resolve <IServiceContractHandWareDetail>().Create(dbEntity); } } }
/// <summary> /// 五金明细编辑 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void gdHandWare_AfterEdit(object sender, GridAfterEditEventArgs e) { Dictionary <int, Dictionary <string, object> > modifiedDict = gdHandWare.GetModifiedDict(); foreach (int rowIndex in modifiedDict.Keys) { //根据绑定列的记录编号,获取发货物品信息和物品基本信息 int rowID = Convert.ToInt32(gdHandWare.DataKeys[rowIndex][0]); ContractHandWareDetail objInfo = Core.Container.Instance.Resolve <IServiceContractHandWareDetail>().GetEntity(rowID); //修改数量 if (modifiedDict[rowIndex].Keys.Contains("GoodsNumber")) { objInfo.GoodsNumber = Convert.ToInt32(modifiedDict[rowIndex]["GoodsNumber"]); } //修改单价 if (modifiedDict[rowIndex].Keys.Contains("GoodsUnitPrice")) { objInfo.GoodsUnitPrice = Convert.ToDecimal(modifiedDict[rowIndex]["GoodsUnitPrice"]); } //更新总价和成本金额 objInfo.GoodAmount = objInfo.GoodsNumber * objInfo.GoodsUnitPrice; objInfo.CostAmount = objInfo.GoodsNumber * objInfo.CostPrice; //更新订单明细 Core.Container.Instance.Resolve <IServiceContractHandWareDetail>().Update(objInfo); } //重新加载 BindHandWareDetail(); }
private bool IsExists(int goodsID) { IList <ICriterion> qryList = new List <ICriterion>(); qryList.Add(Expression.Eq("ContractID", OrderID)); qryList.Add(Expression.Eq("GoodsID", goodsID)); qryList.Add(Expression.Eq("OrderType", UserType)); ContractHandWareDetail objInfo = Core.Container.Instance.Resolve <IServiceContractHandWareDetail>().GetEntityByFields(qryList); return(objInfo != null ? true : false); }
/// <summary> /// 设置五金收费 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnIsFree_Click(object sender, EventArgs e) { ContractHandWareDetail objInfo = new ContractHandWareDetail(); List <int> ids = GetSelectedDataKeyIDs(gdHandWare); foreach (int id in ids) { objInfo = new ContractHandWareDetail(); objInfo = Core.Container.Instance.Resolve <IServiceContractHandWareDetail>().GetEntity(id); objInfo.IsFree = objInfo.IsFree == 1 ? 0 : 1; Core.Container.Instance.Resolve <IServiceContractHandWareDetail>().Update(objInfo); } BindHandWareDetail(); }