private void DeleteForwardCashinRecord(Guid id, Guid walletId)
        {
            var cqrs = _container.Resolve <ICqrsEngine>();

            var command = new DeleteForwardCashinCommand
            {
                OperationId = id,
                WalletId    = walletId
            };

            cqrs.SendCommand(command, HistoryBoundedContext.Name, HistoryBoundedContext.Name);
        }
        public async Task Handle(CashInProcesedEvent evt, ICommandSender commandSender)
        {
            if (!Guid.TryParse(evt.OperationId, out var operationId) || !Guid.TryParse(evt.ClientId, out var clientId))
            {
                _log.Warning("Cannot parse data", context: evt);
                return;
            }

            var removeCashinCommand = new DeleteForwardCashinCommand
            {
                OperationId = operationId,
                WalletId    = clientId
            };

            commandSender.SendCommand(removeCashinCommand, HistoryBoundedContext.Name);
        }
        public async Task <CommandHandlingResult> Handle(DeleteForwardCashinCommand command, IEventPublisher eventPublisher)
        {
            if (!await _historyRecordsRepository.TryDeleteAsync(command.OperationId, command.WalletId))
            {
                _logger.Warning($"Forward cashin record was not found", context: new
                {
                    id = command.OperationId
                });

                return(CommandHandlingResult.Ok());
            }

            eventPublisher.PublishEvent(new ForwardCashinDeletedEvent
            {
                OperationId = command.OperationId,
                WalletId    = command.WalletId
            });

            return(CommandHandlingResult.Ok());
        }