예제 #1
0
 public ReviewReport(Guid ID, string Name, string GroupName, string PreviewViewPath, string IndexViewPath
                     , DataReportType DataReportType, ReviewReportStatus ReviewReportStatus
                     , bool AllowParentFlowProceedNextProcess, List <IDataReport> DataReports)
     : base(ID, Name)
 {
     _dataReports            = DataReports;
     this.DataReportType     = DataReportType;
     this.ReviewReportStatus = ReviewReportStatus;
     this.AllowParentFlowProceedNextProcess = AllowParentFlowProceedNextProcess;
     this.GroupName       = GroupName;
     this.PreviewViewPath = PreviewViewPath;
     this.IndexViewPath   = IndexViewPath;
 }
예제 #2
0
        /// <summary>
        /// 修改评审报告状态
        /// </summary>
        /// <param name="reviewReportStatus"></param>
        public void UpdateReviewReportStatus(ReviewReportStatus reviewReportStatus)
        {
            if (WorkTaskStatus == WorkTaskStatus.Waiting)
            {
                throw new Exception("工作任务处于等待状态,不能修改评审报告状态!");
            }

            if (_dataReports.Any(p => p.DataReportStatus == DataReportStatus.UnCommit))
            {
                throw new Exception("存在未提交的数据报告,不能修改评审报告状态!");
            }

            ReviewReportStatus = reviewReportStatus;

            if ((reviewReportStatus == ReviewReportStatus.Pass || reviewReportStatus == ReviewReportStatus.NoPass) &&
                WorkTaskStatus == WorkTaskStatus.Executing)
            {
                UpdateWorkTaskStatus(WorkTaskStatus.Executed);
            }
            else if (reviewReportStatus == ReviewReportStatus.Pending && WorkTaskStatus == WorkTaskStatus.Executed)
            {
                UpdateWorkTaskStatus(WorkTaskStatus.Executing);
            }
        }