public static Int32 GetByName(IServicesMgr svcMgr, ExecutionIdentity identity, Int32 workspaceArtifactId, String custodianName)
        {
            using (var client = svcMgr.CreateProxy <IRSAPIClient>(identity))
            {
                client.APIOptions.WorkspaceID = workspaceArtifactId;
                var q = new kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.RDO>
                {
                    ArtifactTypeGuid = Helpers.Constants.Guids.ObjectType.Custodian,
                    Condition        = new TextCondition(Helpers.Constants.Guids.Fields.Custodian.Name, TextConditionEnum.EqualTo, custodianName)
                };

                var results = client.Repositories.RDO.Query(q);

                var res = new Response <Int32>
                {
                    Results = results.Results.Any() ? results.Results.FirstOrDefault().Artifact.ArtifactID : 0,
                    Success = results.Success,
                    Message = MessageFormatter.FormatMessage(results.Results.Select(x => x.Message).ToList(), results.Message, results.Success)
                };

                if (res.Success)
                {
                    return(res.Results);
                }
                throw new Exception(res.Message.ToString());
            }
        }
Beispiel #2
0
        public static Int32 GetFieldArtifactID(String fieldname, IDBContext workspaceDbContext, IRSAPIClient client)
        {
            int fieldArtifactID = 0;

            kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.Field> query = new kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.Field>();
            query.Condition = new kCura.Relativity.Client.TextCondition(kCura.Relativity.Client.DTOs.FieldFieldNames.Name, kCura.Relativity.Client.TextConditionEnum.EqualTo, fieldname);
            query.Fields    = kCura.Relativity.Client.DTOs.FieldValue.AllFields;
            kCura.Relativity.Client.DTOs.QueryResultSet <kCura.Relativity.Client.DTOs.Field> resultSet = client.Repositories.Field.Query(query, 0);

            fieldArtifactID = resultSet.Results[0].Artifact.ArtifactID;
            return(fieldArtifactID);
        }
