Esempio n. 1
0
        private Result <bool> SendData(ProjectAuditRecord model)
        {
            Result <bool> result = new Result <bool>();

            try
            {
                using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx))
                {
                    if (model != null)
                    {
                        Epm_ProjectAuditRecord record = new Epm_ProjectAuditRecord();

                        record.WorkFlowId    = model.Id;
                        record.AuditName     = model.AuditName;
                        record.AuditRemark   = model.AuditRemark;
                        record.AuditSign     = model.AuditSign;
                        record.AuditState    = model.AuditState;
                        record.AuditTime     = Convert.ToDateTime(model.AuditTime);
                        record.AuditUserCode = model.AuditUserCode;
                        record.StepId        = model.StepId;
                        record.StepName      = model.StepName;

                        record.NextAuditName     = model.NextAuditName;
                        record.NextAuditUserCode = model.NextAuditUserCode;
                        record.NextStepId        = model.NextStepId;
                        record.NextStepName      = model.NextStepName;
                        record.ApprovalState     = model.ApprovalState;

                        result = proxy.AddProjectAuditRecord(record);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Flag      = EResultFlag.Failure;
                result.Data      = false;
                result.Exception = new ExceptionEx(ex, "SendData");
            }
            return(result);
        }
        /// <summary>
        /// 新增审核记录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Result <bool> AddProjectAuditRecord(Epm_ProjectAuditRecord model)
        {
            Result <bool> result = new Result <bool>();

            model = SetCurrentUser(model);
            try
            {
                if (model != null)
                {
                    var user = DataOperateBasic <Base_User> .Get().GetList(t => t.ObjeId == model.AuditUserCode).FirstOrDefault();

                    if (user == null)
                    {
                        throw new Exception("未找到当前审批人信息!");
                    }

                    var usernext = DataOperateBasic <Base_User> .Get().GetList(t => t.ObjeId == model.NextAuditUserCode).FirstOrDefault();

                    if (usernext == null)
                    {
                        throw new Exception("未找到下一步审批人信息!");
                    }

                    var approval = DataOperateBusiness <Epm_TzProjectPolit> .Get().Single(p => p.WorkFlowId == model.WorkFlowId);

                    if (approval == null)
                    {
                        throw new Exception("未找到对应的申请:" + model.WorkFlowId);
                    }

                    //if (user != null)
                    //{
                    //    model.AuditUserId = user.Id;
                    //    model.NextAuditUserId = usernext.Id;
                    //}
                    model.ProjectId  = approval.ProjectId;
                    model.ApprovalId = approval.Id;

                    if (model.ApprovalState == 1)
                    {
                        if (model.State == 1)
                        {
                            approval.State = 2;
                        }
                        else
                        {
                            approval.State = 3;
                        }
                    }
                    else
                    {
                        approval.State = 1;
                    }

                    DataOperateBusiness <Epm_TzProjectPolit> .Get().Update(approval);

                    model.State = 0;
                    var rows = DataOperateBusiness <Epm_ProjectAuditRecord> .Get().Add(model);

                    if (rows > 0)
                    {
                        result.Data = true;
                        result.Flag = EResultFlag.Success;
                    }
                    WriteLog(AdminModule.ProjectApproval.GetText(), SystemRight.Add.GetText(), "添加: " + model.Id);
                }
            }
            catch (Exception ex)
            {
                result.Data      = false;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "AddProjectAuditRecord");
            }
            return(result);
        }