Files

35 lines
996 B
C#

using InServiceQue;
using InServiceQue.Core.Models;
using InServiceQue.Core.Repositories;
using InServiceQue.InMemory;
using InServiceQue.Sample;
using InServiceQue.Services;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddInServiceQue(builder =>
{
builder.AddQueue<SendMessageTask, SendMessageHandler>();
builder.AddQueue<OtherMessageTask, OtherMessageHandler>();
}).UseInMemory();
var app = builder.Build();
app.MapGet("/", async (string msg) =>
{
if (!string.IsNullOrEmpty(msg))
{
var taskRepository = app.Services.GetService<IQueueClient>();
await taskRepository.AddTaskAsync(new SendMessageTask(new SendMessagePayload()
{
From = "John", To = "Esther", Message = msg
}));
await taskRepository.AddTaskAsync(new OtherMessageTask(msg));
return new OkResult();
}
return new OkResult();
});
app.Run();