Skip to content

Commit 127864d

Browse files
Additional refactoring on IdentifiedCommandHandlers
1 parent ebf9822 commit 127864d

3 files changed

Lines changed: 42 additions & 39 deletions

File tree

src/Services/Ordering/Ordering.API/Application/Commands/CancelOrderCommandHandler.cs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,6 @@
99

1010
namespace Ordering.API.Application.Commands
1111
{
12-
// Use for Idempotency in Command process
13-
public class CancelOrderCommandIdempotentHandler : IdentifiedCommandHandler<CancelOrderCommand, bool>
14-
{
15-
public CancelOrderCommandIdempotentHandler(IMediator mediator, IRequestManager requestManager) : base(mediator, requestManager)
16-
{
17-
}
18-
19-
protected override bool CreateResultForDuplicateRequest()
20-
{
21-
return true; // Ignore duplicate requests for processing order.
22-
}
23-
}
24-
2512
// Regular CommandHandler
2613
public class CancelOrderCommandHandler : IAsyncRequestHandler<CancelOrderCommand, bool>
2714
{
@@ -45,4 +32,18 @@ public async Task<bool> Handle(CancelOrderCommand command)
4532
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
4633
}
4734
}
35+
36+
37+
// Use for Idempotency in Command process
38+
public class CancelOrderIdentifiedCommandHandler : IdentifiedCommandHandler<CancelOrderCommand, bool>
39+
{
40+
public CancelOrderIdentifiedCommandHandler(IMediator mediator, IRequestManager requestManager) : base(mediator, requestManager)
41+
{
42+
}
43+
44+
protected override bool CreateResultForDuplicateRequest()
45+
{
46+
return true; // Ignore duplicate requests for processing order.
47+
}
48+
}
4849
}

src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,6 @@
77
using System;
88
using System.Threading.Tasks;
99

10-
// Use for Idempotency in Command process
11-
public class CreateOrderCommandIdempotentHandler : IdentifiedCommandHandler<CreateOrderCommand, bool>
12-
{
13-
public CreateOrderCommandIdempotentHandler(IMediator mediator, IRequestManager requestManager) : base(mediator, requestManager)
14-
{
15-
}
16-
17-
protected override bool CreateResultForDuplicateRequest()
18-
{
19-
return true; // Ignore duplicate requests for creating order.
20-
}
21-
}
22-
2310
// Regular CommandHandler
2411
public class CreateOrderCommandHandler
2512
: IAsyncRequestHandler<CreateOrderCommand, bool>
@@ -56,4 +43,18 @@ public async Task<bool> Handle(CreateOrderCommand message)
5643
.SaveEntitiesAsync();
5744
}
5845
}
46+
47+
48+
// Use for Idempotency in Command process
49+
public class CreateOrderIdentifiedCommandHandler : IdentifiedCommandHandler<CreateOrderCommand, bool>
50+
{
51+
public CreateOrderIdentifiedCommandHandler(IMediator mediator, IRequestManager requestManager) : base(mediator, requestManager)
52+
{
53+
}
54+
55+
protected override bool CreateResultForDuplicateRequest()
56+
{
57+
return true; // Ignore duplicate requests for creating order.
58+
}
59+
}
5960
}

src/Services/Ordering/Ordering.API/Application/Commands/ShipOrderCommandHandler.cs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,6 @@
66

77
namespace Ordering.API.Application.Commands
88
{
9-
// Use for Idempotency in Command process
10-
public class ShipOrderCommandIdempotentHandler : IdentifiedCommandHandler<ShipOrderCommand, bool>
11-
{
12-
public ShipOrderCommandIdempotentHandler(IMediator mediator, IRequestManager requestManager) : base(mediator, requestManager)
13-
{
14-
}
15-
16-
protected override bool CreateResultForDuplicateRequest()
17-
{
18-
return true; // Ignore duplicate requests for processing order.
19-
}
20-
}
21-
229
// Regular CommandHandler
2310
public class ShipOrderCommandHandler : IAsyncRequestHandler<ShipOrderCommand, bool>
2411
{
@@ -42,4 +29,18 @@ public async Task<bool> Handle(ShipOrderCommand command)
4229
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
4330
}
4431
}
32+
33+
34+
// Use for Idempotency in Command process
35+
public class ShipOrderIdentifiedCommandHandler : IdentifiedCommandHandler<ShipOrderCommand, bool>
36+
{
37+
public ShipOrderIdentifiedCommandHandler(IMediator mediator, IRequestManager requestManager) : base(mediator, requestManager)
38+
{
39+
}
40+
41+
protected override bool CreateResultForDuplicateRequest()
42+
{
43+
return true; // Ignore duplicate requests for processing order.
44+
}
45+
}
4546
}

0 commit comments

Comments
 (0)