public string CreateCommandMessage(Request request)
        {
            BaseCommandModel command;

            switch (request.Action)
            {
            case ActionType.CashOut:
                command = new CashOut();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            command.InitFromParameters(request.Parameters);
            return(new { Action = request.Action.ToString(), JsonData = command.ToJson() }.ToJson());
        }
Пример #2
0
        public async Task <CashOutResponse> Post(CashOut request)
        {
            Log.Info(nameof(CashOut));
            Log.Info(request?.ToJson());
            request.Decrypt();
            if (!Constants.AVAILABLE_PAN_NUMBERS.Contains(request?.EncAgentPAN) ||
                !Constants.AVAILABLE_PAN_NUMBERS.Contains(request?.EncConsumerPAN))
            {
                throw new PANNotExistException();
            }

            var response = await request.GetResponse <CashOutResponse>
                               (Constants.PROCESS_REQUEST_URL.PROCESS_POST_CASH_OUT);

            Log.Info(nameof(CashOutResponse));
            Log.Info(response?.ToJson());

            return(response);
        }