public static kCura.Relativity.Client.DTOs.Artifact Create(IServicesMgr svcMgr, ExecutionIdentity identity, Int32 workspaceArtifactId, String processingSetName, Int32 processingProfileArtifactId, string emailRecipients) { kCura.Relativity.Client.DTOs.WriteResultSet <kCura.Relativity.Client.DTOs.RDO> results; using (var client = svcMgr.CreateProxy <IRSAPIClient>(identity)) { client.APIOptions.WorkspaceID = workspaceArtifactId; var r = new kCura.Relativity.Client.DTOs.RDO { ArtifactTypeGuids = new List <Guid> { Helpers.Constants.Guids.ObjectType.ProcessingSet } }; r.Fields.Add(new kCura.Relativity.Client.DTOs.FieldValue(Helpers.Constants.Guids.Fields.ProcessingSet.Name, processingSetName)); r.Fields.Add( new kCura.Relativity.Client.DTOs.FieldValue(Helpers.Constants.Guids.Fields.ProcessingSet.RelatedProcessingProfile, processingProfileArtifactId)); r.Fields.Add(new kCura.Relativity.Client.DTOs.FieldValue( Helpers.Constants.Guids.Fields.ProcessingSet.DiscoverStatus, Helpers.Constants.Guids.Choices.ProcessingSet.DiscoverStatusNotStarted)); r.Fields.Add( new kCura.Relativity.Client.DTOs.FieldValue(Helpers.Constants.Guids.Fields.ProcessingSet.InventoryStatus, Helpers.Constants.Guids.Choices.ProcessingSet.InventoryStatusNotStarted)); r.Fields.Add(new kCura.Relativity.Client.DTOs.FieldValue( Helpers.Constants.Guids.Fields.ProcessingSet.PublishStatus, Helpers.Constants.Guids.Choices.ProcessingSet.PublishStatusNotStarted)); if (emailRecipients != String.Empty) { r.Fields.Add(new kCura.Relativity.Client.DTOs.FieldValue(Helpers.Constants.Guids.Fields.ProcessingSet.EmailRecipients, emailRecipients)); } results = client.Repositories.RDO.Create(r); var res = new Response <kCura.Relativity.Client.DTOs.Artifact> { Results = results.Results.Any() ? results.Results.FirstOrDefault().Artifact : null, 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()); } }
public static void UpdateErrorMessage(IRSAPIClient connection, int artifactID, string errorMessage) { kCura.Relativity.Client.DTOs.RDO job = new kCura.Relativity.Client.DTOs.RDO(new Guid(Helper.Constant.OBJECT_TYPE_FILE_VALIDATION_GUID), artifactID); job.Fields.Add(new kCura.Relativity.Client.DTOs.FieldValue(new Guid(Helper.Constant.FIELD_JOB_ERROR_MESSAGE_GUID), errorMessage)); kCura.Relativity.Client.DTOs.ResultSet <kCura.Relativity.Client.DTOs.RDO> updateResults = new kCura.Relativity.Client.DTOs.ResultSet <kCura.Relativity.Client.DTOs.RDO>(); try { updateResults = connection.Repositories.RDO.Update(job); if (!updateResults.Success) { throw new Exception(FormatError(updateResults)); } } catch (Exception ex) { throw ex; } }
public override Response Execute() { Response eventRes = new Response() { Success = true, Message = String.Empty }; try { System.Data.SqlClient.SqlParameter artifactId = new System.Data.SqlClient.SqlParameter("@artifacId", System.Data.SqlDbType.Int); artifactId.Value = this.ActiveArtifact.ArtifactID; int activeWorkspaceId = this.Helper.GetActiveCaseID(); this.Helper.GetDBContext(activeWorkspaceId).ExecuteNonQuerySQLStatement(DELETE_JOBS_COMMENTS_LINKED, new System.Data.SqlClient.SqlParameter[] { artifactId }); int currentUserId = this.Helper.GetAuthenticationManager().UserInfo.ArtifactID; using (kCura.Relativity.Client.IRSAPIClient client = this.Helper.GetServicesManager().CreateProxy <kCura.Relativity.Client.IRSAPIClient>(Relativity.API.ExecutionIdentity.System)) { client.APIOptions.WorkspaceID = this.Helper.GetActiveCaseID(); kCura.Relativity.Client.DTOs.RDO comment = client.Repositories.RDO.ReadSingle(ActiveArtifact.ArtifactID); int commentUserId = comment.SystemCreatedBy.ArtifactID; if (!currentUserId.Equals(commentUserId)) { throw new DeleteAnotherComment(); } } } catch (Exception ex) { eventRes.Success = false; eventRes.Exception = new SystemException("ProcessPreDeleteFailure failure: " + ex.Message); } return(eventRes); }
public override Response Execute() { Artifact activeArtifact = this.ActiveArtifact; int activeWorkspaceId = this.Helper.GetActiveCaseID(); string currentUser = this.Helper.GetAuthenticationManager().UserInfo.FullName; IDBContext dbcontext = this.Helper.GetDBContext(activeWorkspaceId); bool result = true; ConsoleEventHandlerComment consoleEventHandler = new ConsoleEventHandlerComment(); Response retVal = new Response() { Success = true, Message = String.Empty }; //verify if the comment has a parent if (!(ActiveArtifact.Fields[RELATED_COMMENT_FIELD.ToString()] == null)) { int parentCommentId = (int)ActiveArtifact.Fields[RELATED_COMMENT_FIELD.ToString()].Value.Value; kCura.Relativity.Client.DTOs.RDO parentComment = new kCura.Relativity.Client.DTOs.RDO(parentCommentId); using (kCura.Relativity.Client.IRSAPIClient client = this.Helper.GetServicesManager().CreateProxy <kCura.Relativity.Client.IRSAPIClient>(ExecutionIdentity.System)) { int workspaceId = this.Helper.GetActiveCaseID(); client.APIOptions.WorkspaceID = workspaceId; parentComment = client.Repositories.RDO.ReadSingle(parentCommentId); client.APIOptions.WorkspaceID = -1; kCura.Relativity.Client.DTOs.User userComment = new kCura.Relativity.Client.DTOs.User(parentComment.SystemCreatedBy.ArtifactID); userComment = client.Repositories.User.ReadSingle(parentComment.SystemCreatedBy.ArtifactID); if (ActiveArtifact.IsNew) { MailMessage email = new MailMessage(); string userEmail = userComment.EmailAddress; string author = this.Helper.GetAuthenticationManager().UserInfo.FullName; email.To.Add(new MailAddress(userEmail)); // sentEmailNew(email, author); } } } else { using (kCura.Relativity.Client.IRSAPIClient client = this.Helper.GetServicesManager().CreateProxy <kCura.Relativity.Client.IRSAPIClient>(ExecutionIdentity.System)) { string type = string.Empty; int workspaceId = this.Helper.GetActiveCaseID(); client.APIOptions.WorkspaceID = workspaceId; CORE.BLL.Service.RSAPIService.CommentRSAPIService commentRSAPIService = new CORE.BLL.Service.RSAPIService.CommentRSAPIService(client); CORE.DAL.Entities.Comment comment = commentRSAPIService.Get(ActiveArtifact.ArtifactID); ChoiceCollection typeChoices = (ChoiceCollection)this.ActiveArtifact.Fields[COMMENT_TYPE_FIELD_GUID.ToString()].Value.Value; foreach (Choice typeC in typeChoices) { type = typeC.Name; } comment.TypeChoosed = type; auditComment(comment, ActiveArtifact.IsNew, this.Helper.GetDBContext(workspaceId)); } } try { ChoiceCollection typeChoices = (ChoiceCollection)this.ActiveArtifact.Fields[COMMENT_TYPE_FIELD_GUID.ToString()].Value.Value; foreach (Choice typeChoice in typeChoices) { if (typeChoice.Name.Equals("Error")) { result = consoleEventHandler.insertJob(dbcontext, currentUser, activeArtifact); } else { result = consoleEventHandler.deleteJob(dbcontext, activeArtifact.ArtifactID); } } } catch (Exception e) { retVal.Success = false; retVal.Message = e.Message; } return(retVal); }