Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
public class Handler : IAsyncRequestHandler<Envelope<Command>, Unit>
{
private readonly CustomeRepository _repository;
public Handler(CustomeRepository repository)
{
_repository = repository;
}
public async Task<Unit> Handle(Envelope<Command> message)
{
if (message.Body.CustomerId == Guid.Empty) throw new InvalidOperationException("CustomerId cannot be empty.");
var customer = _repository.Get(message.Body.CustomerId);
try
{
customer.SetOperation(message.MessageId);
}
catch (InvalidOperationException)
{
return Unit.Value;
}
customer.ChangePricingLevel(message.Body.PricingLevel);
await _repository.SaveAsync(customer);
return Unit.Value;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.