Beispiel #3
0
        public static kCura.Relativity.Client.DTOs.RDO RetrieveJob(IRSAPIClient connection, int artifactID)
        {
            List <kCura.Relativity.Client.DTOs.FieldValue> fields = new List <kCura.Relativity.Client.DTOs.FieldValue>();

            fields.Add(new kCura.Relativity.Client.DTOs.FieldValue(new Guid(Helper.Constant.FIELD_JOB_MISSING_FILE_INDICATOR_GUID)));
            fields.Add(new kCura.Relativity.Client.DTOs.FieldValue(new Guid(Helper.Constant.FIELD_JOB_ERROR_MESSAGE_GUID)));

            WholeNumberCondition condition = null;

            condition = new WholeNumberCondition(artifactID, NumericConditionEnum.EqualTo);

            kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.RDO> q = new kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.RDO>
            {
                ArtifactTypeGuid = new Guid(Helper.Constant.OBJECT_TYPE_FILE_VALIDATION_GUID),
                Fields           = fields
            };
            kCura.Relativity.Client.DTOs.QueryResultSet <kCura.Relativity.Client.DTOs.RDO> qrs = new kCura.Relativity.Client.DTOs.QueryResultSet <kCura.Relativity.Client.DTOs.RDO>();

            try
            {
                qrs = connection.Repositories.RDO.Query(q);
                if (qrs.Success)
                {
                    if (qrs.Results.Count == 0)
                    {
                        throw new Exception(Helper.Constant.EM_NO_CONFIGURATION);
                    }
                    else
                    {
                        return(qrs.Results[0].Artifact);
                    }
                }
                else
                {
                    throw new Exception(FormatError(qrs));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public static Int32 ImportApplication(IRSAPIClient client, Int32 workspaceId, bool forceFlag, string filePath, string applicationName, int appArtifactID = -1)
        {
            Console.WriteLine("Starting Import Application.....");
            int artifactID = 0;

            client.APIOptions.WorkspaceID = workspaceId;             //set the target workspace of application to be imported.

            // Create an application install request.
            // This list contains the ArtifactID for each Relativity Application that you want to install.
            List <int> appsToOverride = new List <int>();

            // Set the forceFlag to true. The forceFlag unlocks any applications in the workspace
            // that conflict with the application that you are loading. The applications must be unlocked
            // for the install operation to succeed.

            AppInstallRequest appInstallRequest = new AppInstallRequest();

            appInstallRequest.FullFilePath = filePath;
            appInstallRequest.ForceFlag    = forceFlag;
            appInstallRequest.AppsToOverride.Add(appArtifactID);

            try
            {
                ProcessOperationResult por = null;
                por = client.InstallApplication(client.APIOptions, appInstallRequest);

                if (por.Success)
                {
                    while (client.GetProcessState(client.APIOptions, por.ProcessID).State == ProcessStateValue.Running)
                    {
                        Thread.Sleep(10);
                    }

                    client.GetProcessState(client.APIOptions, por.ProcessID);
                    Console.WriteLine("Import Application Application complete.....");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to import Application" + ex.Message);
            }

            Console.WriteLine("Querying for Application artifact id....");
            kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.RelativityApplication> query = new kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.RelativityApplication>();
            query.Fields.Add(new FieldValue(RelativityApplicationFieldNames.Name));
            query.Condition = new kCura.Relativity.Client.TextCondition(RelativityApplicationFieldNames.Name, kCura.Relativity.Client.TextConditionEnum.EqualTo, applicationName);
            kCura.Relativity.Client.DTOs.QueryResultSet <kCura.Relativity.Client.DTOs.RelativityApplication> queryResultSet = client.Repositories.RelativityApplication.Query(query);

            if (queryResultSet != null)
            {
                artifactID = queryResultSet.Results.FirstOrDefault().Artifact.ArtifactID;
                Console.WriteLine("Application artifactid is " + artifactID);
            }

            Console.WriteLine("Exiting Import Application method.....");
            return(artifactID);
        }
Beispiel #5
0
        public static ICollection <JavaScriptBlock> GetAll(kCura.Relativity.Client.IRSAPIClient client)
        {
            var javaScriptBlocks = new List <JavaScriptBlock>();

            var qry = new kCura.Relativity.Client.DTOs.Query <kCura.Relativity.Client.DTOs.RDO>();

            qry.ArtifactTypeGuid = Helper.Constants.Javascripts.ObjectTypeGuid;
            //qry.Fields = kCura.Relativity.Client.DTOs.FieldValue.AllFields;
            qry.Fields = new List <kCura.Relativity.Client.DTOs.FieldValue> {
                new kCura.Relativity.Client.DTOs.FieldValue(Helper.Constants.Javascripts.Fields.Text)
                , new kCura.Relativity.Client.DTOs.FieldValue(Helper.Constants.Javascripts.Fields.ViewMode)
            };

            BooleanCondition onlyActiveJavaScript = new BooleanCondition(Helper.Constants.Javascripts.Fields.Disabled, BooleanConditionEnum.EqualTo, false);

            qry.Condition = onlyActiveJavaScript;


            try
            {
                var ActiveJavaScriptsResults = client.Repositories.RDO.Query(qry);

                if (ActiveJavaScriptsResults.Success)
                {
                    foreach (var result in ActiveJavaScriptsResults.Results)
                    {
                        var javaScript     = new JavaScriptBlock();
                        var resultArtifact = result.Artifact;
                        javaScript.Text       = resultArtifact.Fields.First(x => x.Guids.Contains(Helper.Constants.Javascripts.Fields.Text)).ValueAsLongText;
                        javaScript.ArtifactID = resultArtifact.ArtifactID;
                        var viewModeChoiceField = resultArtifact.Fields.First(x => x.Guids.Contains(Helper.Constants.Javascripts.Fields.ViewMode)).ValueAsSingleChoice;


                        javaScript.ViewMode = JavaScriptBlock.ViewModeValue.All;
                        if (viewModeChoiceField != null)
                        {
                            var viewModeChoice = client.Repositories.Choice.ReadSingle(viewModeChoiceField.ArtifactID);
                            if (viewModeChoice.Guids.Contains(Helper.Constants.Javascripts.Choices.ViewMode.ViewOnly))
                            {
                                javaScript.ViewMode = JavaScriptBlock.ViewModeValue.ViewOnly;
                            }
                            else if (viewModeChoice.Guids.Contains(Helper.Constants.Javascripts.Choices.ViewMode.EditOnly))
                            {
                                javaScript.ViewMode = JavaScriptBlock.ViewModeValue.EditOnly;
                            }
                        }
                        javaScriptBlocks.Add(javaScript);


                        //var jS = new JavaScripts();
                        //jS.text = text;
                    }
                }
                else
                {
                    Console.WriteLine(string.Format("An error occurred reading results: {0}", ActiveJavaScriptsResults.Message));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("An error occurred: {0}", ex.Message));
            }

            return(javaScriptBlocks);
        }