diff --git a/samples/MediatorSample/CreateProduct.cs b/samples/MediatorSample/CreateProduct.cs new file mode 100644 index 0000000..125d98e --- /dev/null +++ b/samples/MediatorSample/CreateProduct.cs @@ -0,0 +1,28 @@ +using Infinity.Toolkit.Experimental; +using Infinity.Toolkit.Experimental.Mediator; + +namespace MediatorSample; + +internal record CreateProduct(int Id, string Name) : ICommand; + +internal class CreateProductHandler : IMediatorHandler +{ + public Task HandleAsync(MediatorHandlerContext context, CancellationToken cancellationToken = default) + { + Console.WriteLine("CreateProductHandler:HandleAsync"); + Console.WriteLine($"Product created: {context.Request.Id} - {context.Request.Name}"); + Console.WriteLine("CreateProductHandler:HandleAsync:Done"); + return Task.FromResult(Result.Success()); + } +} + +internal class CreateProductDecorator(IMediatorHandler inner) : IMediatorHandler +{ + public async Task HandleAsync(MediatorHandlerContext context, CancellationToken cancellationToken = default) + { + Console.WriteLine("CreateProductDecorator:HandleAsync"); + var result = await inner.HandleAsync(context, cancellationToken); + Console.WriteLine("CreateProductDecorator:HandleAsync:Done"); + return result; + } +} diff --git a/samples/MediatorSample/ProductCreated.cs b/samples/MediatorSample/ProductCreated.cs deleted file mode 100644 index f64e8bc..0000000 --- a/samples/MediatorSample/ProductCreated.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Infinity.Toolkit.Experimental; -using Infinity.Toolkit.Experimental.Mediator; - -namespace MediatorSample; - -internal record ProductCreated(int Id, string Name) : ICommand; - -internal class ProductCreatedHandler : IMediatorHandler -{ - public Task HandleAsync(MediatorHandlerContext context, CancellationToken cancellationToken = default) - { - Console.WriteLine("ProductCreatedHandler:HandleAsync"); - Console.WriteLine($"Product created: {context.Request.Id} - {context.Request.Name}"); - Console.WriteLine("ProductCreatedHandler:HandleAsync:Done"); - return Task.FromResult(Result.Success()); - } -} - -internal class ProductCreatedDecorator(IMediatorHandler inner) : IMediatorHandler -{ - public async Task HandleAsync(MediatorHandlerContext context, CancellationToken cancellationToken = default) - { - Console.WriteLine("ProductCreatedDecorator:HandleAsync"); - var result = await inner.HandleAsync(context, cancellationToken); - Console.WriteLine("ProductCreatedDecorator:HandleAsync:Done"); - return result; - } -} diff --git a/samples/MediatorSample/Program.cs b/samples/MediatorSample/Program.cs index ef1e0b5..fc5443b 100644 --- a/samples/MediatorSample/Program.cs +++ b/samples/MediatorSample/Program.cs @@ -13,8 +13,8 @@ .AddMediator() .Decorate(); -services.AddMediatorHandler() - .Decorate(); +services.AddMediatorHandler() + .Decorate(); services.AddMediatorHandler(); services.DecorateMediatorHandler(); @@ -22,7 +22,7 @@ var serviceProvider = services.BuildServiceProvider(); var mediator = serviceProvider.GetRequiredService(); -await mediator.SendAsync(new ProductCreated(1, "Product 1")); +await mediator.SendAsync(new CreateProduct(1, "Product 1")); var result = await mediator.SendAsync(new ProductCreatedQuery()); Console.WriteLine("Done"); diff --git a/samples/MessagingSample/MessagingSample.csproj b/samples/MessagingSample/MessagingSample.csproj index ed547c5..f9bc60e 100644 --- a/samples/MessagingSample/MessagingSample.csproj +++ b/samples/MessagingSample/MessagingSample.csproj @@ -4,6 +4,7 @@ net9.0 enable enable + false