Example #1
0
        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);
        }
Example #2
0
        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.");
        }