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 }); }
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()); } }
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()); }