public ErrorLogs GetWorkflowErrors() { ErrorLogCriteriaFilter filter = new ErrorLogCriteriaFilter(); filter.AddRegularFilter(ErrorLogFields.Date, Comparison.GreaterOrEquals, DateTime.Now.Date); ErrorLogs errorLogs = _server.GetErrorLogs(_server.GetErrorProfile("All").ID, filter); return(errorLogs); }
public ErrorLog GetErrorLog(int procId, int procInstId, int errorProfileId) { var server = this.GetServer(); using (server.Connection) { var criteria = new ErrorLogCriteriaFilter(); criteria.PageSize = int.MaxValue; criteria.PageIndex = 0; criteria.AddRegularFilter(ErrorLogFields.ProcInstID, Comparison.Equals, procInstId); var errorLogs = server.GetErrorLogs(errorProfileId, criteria).Cast <ErrorLog>(); return(errorLogs.FirstOrDefault(l => l.ProcID == procId)); } }
private void RetryProcess() { bool newVersion = base.GetBoolProperty(Constants.SOProperties.ErrorLog.TryNewVersion); int procInstId = base.GetIntProperty(Constants.SOProperties.ErrorLog.ProcessInstanceId, true); base.ServiceBroker.Service.ServiceObjects[0].Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); ErrorProfile all = mngServer.GetErrorProfiles()[0]; ErrorLogCriteriaFilter errorfilter = new ErrorLogCriteriaFilter(); errorfilter.AddRegularFilter(ErrorLogFields.ProcInstID, Comparison.Equals, procInstId); ErrorLogs errors = mngServer.GetErrorLogs(all.ID, errorfilter); if (errors.Count != 1) { throw new ApplicationException(string.Format("Could not retrieve process (with id: {0}). Got {1} results.", procInstId, errors.Count)); } int errorId = errors[0].ID; if (newVersion) { int newVersionNumber = 0; ProcessInstanceCriteriaFilter procFilter = new ProcessInstanceCriteriaFilter(); procFilter.AddRegularFilter(ProcessInstanceFields.ProcInstID, Comparison.Equals, procInstId); ProcessInstances procs = mngServer.GetProcessInstancesAll(procFilter); Processes procesVersions = mngServer.GetProcessVersions(procs[0].ProcSetID); foreach (Process proc in procesVersions) { if (proc.VersionNumber > newVersionNumber) { newVersionNumber = proc.VersionNumber; } } mngServer.SetProcessInstanceVersion(procInstId, newVersionNumber); } mngServer.RetryError(procInstId, errorId, string.Format("Process Retry using {0}", base.ServiceBroker.Service.ServiceObjects[0].Name)); } }
private void RetryProcess() { bool newVersion = base.GetBoolProperty(Constants.SOProperties.ErrorLog.TryNewVersion); int procInstId = base.GetIntProperty(Constants.SOProperties.ErrorLog.ProcessInstanceId, true); base.ServiceBroker.Service.ServiceObjects[0].Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); ErrorProfile all = mngServer.GetErrorProfiles()[0]; ErrorLogCriteriaFilter errorfilter = new ErrorLogCriteriaFilter(); errorfilter.AddRegularFilter(ErrorLogFields.ProcInstID, Comparison.Equals, procInstId); ErrorLogs errors = mngServer.GetErrorLogs(all.ID, errorfilter); if (errors.Count != 1) { throw new ApplicationException(string.Format("Could not retrieve process (with id: {0}). Got {1} results.", procInstId, errors.Count)); } int errorId = errors[0].ID; if (newVersion) { int newVersionNumber = 0; ProcessInstanceCriteriaFilter procFilter = new ProcessInstanceCriteriaFilter(); procFilter.AddRegularFilter(ProcessInstanceFields.ProcInstID, Comparison.Equals, procInstId); ProcessInstances procs = mngServer.GetProcessInstancesAll(procFilter); Processes procesVersions = mngServer.GetProcessVersions(procs[0].ProcSetID); foreach (Process proc in procesVersions) { if (proc.VersionNumber > newVersionNumber) newVersionNumber = proc.VersionNumber; } mngServer.SetProcessInstanceVersion(procInstId, newVersionNumber); } mngServer.RetryError(procInstId, errorId, string.Format("Process Retry using {0}", base.ServiceBroker.Service.ServiceObjects[0].Name)); } }
private SourceCode.Workflow.Management.ErrorLog GetLastError() //////int ErrorCountBeforeTests, out int LastErrorNumBeforeTests ) { WorkflowManagementServer ManagementServer = null; try { ManagementServer = new WorkflowManagementServer(); ManagementServer.Open(ConfigHelper.GetConnectionString("ManagementServerCS")); ErrorProfile profile = ManagementServer.GetErrorProfile("All"); ErrorLogCriteriaFilter elcf = new ErrorLogCriteriaFilter(); elcf.ORDER_BY(ErrorLogFields.ErrorLogID, CriteriaSortOrder.Ascending); ErrorLogs logs = ManagementServer.GetErrorLogs(profile.ID); if (logs.Count > 0) { return logs[logs.Count - 1]; } else { return null; } } finally { if (ManagementServer != null && ManagementServer.Connection != null) { ManagementServer.Connection.Dispose(); ManagementServer = null; } } }