Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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());
        }