private JobScheduleModel NewJobScheduleModel(RelativityScript relativityScript, RelativityWorkspace relativityWorkspace) { var jobSchedule = new JobSchedule() { Name = $"{relativityWorkspace.Name} - {relativityScript.Name}", RelativityScriptId = relativityScript.RelativityScriptId, WorkspaceId = relativityWorkspace.WorkspaceId }; var inputs = this.RelativityScriptRepository .GetScriptInputs(relativityScript, relativityWorkspace) .Select(i => new JobScriptInputModel(i)) .ToList(); var jobScheduleModel = new JobScheduleModel() { JobSchedule = jobSchedule, RelativityWorkspace = relativityWorkspace, RelativityScript = relativityScript, JobScriptInputs = inputs, IsNew = true }; return(jobScheduleModel); }
public static List<string> GetRelativityScriptInput(IRSAPIClient client, string scriptName) { var returnval = new List<string>(); List<RelativityScriptInputDetails> scriptInputList; int artifactid = GetScriptArtifactId(scriptName, client); // STEP 1: Using ArtifactID, set the script you want to run. RelativityScript script = new RelativityScript(artifactid); // STEP 2: Call GetRelativityScriptInputs. try { scriptInputList = client.Repositories.RelativityScript.GetRelativityScriptInputs(script); } catch (Exception ex) { Console.WriteLine(string.Format("An error occurred: {0}", ex.Message)); return returnval; } // STEP 3: Each RelativityScriptInputDetails object can be used to generate a RelativityScriptInput object, // but this example only displays information about each input. foreach (RelativityScriptInputDetails relativityScriptInputDetails in scriptInputList) { returnval.Add(relativityScriptInputDetails.Name); } return returnval; }
/// <summary> /// Returns a list of script input models /// </summary> /// <param name="relativityScript">the reference to the relativity script</param> /// <param name="relativityWorkspace">the reference to the expected execution workspace</param> /// <returns>a list of script input models</returns> private List <JobScriptInputModel> GetScriptInputs(RelativityScript relativityScript, RelativityWorkspace relativityWorkspace) { var inputs = this.RelativityScriptRepository.GetScriptInputs(relativityScript, relativityWorkspace); return(inputs.Select(i => new JobScriptInputModel() { InputId = i.InputId, InputName = i.Name, InputType = i.InputType, IsRequired = i.IsRequired }).ToList()); }
public List <Models.ScriptInput> GetScriptInputs(RelativityScript script, RelativityWorkspace workspace) { return(this.InWorkspace( (client, ws) => { var scriptArtifact = new DTOs.RelativityScript(script.RelativityScriptId); var fields = client.Repositories.RelativityScript.GetRelativityScriptInputs(scriptArtifact); return fields.Select(f => new Models.ScriptInput() { Name = f.Name, InputId = f.Id, InputType = f.InputType.ToString(), IsRequired = f.IsRequired }).ToList(); }, workspace)); }
public List <JobSchedule> GetJobSchedules(RelativityScript relativityScript) { return(this.DataContext.JobSchedule .Where(s => s.WorkspaceId == relativityScript.WorkspaceId && s.RelativityScriptId == relativityScript.RelativityScriptId) .ToList()); }
public RelativityScriptResult ExecuteScript_DelimiterCountBySavedSearch(string scriptName, string savedSearchName, string sourceFieldName, string delimiter, string countDestinationFieldName) { _client.APIOptions.WorkspaceID = _workspaceId; //Retrieve script by name Query<RelativityScript> relScriptQuery = new Query<RelativityScript> { Condition = new TextCondition(RelativityScriptFieldNames.Name, TextConditionEnum.EqualTo, scriptName), Fields = FieldValue.AllFields }; QueryResultSet<RelativityScript> relScriptQueryResults = _client.Repositories.RelativityScript.Query(relScriptQuery); if (!relScriptQueryResults.Success) { throw new Exception(String.Format("An error occurred finding the script: {0}", relScriptQueryResults.Message)); } if (!relScriptQueryResults.Results.Any()) { throw new Exception(String.Format("No results returned: {0}", relScriptQueryResults.Message)); } //Retrieve script inputs RelativityScript script = relScriptQueryResults.Results[0].Artifact; var inputnames = GetRelativityScriptInput(_client, scriptName); int savedsearchartifactid = Query_For_Saved_SearchID(savedSearchName, _client); //Set inputs for script RelativityScriptInput input = new RelativityScriptInput(inputnames[0], savedsearchartifactid.ToString()); RelativityScriptInput input2 = new RelativityScriptInput(inputnames[1], sourceFieldName); RelativityScriptInput input3 = new RelativityScriptInput(inputnames[2], delimiter); RelativityScriptInput input4 = new RelativityScriptInput(inputnames[3], countDestinationFieldName); //Execute the script List<RelativityScriptInput> inputList = new List<RelativityScriptInput> { input, input2, input3, input4 }; RelativityScriptResult scriptResult = null; try { scriptResult = _client.Repositories.RelativityScript.ExecuteRelativityScript(script, inputList); } catch (Exception ex) { Console.WriteLine("An error occurred: {0}", ex.Message); } //Check for success. if (!scriptResult.Success) { Console.WriteLine(string.Format(scriptResult.Message)); } else { int observedOutput = scriptResult.Count; Console.WriteLine("Result returned: {0}", observedOutput); } return scriptResult; }
public RelativityScriptModel(RelativityScript relativityScript, RelativityWorkspace relativityWorkspace) { this.RelativityScript = relativityScript; this.RelativityWorkspace = relativityWorkspace; }
public RelativityScriptModel(RelativityScript relativityScript, RelativityWorkspace relativityWorkspace, IEnumerable <JobSchedule> jobSchedules) : this(relativityScript, relativityWorkspace) { this.JobSchedules = jobSchedules.OrderBy(s => s.NextExecutionTime).ToList(); }