예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }