public void ExecuteScriptJob(JobSchedule job) { var activationStatus = this.jobScheduleRepository.StartJob(job); var workspace = new RelativityWorkspace() { WorkspaceId = job.WorkspaceId }; if (activationStatus == JobActivationStatus.Started) { try { Logger.Trace($"Executing job {job.Id}"); RelativityHelper.InWorkspace( (client, ws) => { this.ExecuteJobInWorkspace(client, job, ws); }, workspace, this.relativityClient.GetRelativityClient()); } catch (Exception ex) { Logger.Warn(ex, $"Execution of job {job.Id} failed"); job.CurrentJobHistory.ResultText = "Exception: " + ex.ToString(); job.CurrentJobHistory.HasError = true; } finally { this.jobScheduleRepository.FinishJob(job); } } }
private List <RelativityScript> GetAllScripts(IRSAPIClient client, RelativityWorkspace workspace) { var scriptArtifactResults = this.RelativityClient.Repositories.RelativityScript.Query(new DTOs.Query <DTOs.RelativityScript>() { Fields = RelativityHelper.FieldList("Name", "Description") }); if (scriptArtifactResults.Success) { return(scriptArtifactResults.Results.Select(r => new RelativityScript() { Name = r.Artifact.Name, Description = r.Artifact.Description, WorkspaceId = workspace.WorkspaceId, RelativityScriptId = r.Artifact.ArtifactID }).ToList()); } return(new List <RelativityScript>()); }
private T InWorkspace <T>(Func <IRSAPIClient, RelativityWorkspace, T> action, RelativityWorkspace workspace) { return(RelativityHelper.InWorkspace(action, workspace, this.RelativityClient)); }