private async Task <BetCommandResponseTransaction> CancelTransaction(IBetCommandTransactionRequest transaction, string batchId = null)
        {
            var  isDuplicate = 0;
            Guid gameActionId;

            try
            {
                gameActionId = await _gameCommands.CancelTransactionAsync(
                    new GameActionData
                {
                    RoundId = transaction.RoundId,
                    ExternalTransactionId = transaction.Id,
                    Amount = 0,
                    TransactionReferenceId = transaction.ReferenceId,
                    Description            = transaction.Description,
                    BatchId = batchId,
                },
                    Context);
            }
            catch (DuplicateGameActionException ex)
            {
                gameActionId = ex.GameActionId;
                isDuplicate  = 1;
            }

            return(new BetCommandResponseTransaction
            {
                GameActionId = gameActionId,
                Id = transaction.Id,
                IsDuplicate = isDuplicate
            });
        }
        private BetCommandResponseTransaction AdjustTransaction(IBetCommandTransactionRequest transaction, string batchId = null)
        {
            var  isDuplicate = 0;
            Guid gameActionId;

            try
            {
                gameActionId = _gameCommands.AdjustTransaction(
                    new GameActionData
                {
                    RoundId = transaction.RoundId,
                    ExternalTransactionId  = transaction.Id,
                    TransactionReferenceId = transaction.ReferenceId,
                    Amount       = transaction.Amount,
                    CurrencyCode = transaction.CurrencyCode,
                    Description  = transaction.Description,
                    BatchId      = batchId,
                },
                    Context);
            }
            catch (DuplicateGameActionException ex)
            {
                gameActionId = ex.GameActionId;
                isDuplicate  = 1;
            }

            return(new BetCommandResponseTransaction
            {
                GameActionId = gameActionId,
                Id = transaction.Id,
                IsDuplicate = isDuplicate
            });
        }