コード例 #1
0
        public Task <ICommandResult> HandleCommandAsync(EmailQueueState s, EnqueueEmailCommand c, CancellationToken ct)
        {
            if (s.Message != null)
            {
                return(CommandResult.FromErrorIAsync("Duplicate email id."));
            }

            var e = new EmailEnqueuedEvent(
                BusinessEventMetadata.FromCausalId(c.GetCommandId()),
                c.EmailId, c.From, c.To, c.Subject, c.Body
                );

            return(CommandResult.FromEventIAsync(e));
        }
コード例 #2
0
 public Task <IActionResult> EnqueueEmailAsync([FromBody] EnqueueEmailCommand c) => CommandProcessor.ProcessCommandAsync(_ar, c);