private async Task <CommandHandlingResult> Handle(SuspendAssetPairCommand command, IEventPublisher publisher) { //idempotency handling not required var updateResult = await _productsDiscontinueService.ChangeSuspendStatusAsync(command.AssetPairId, true, username, command.OperationId); if (!updateResult.IsSuccess) { return(CommandHandlingResult.Fail(_delay)); } _chaosKitty.Meow(command.OperationId); var assetPair = AssetPair.CreateFromProduct(updateResult.NewValue, _defaultLegalEntitySettings.DefaultLegalEntity); publisher.PublishEvent(new AssetPairChangedEvent { OperationId = command.OperationId, AssetPair = _convertService.Convert <IAssetPair, AssetPairContract>(assetPair), }); publisher.PublishEvent(CreateProductChangedEvent(updateResult.OldValue, updateResult.NewValue, username, command.OperationId)); return(CommandHandlingResult.Ok()); }
private async Task <CommandHandlingResult> Handle(SuspendAssetPairCommand command, IEventPublisher publisher) { //idempotency handling not required var assetPair = await _assetPairsRepository.ChangeSuspendFlag(command.AssetPairId, true); _chaosKitty.Meow(command.OperationId); publisher.PublishEvent(new AssetPairChangedEvent { OperationId = command.OperationId, AssetPair = _convertService.Convert <IAssetPair, AssetPairContract>(assetPair), }); return(CommandHandlingResult.Ok()); }