Example #1
0
        /// <summary>
        /// 更新清单头
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="BoqName"></param>
        /// <param name="TotalAmount"></param>
        /// <param name="Tran"></param>
        private void Update(ContractBoqChange ChangeData, String OperationBy, SqlTransaction Tran)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ChangeNo", ChangeData.ChangeNo));
            cmds.Add(new CmdParameter("@Remark", ChangeData.Remark));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@ProjectNo", ChangeData.ProjectNo));
            cmds.Add(new CmdParameter("@ChangeCode", ChangeData.ChangeCode));
            cmds.Add(new CmdParameter("@ChangeName", ChangeData.ChangeName));
            cmds.Add(new CmdParameter("@Type", ChangeData.Type));
            cmds.Add(new CmdParameter("@ChangeDate", ChangeData.ChangeDate));
            cmds.Add(new CmdParameter("@ChangeAmount", ChangeData.ChangeAmount));
            cmds.Add(new CmdParameter("@BoiNum", ChangeData.BoiNum));
            cmds.Add(new CmdParameter("@Description", ChangeData.Description));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Change_Update", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
Example #2
0
        /// <summary>
        /// 获取扩展对象
        /// </summary>
        /// <param name="ChangeNo">变更单No</param>
        /// <returns></returns>
        public ProjectBoqChangeEx GetChangeEx(String ChangeNo)
        {
            //查找Info对象
            ContractBoqChangeInfo chInfo = ChangedList.ToList().Find(m => m.ChangeNo == ChangeNo);
            //获取变更明细
            ContractBoqChange boqChange = projectBoqChangeService.Get(ChangeNo);
            //加工成扩展对象
            ProjectBoqChangeEx boqChangeEx = HDAutoMapper.DynamicMap <ProjectBoqChangeEx>(boqChange);

            boqChangeEx.ChangeInfo = chInfo;
            return(boqChangeEx);
        }
Example #3
0
        /// <summary>
        /// 变更数据加载
        /// </summary>
        public void Load(String ChangeNo)
        {
            ContractBoqChange changeData = projectBoqChangeService.Get(ChangeNo);

            BoqChangeEx            = HDAutoMapper.DynamicMap <ProjectBoqChangeEx>(changeData);
            BoqChangeEx.ChangeInfo = ChangedList.ToList().FirstOrDefault(m => m.ChangeNo == ChangeNo);
            List <ContractBoqChangeDetailEx> lstEx = HDAutoMapper.DynamicMap <List <ContractBoqChangeDetailEx> >(changeData.Details);

            lstEx.ForEach(m =>
            {
                BoqChangeEx.DetailExList.Add(m);
            });
        }
Example #4
0
 public ContractBoqChange Save(ContractBoqChange BoqChange)
 {
     if (String.IsNullOrEmpty(BoqChange.ChangeNo))
     {
         //新增
         HdDbCmdManager.GetInstance().ExecuteTran(Tran => {
             Insert(BoqChange, ServiceContext.LoginName, Tran);
             BoqChange.Details.ForEach(m => {
                 m.ChangeNo = BoqChange.ChangeNo;
                 InsertDetail(m, ServiceContext.LoginName, Tran);
             });
         });
     }
     else
     {
         //临时变量
         ContractBoqChangeDetail temp = null;
         //修改
         ContractBoqChange oldData = Get(BoqChange.ChangeNo);
         HdDbCmdManager.GetInstance().ExecuteTran(Tran => {
             Update(BoqChange, ServiceContext.LoginName, Tran);
             List <ContractBoqChangeDetail> lstDelete  = oldData.Details.FindAll(m => !BoqChange.Details.Exists(n => n.ChangeDetailNo == m.ChangeDetailNo));
             List <ContractBoqChangeDetail> lstAdd     = BoqChange.Details.FindAll(m => String.IsNullOrEmpty(m.ChangeDetailNo));
             List <ContractBoqChangeDetail> lstDisable = BoqChange.Details.FindAll(m => (temp = oldData.Details.FirstOrDefault(n => n.ChangeDetailNo == m.ChangeDetailNo)) != null && temp.StatId == 1 && m.StatId == 0);
             List <ContractBoqChangeDetail> lstEnable  = BoqChange.Details.FindAll(m => (temp = oldData.Details.FirstOrDefault(n => n.ChangeDetailNo == m.ChangeDetailNo)) != null && temp.StatId == 0 && m.StatId == 1);
             List <ContractBoqChangeDetail> lstUpdate  = BoqChange.Details.FindAll(m => (temp = oldData.Details.FirstOrDefault(n => n.ChangeDetailNo == m.ChangeDetailNo)) != null && temp.StatId == m.StatId);
             lstDelete.ForEach(m => {
                 DeleteDetail(m.ChangeDetailNo, ServiceContext.LoginName, Tran);
             });
             lstAdd.ForEach(m =>
             {
                 m.ChangeNo = BoqChange.ChangeNo;
                 InsertDetail(m, ServiceContext.LoginName, Tran);
             });
             lstUpdate.ForEach(m =>
             {
                 UpdateDetail(m, ServiceContext.LoginName, Tran);
             });
             lstEnable.ForEach(m =>
             {
                 ChangeDataStat(m.ChangeDetailNo, 1, ServiceContext.LoginName, Tran);
             });
             lstDisable.ForEach(m =>
             {
                 ChangeDataStat(m.ChangeDetailNo, 0, ServiceContext.LoginName, Tran);
             });
         });
     }
     return(Get(BoqChange.ChangeNo));
 }
Example #5
0
        public ContractBoqChange Get(string ChangeNo)
        {
            ContractBoqChange boqResult = HdDbCmdManager.GetInstance().QueryForFirstRow <ContractBoqChange>(CHANGE_BY_CHANGENO, System.Data.CommandType.Text, new CmdParameter[] {
                new CmdParameter("@ChangeNo", ChangeNo)
            });

            if (boqResult != null)
            {
                boqResult.Details = HdDbCmdManager.GetInstance().QueryForList <ContractBoqChangeDetail>(CHANGE_DETAIL_BY_CHANGENO, System.Data.CommandType.Text, new CmdParameter[] {
                    new CmdParameter("@ChangeNo", boqResult.ChangeNo)
                });
            }
            return(boqResult);
        }
Example #6
0
        /// <summary>
        /// 保存数据
        /// </summary>
        public void Save()
        {
            ContractBoqChange changeData = new ContractBoqChange();

            ObjectHelper.CopyOneToTwo(BoqChangeEx, changeData);
            changeData.Details = new List <ContractBoqChangeDetail>();
            changeData.Details.AddRange(BoqChangeEx.DetailExList.ToList().ConvertAll <ContractBoqChangeDetail>(m =>
            {
                ContractBoqChangeDetail detail = new ContractBoqChangeDetail();
                ObjectHelper.CopyOneToTwo(m, detail);
                return(detail);
            }));
            ContractBoqChange result = projectBoqChangeService.Save(changeData);

            if (String.IsNullOrEmpty(changeData.ChangeNo))
            {
                ContractBoqChangeInfo info = HDAutoMapper.DynamicMap <ContractBoqChangeInfo>(result);
                BoqChangeEx.ChangeNo   = result.ChangeNo;
                BoqChangeEx.ChangeInfo = info;
                ChangedList.Add(info);
            }
            ObjectHelper.CopyOneToTwo <ContractBoqChangeInfo>(HDAutoMapper.DynamicMap <ContractBoqChangeInfo>(result), BoqChangeEx.ChangeInfo);
        }