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)); }
public Task <IActionResult> EnqueueEmailAsync([FromBody] EnqueueEmailCommand c) => CommandProcessor.ProcessCommandAsync(_ar, c);