public AuditFuneralNotice(FuneralNotice notice, AuditState newState) : this() { if (notice.Id == 0) { if(newState != AuditState.Creating && newState != AuditState.EmptyIdPermavita) { throw new Exception("Sanity check. Notice ID=0, but state is: " + newState); } } this.FuneraNoticeId = notice.Id; this.MemorialId = notice.MemorialId; this.CedarCode = notice.CedarCode; this.BranchId = notice.BranchId; this.CreateDate = notice.CreateDate; this.ModifiedDate = notice.ModifiedDate; this.KnownAs = notice.KnownAs; this.OnlineMemorialUrl = notice.OnlineMemorialUrl; this.DeceasedImageUrl = notice.DeceasedImageUrl; this.ParentBranchId = notice.ParentBranchId; this.Surname = notice.Surname; this.FirstNames = notice.FirstNames; this.DateOfDeath = notice.DateOfDeath; this.DateOfFuneral = notice.DateOfFuneral; this.Obituary = notice.Obituary; this.Source = notice.Source; this.ShowDeceasedImage = notice.ShowDeceasedImage; this.RemoveNotice = notice.RemoveNotice; AuditState = newState; }
void InitializeControlState() { if (PmsService.Instance.CurrentUser.Group.Name == "检测") { // BindMeasurementControl(); _ExecuteReportControlState = new ExecuteState(); _ExecuteReportControlState.Enter(this); } if (PmsService.Instance.CurrentUser.Group.Name == "评审") { //BindMeasurementControl(); //BindAuditControl(); _ExecuteReportControlState = new AuditState(); _ExecuteReportControlState.Enter(this); } if (PmsService.Instance.CurrentUser.Group.Name == "审批") { // BindMeasurementControl(); //BindAuditControl(); //BindApproveControl(); _ExecuteReportControlState = new ApproveState(); _ExecuteReportControlState.Enter(this); } }
private void OnPartTask(object i_Obj) { BeginInvoke(new MessageHanlderDelegate(i_O => { var task = i_O as Task; if (task == null) { return; } _ExecuteReportControlState = new ExecuteState(); _ExecuteReportControlState.Enter(this); _Task = task; _ExecutionManager = new ExecutionManager(_Task); _CurrentTemplate = task.Part; if (_CurrentTemplate == null) { return; } Mediator.Mediator.Instance.NotifyColleagues(Execution.TaskStarted, task); CreateReportModel(); BindingTextControls(); RefreshCommentControls(); if (PmsService.Instance.CurrentUser.Group.Name == "检测") { LblTester.Text = PmsService.Instance.CurrentUser.Name; LblTestDate.Text = DateTime.Now.ToLongDateString(); _ExecuteReportControlState = new ExecuteState(); _ExecuteReportControlState.Enter(this); } if (PmsService.Instance.CurrentUser.Group.Name == "评审") { BindMeasurementControl(); LblAuditor.Text = PmsService.Instance.CurrentUser.Name; LblAuditDate.Text = DateTime.Now.ToLongDateString(); _ExecuteReportControlState = new AuditState(); _ExecuteReportControlState.Enter(this); } if (PmsService.Instance.CurrentUser.Group.Name == "审批") { BindMeasurementControl(); BindAuditControl(); LblApprover.Text = PmsService.Instance.CurrentUser.Name; LblApproveDate.Text = DateTime.Now.ToLongDateString(); _ExecuteReportControlState = new ApproveState(); _ExecuteReportControlState.Enter(this); } }), i_Obj); }
public AuditState Update(AuditState updateAuditState) { using (var scope = _serviceProvider.CreateScope()) { var _mapper = scope.ServiceProvider.GetService(typeof(IMapper)) as IMapper; var _ctx = scope.ServiceProvider.GetService(typeof(SQLHoshinCoreContext)) as SQLHoshinCoreContext; AuditStates auditStateRetriver = ValidateDescriptionAuditState(_ctx, _mapper, updateAuditState); if (auditStateRetriver is null) { return(null); } _ctx.AuditStates.Update(auditStateRetriver); _ctx.SaveChanges(); return(_mapper.Map <AuditStates, AuditState>(auditStateRetriver)); } }
public void Log(FuneralNotice notice, AuditState newState, string error = null) { notice = notice ?? CreateEmptyNotice(); var audit = new AuditFuneralNotice(notice, newState) {Error = error}; if (CanLogToDB(newState)) { AddAuditNotice(audit); } if (error == null) //there is no exception { if (CanLogToElmah(newState)) { string json = JsonConvert.SerializeObject(audit, Formatting.Indented); new Exception(json).LogToElmah(); } } _lastAudit = audit; }
public bool CanLogToElmah(AuditState state) { if (_config.IsElmahLoggingEnabled) if (_config.StatesForElmah.Contains(state)) return true; return false; }
private void OnPartReportSpecified(object i_Obj) { BeginInvoke(new Mediator.MessageHanlderDelegate(i_O => { var partReport = i_O as PartReport; if (partReport == null) { return; } _Task = partReport.Task; _PartReport = partReport; _CurrentTemplate = partReport.Task.Part; if (_CurrentTemplate == null) { return; } _DataSource = new List <ExecuteDimensionEntityViewModel>(); PmsService.Instance.PopulateDimensionsForReport(_PartReport); foreach (var en in _PartReport.Dimensions) { _DataSource.Add(new ExecuteDimensionEntityViewModel(en)); } if (_CurrentTemplate.Dimensions.Count > 0) { _SeletedDimension = _PartReport.Dimensions[0]; } dataGridView1.DataSource = _DataSource; btnCreateReport.Text = @"保存报告"; BindingTextControls(); // RefreshCommentControls(); if (PmsService.Instance.CurrentUser.Group.Name == "检测") { BindMeasurementControl(); LblTester.Text = PmsService.Instance.CurrentUser.Name; LblTestDate.Text = DateTime.Now.ToLongDateString(); _ExecuteReportControlState = new ExecuteState(); _ExecuteReportControlState.Enter(this); } if (PmsService.Instance.CurrentUser.Group.Name == "评审") { BindMeasurementControl(); BindAuditControl(); LblAuditor.Text = PmsService.Instance.CurrentUser.Name; LblAuditDate.Text = DateTime.Now.ToLongDateString(); _ExecuteReportControlState = new AuditState(); _ExecuteReportControlState.Enter(this); } if (PmsService.Instance.CurrentUser.Group.Name == "审批") { BindMeasurementControl(); BindAuditControl(); BindApproveControl(); LblApprover.Text = PmsService.Instance.CurrentUser.Name; LblApproveDate.Text = DateTime.Now.ToLongDateString(); _ExecuteReportControlState = new ApproveState(); _ExecuteReportControlState.Enter(this); } }), i_Obj); }
private void OnEnd(object sender, MailScanEventArgs e) { m_traceClient.NotifyFinished(); lock (this) { m_state = AuditState.Stopped; } }
private AuditStates ValidateDescriptionAuditState(SQLHoshinCoreContext _ctx, IMapper _mapper, AuditState auditState) { AuditStates auditStateValidation = _ctx.AuditStates.Where(x => (x.Name == auditState.Name || x.Code == auditState.Code || x.Color == auditState.Color) && x.AuditStateID != auditState.AuditStateID).FirstOrDefault(); if (auditStateValidation == null) { return(_mapper.Map <AuditState, AuditStates>(auditState)); } return(null); }
/// <summary> /// Pause the scanner /// </summary> public void ContinueAuditing() { if (m_fileSystemScanner != null) { m_fileSystemScanner.Continue(); } m_state = AuditState.Started; }
/// <summary> /// Pause the scanner /// </summary> public void PauseAuditing() { if (m_fileSystemScanner != null) { m_fileSystemScanner.Pause(); } m_state = AuditState.Paused; }
/// <summary> /// Stops the auditing process. /// Current progress is paused; no items are lost from the Queue. /// </summary> public void StopAuditing() { lock (this) { if (m_continue) { m_continue = false; if (m_fileSystemScanner != null && m_fileSystemScanner.IsProcessing) { m_fileSystemScanner.Cancel(); } m_state = AuditState.Stopped; } } }
/// <summary> /// Starts the Audit helper. /// From this point on, the audit helper will process /// any MailMessage objects that are encountered /// </summary> /// <remarks>Asynchronous</remarks> public void Audit() { lock (this) { m_traceOptions = m_traceClient.QueryOptions(); //Refreshes options between scans m_state = AuditState.Started; m_continue = true; if (m_fileSystemScanner != null && m_traceOptions.IsEmailScanning == false) { System.Diagnostics.Trace.WriteLine( Properties.Resources.AUDIT_FILESTART, "AuditInfo" ); bool isDiff = false; if (string.Compare(m_traceOptions.FolderToScan, m_fileSystemScanner.RootFolder, true, System.Threading.Thread.CurrentThread.CurrentCulture) != 0) isDiff = true; if (isDiff) { if (m_fileSystemScanner.IsCounting) { m_fileSystemScanner.EndFolderCount(); Thread.Sleep(500); // Lets give a while to clean up. } m_totalFiles = 0; m_fileSystemScanner.BeginFolderCount(m_traceOptions.FolderToScan); Thread.Sleep(50); // Give it a while to queue up information } m_traceClient.NotifyItemCount(m_totalFiles); m_fileSystemScanner.BeginProcess(); m_traceClient.NotifyInitialMailboxName(m_fileSystemScanner.MailBox); } } }
/// <summary> /// Starts the Audit helper. /// From this point on, the audit helper will asyncronously process /// any MailMessage objects that are passed in from Enqueue. /// </summary> public void Audit() { lock (this) { m_traceOptions = m_traceClient.QueryOptions(); if (m_emailScanner!=null) { m_emailScanner.SetFolders(m_traceOptions.FolderFlags); m_emailWorker = new Thread(new ThreadStart(EmailScanWorker)); m_emailWorker.Name = "m_emailWorker"; m_emailWorker.Start(); } if (m_fileSystemScanner != null) { m_fileSystemScanner.SetDirectories(null); m_fileSystemScanner.SetSearchFilters(null); m_fileSystemWorker = new Thread(new ThreadStart(FileSystemScanWorker)); m_fileSystemWorker.Name = "m_fileSystemWorker"; m_fileSystemWorker.Start(); } m_continue = true; m_state = AuditState.Started; } }
public bool CanLogToDB(AuditState state) { if (_config.IsDbLoggingEnabled) if (_config.StatesForDbAudit.Contains(state)) return true; return false; }
private void OnFileSystemEnd(object sender, EventArgs e) { m_traceClient.NotifyFinished(); m_state = AuditState.Stopped; }
protected void btn_Sumbit_Click(object sender, EventArgs e) { try { using (IFMPDBContext db = new IFMPDBContext()) { Score Score = db.Score.FirstOrDefault(t => t.ID == ScoreID && t.IsDel != true); AuditState auditstate = (AuditState)Convert.ToInt32(this.ddl_Audit.SelectedValue); Notice Notice = new Notice(); if (Score != null) { if (Score.AuditState == AuditState.待初审 && Score.FirstAuditUserID == UserID && db.ScoreAuditUser.FirstOrDefault(t => t.UserID == UserID && t.ScoreAuditUserType == ScoreAuditUserType.初审人) != null) { if (auditstate == AuditState.通过) { Score.AuditState = AuditState.待终审; Notice.Contenet = "当前有一条奖扣记录需要审核|主题:" + Score.Title + "(" + db.ScoreEvent.FirstOrDefault(t => t.ID == Score.ScoreEventID).BScore + "分)" + "|记录人:" + db.User.FirstOrDefault(t => t.ID == Score.CreateUserID).RealName + "|参与人:" + new ScoreUserDAO().GetScoreUser(Score.ID) + "|初审人:" + db.User.FirstOrDefault(t => t.ID == Score.FirstAuditUserID.Value).RealName + "|终审人:" + db.User.FirstOrDefault(t => t.ID == Score.LastAuditUserID.Value).RealName + "|状态:待终审"; Notice.IsSend = false; Notice.NoticeType = NoticeType.积分制消息; Notice.ReciveUserID = Score.LastAuditUserID.Value; Notice.SendUserID = UserID; Notice.SendDate = DateTime.Now; Notice.SourceID = Score.ID; Notice.URL = ParaUtils.SiteURL + "/jfz/app/RegistrationDetail.html?flag=1&id=" + Score.ID; db.Notice.Add(Notice); //给每个人发一个 foreach (ScoreUser ScoreUser in db.ScoreUser.Where(t => t.IsDel != true && t.ScoreID == Score.ID).ToList()) { Notice = new Notice(); Notice.Contenet = "您有一条奖扣记录正在审核中|主题:" + Score.Title + "(" + db.ScoreEvent.FirstOrDefault(t => t.ID == Score.ScoreEventID).BScore + "分)" + "|记录人:" + db.User.FirstOrDefault(t => t.ID == Score.CreateUserID).RealName + "|参与人:" + new ScoreUserDAO().GetScoreUser(Score.ID) + "|初审人:" + db.User.FirstOrDefault(t => t.ID == Score.FirstAuditUserID.Value).RealName + "|终审人:" + db.User.FirstOrDefault(t => t.ID == Score.LastAuditUserID.Value).RealName + "|状态:待终审"; Notice.IsSend = false; Notice.NoticeType = NoticeType.积分制消息; Notice.ReciveUserID = ScoreUser.UserID; Notice.SendUserID = UserID; Notice.SourceID = Score.ID; Notice.SendDate = DateTime.Now; Notice.URL = ParaUtils.SiteURL + "/jfz/app/RegistrationDetail.html?flag=2&id=" + Score.ID; db.Notice.Add(Notice); } } else { Score.AuditState = AuditState.驳回; foreach (ScoreUser ScoreUser in db.ScoreUser.Where(t => t.IsDel != true && t.ScoreID == Score.ID).ToList()) { Notice = new Notice(); Notice.Contenet = "您有一条奖扣记录被驳回|主题:" + Score.Title + "(" + db.ScoreEvent.FirstOrDefault(t => t.ID == Score.ScoreEventID).BScore + "分)" + "|记录人:" + db.User.FirstOrDefault(t => t.ID == Score.CreateUserID).RealName + "|参与人:" + new ScoreUserDAO().GetScoreUser(Score.ID) + "|初审人:" + db.User.FirstOrDefault(t => t.ID == Score.FirstAuditUserID.Value).RealName + "|终审人:" + db.User.FirstOrDefault(t => t.ID == Score.LastAuditUserID.Value).RealName + "|状态:驳回"; Notice.IsSend = false; Notice.NoticeType = NoticeType.积分制消息; Notice.ReciveUserID = ScoreUser.UserID; Notice.SendUserID = UserID; Notice.SendDate = DateTime.Now; Notice.SourceID = Score.ID; Notice.URL = ParaUtils.SiteURL + "/jfz/app/RegistrationDetail.html?flag=2&id=" + Score.ID; db.Notice.Add(Notice); } } Score.FirstAuditDate = DateTime.Now; Score.FirstAuditMark = this.txt_EventMark.Text.Trim(); } if (Score.AuditState == AuditState.待终审 && Score.LastAuditUserID == UserID && db.ScoreAuditUser.FirstOrDefault(t => t.UserID == UserID && t.ScoreAuditUserType == ScoreAuditUserType.终审人) != null) { if (auditstate == AuditState.通过) { Score.AuditState = AuditState.通过; foreach (ScoreUser ScoreUser in db.ScoreUser.Where(t => t.IsDel != true && t.ScoreID == Score.ID).ToList()) { Notice = new Notice(); Notice.Contenet = "您有一条奖扣记录已审核通过|主题:" + Score.Title + "(" + db.ScoreEvent.FirstOrDefault(t => t.ID == Score.ScoreEventID).BScore + "分)" + "|记录人:" + db.User.FirstOrDefault(t => t.ID == Score.CreateUserID).RealName + "|参与人:" + new ScoreUserDAO().GetScoreUser(Score.ID) + "|初审人:" + db.User.FirstOrDefault(t => t.ID == Score.FirstAuditUserID.Value).RealName + "|终审人:" + db.User.FirstOrDefault(t => t.ID == Score.LastAuditUserID.Value).RealName + "|状态:通过"; Notice.IsSend = false; Notice.NoticeType = NoticeType.积分制消息; Notice.ReciveUserID = ScoreUser.UserID; Notice.SendUserID = UserID; Notice.SourceID = Score.ID; Notice.SendDate = DateTime.Now; Notice.URL = ParaUtils.SiteURL + "/jfz/app/RegistrationDetail.html?flag=2&id=" + Score.ID; db.Notice.Add(Notice); } } else { Score.AuditState = AuditState.驳回; foreach (ScoreUser ScoreUser in db.ScoreUser.Where(t => t.IsDel != true && t.ScoreID == Score.ID).ToList()) { Notice = new Notice(); Notice.Contenet = "您有一条奖扣记录被驳回|主题:" + Score.Title + "(" + db.ScoreEvent.FirstOrDefault(t => t.ID == Score.ScoreEventID).BScore + "分)" + "|记录人:" + db.User.FirstOrDefault(t => t.ID == Score.CreateUserID).RealName + "|参与人:" + new ScoreUserDAO().GetScoreUser(Score.ID) + "|初审人:" + db.User.FirstOrDefault(t => t.ID == Score.FirstAuditUserID.Value).RealName + "|终审人:" + db.User.FirstOrDefault(t => t.ID == Score.LastAuditUserID.Value).RealName + "|状态:驳回"; Notice.IsSend = false; Notice.NoticeType = NoticeType.积分制消息; Notice.ReciveUserID = ScoreUser.UserID; Notice.SendUserID = UserID; Notice.SendDate = DateTime.Now; Notice.SourceID = Score.ID; Notice.URL = ParaUtils.SiteURL + "/jfz/app/RegistrationDetail.html?flag=2&id=" + Score.ID; db.Notice.Add(Notice); } } Score.LastAuditDate = DateTime.Now; Score.LastAuditMark = this.txt_EventMark.Text.Trim(); } db.SaveChanges(); ShowMessage(); new SysLogDAO().AddLog(LogType.操作日志_修改, "审核奖扣积分信息", UserID); } else { ShowMessage("找不到积分奖扣信息"); return; } } } catch (Exception ex) { new SysLogDAO().AddLog(LogType.系统日志, ex.Message, UserID); return; } }