示例#1
0
        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);
        }
示例#2
0
        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;
        }
示例#3
0
        /// <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());
 }
示例#6
0
        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();
 }