Exemple #1
0
        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));
 }