Beispiel #1
0
        public void RejectSubmission(RejectSubmission rejectSubmission, string journalPath)
        {
            var context     = _serviceProvider.GetService <ApplicationDbContext>();
            var submissions = context.Submission.Where(x => x.Id == rejectSubmission.Id && x.User.Tenant.JournalPath == journalPath);

            submissions.Update(x => new Submission {
                SubmissionStatus = SubmissionStatus.Rejected, RejectComment = rejectSubmission.RejectComment, UpdatedDate = DateTime.UtcNow
            });
        }
Beispiel #2
0
        public async Task <IActionResult> RejectSubmission(RejectSubmission rejectSubmission)
        {
            HttpContext.RequestServices.GetService <ISubmissionService>().RejectSubmission(rejectSubmission, TenantID);
            try
            {
                await SubmissionRejectionEmail(rejectSubmission.Id);

                AddSuccessMessage("Submission has been rejected.");
                return(Ok());
            }
            catch (Exception ex)
            {
                HttpContext.RiseError(ex);
                AddFailMessage("Submission has been rejected but failed to send confirmation email to author.");
                return(Ok());
            }
        }
Beispiel #3
0
        public async Task <IActionResult> PostRejection(
            [HttpTrigger(AuthorizationLevel.Anonymous, "POST", Route = "reject/{submissionId:guid}/by/{approverId}")] HttpRequest httpRequest,
            Guid submissionId,
            string approverId,
            [SignalR(HubName = "ApprovalHub")] IAsyncCollector <SignalRMessage> signalRMessages)
        {
            var command = new RejectSubmission(approverId, submissionId);
            await mediator.Send(command);

            var events = new SignalRMessage
            {
                Target    = $"broadcastMessage",
                Arguments = new[] { $"{submissionId}", "rejected" }
            };

            await signalRMessages.AddAsync(events);

            return(new OkResult());
        }