Example #1
0
        /// <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();
        }