コード例 #1
0
    public override Task Handle(HandlerContext <Command> context)
    {
        SendEmailTask task = SendEmailTask.Create(
            context.Payload.Recipient,
            context.Payload.ReplyTo,
            context.Payload.Subject,
            context.Payload.Content,
            context.Payload.Rate,
            context.Payload.PerSeconds,
            context.Payload.Key);

        context.PublishMessage(task);
        return(Task.CompletedTask);
    }
コード例 #2
0
    public async Task Handle(SendDelayedMailCommand command)
    {
        Tenant tenant = await Databases.Snittlistan.Tenants.SingleAsync(x => x.Hostname == command.Hostname);

        TaskPublisher taskPublisher = new(
            tenant,
            Databases,
            MsmqFactory,
            command.CorrelationId,
            null);
        SendEmailTask emailTask = SendEmailTask.Create(
            command.Recipient,
            command.ReplyTo,
            command.Subject,
            command.Content,
            command.Rate,
            command.PerSeconds,
            DateTime.Now.Ticks.ToString());

        taskPublisher.PublishDelayedTask(
            emailTask,
            DateTime.Now.AddSeconds(command.DelayInSeconds),
            "system");
    }