コード例 #1
0
        public async Task InsertRevisionAsync(string fileContent, string previousPublicationId, string username)
        {
            // TODO: add relationship between publication versions
            var currentStatus = await GetStatusAsync(previousPublicationId);

            if (currentStatus != PublicationStatus.SHOULD_REVISE)
            {
                throw new ValidationException("Invalid current publication status");
            }

            var workflow = HelperMethods.ThrowIfNullOtherwiseReturn(
                await _workFlowService.FindByPublicationIdAsync(previousPublicationId)) as workflow;
            var revisionId = await InsertRevisionAsync(fileContent, username);

            await _workFlowService.DeleteByPublicationIdAsync(previousPublicationId);

            workflow.publicationId = revisionId;
            await _workFlowService.InsertAsync(workflow);
        }