public Task <Unit> Handle(ApproveSubmission request, CancellationToken cancellationToken) { foreach (var submissionId in request.Submissions) { var submission = submissions.Find(submissionId); submission.ApproveBy(request.ApproverId); publisher.PublishAllDomainEvents(submission); } return(Unit.Task); }
public Task <SubmissionStatus> Handle(QueryStatus request, CancellationToken cancellationToken) { var submission = submissions.Find(request.SubmissionId); if (submission.Pending) { return(Task.FromResult(SubmissionStatus.Pending)); } else if (submission.Approved) { return(Task.FromResult(SubmissionStatus.Approved)); } else if (submission.Rejected) { return(Task.FromResult(SubmissionStatus.Rejected)); } throw new InvalidOperationException($"Unknown submission status."); }