public async Task CreateRedactionAuditRecordAsync(IDBContext workspaceDbContext, int auditActionId, int artifactId, int userId, string fileGuid, int redactionId, int markupSetArtifactId, int pageNumber) { string errorContext = $"{Constant.ErrorMessages.CREATE_REDACTION_AUDIT_RECORD_ERROR} [AuditActionId = {auditActionId}, ArtifactId = {artifactId}, UserId = {userId}, MarkupSetArtifactId = {markupSetArtifactId}, RedactionId = {redactionId}, FileGuid = {fileGuid}]"; try { var requestOrigination = await ConstructRequestOrigination(); var recordOrigination = await ConstructRecordOrigination(); var details = ConstructDetailsColumn(redactionId, markupSetArtifactId, pageNumber); var redactionAuditRecord = new RedactionAuditRecord( artifactId, auditActionId, details, userId, DateTime.UtcNow, requestOrigination, recordOrigination, null, null ); await _query.CreateAuditRecordAsync(workspaceDbContext, redactionAuditRecord); } catch (Exception ex) { throw new MarkupUtilityException(errorContext, ex); } }
public async Task CreateRedactionAuditRecordAsync(IDBContext workspaceDbContext, int auditActionId, int artifactId, int userId, ImportWorkerQueueRecord importWorkerQueueRecord, int markupSetArtifactId, int redactionId, string fileGuid) { if (auditActionId < 0) { throw new MarkupUtilityException($"{auditActionId} cannot be negative."); } if (artifactId < 0) { throw new MarkupUtilityException($"{artifactId} cannot be negative."); } if (userId < 0) { throw new MarkupUtilityException($"{userId} cannot be negative."); } if (importWorkerQueueRecord == null) { throw new ArgumentNullException(nameof(importWorkerQueueRecord)); } if (markupSetArtifactId < 0) { throw new MarkupUtilityException($"{markupSetArtifactId} cannot be negative."); } if (redactionId < 0) { throw new MarkupUtilityException($"{redactionId} cannot be negative."); } if (fileGuid == null) { throw new ArgumentNullException(nameof(fileGuid)); } string errorContext = $"{Constant.ErrorMessages.CREATE_REDACTION_AUDIT_RECORD_ERROR} [AuditActionId = {auditActionId}, ArtifactId = {artifactId}, UserId = {userId}, MarkupSetArtifactId = {markupSetArtifactId}, RedactionId = {redactionId}, FileGuid = {fileGuid}, RedactionData = {importWorkerQueueRecord.ToStringRedactionData()}]"; try { var requestOrigination = await ConstructRequestOrigination(); var recordOrigination = await ConstructRecordOrigination(); var valueType = auditActionId == Constant.AuditRecord.AuditAction.REDACTION_CREATED ? Constant.AuditRecord.ValueType.NEW_VALUE : Constant.AuditRecord.ValueType.OLD_VALUE; var details = await ConstructDetailsColumn(importWorkerQueueRecord, markupSetArtifactId, redactionId, fileGuid, valueType); var redactionAuditRecord = new RedactionAuditRecord( artifactId, auditActionId, details, userId, DateTime.UtcNow, requestOrigination, recordOrigination, null, null ); await _query.CreateAuditRecordAsync(workspaceDbContext, redactionAuditRecord); } catch (Exception ex) { throw new MarkupUtilityException(errorContext, ex); } }