Example #1
0
        public TransferStockExtendedResponse TransferStockExtended(TransferStockExtendedRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.TransferStock", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = externalRequest.Request.DeviceType,
                Password   = externalRequest.Request.Password,
                User       = externalRequest.Request.Username
            };
            LoginResponseInternal        loginResponse   = AuthenticationProvider.LoginInternal(loginRequest);
            TransferStockRequestInternal internalRequest = new TransferStockRequestInternal()
            {
                Agent      = externalRequest.Request.Agent,
                Amount     = externalRequest.Request.Amount,
                DeviceType = externalRequest.Request.DeviceType,
                SessionID  = loginResponse.SessionID
            };
            TransferStockResponseInternal internalResponse = TransferStockInternal(internalRequest);
            TransferStockExtendedResponse externalResponse = new TransferStockExtendedResponse()
            {
                Response = new TransferStockExtendedResponseBody()
                {
                    ResponseCode    = internalResponse.ResponseCode,
                    ResponseMessage = internalResponse.ResponseMessage,
                    TransactionID   = internalResponse.TransactionID,
                    Fee             = internalResponse.Fee
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.TransferStock", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
Example #2
0
        public TransferStockResponse TransferStock(TransferStockRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.TransferStock", Logger.LoggingLevelType.Medium);
            TransferStockRequestInternal internalRequest = new TransferStockRequestInternal()
            {
                Agent      = externalRequest.Request.Agent,
                Amount     = externalRequest.Request.Amount,
                DeviceType = externalRequest.Request.DeviceType,
                SessionID  = externalRequest.Request.SessionID
            };
            TransferStockResponseInternal internalResponse = TransferStockInternal(internalRequest);
            TransferStockResponse         externalResponse = new TransferStockResponse()
            {
                Response = new TransferStockResponseBody()
                {
                    ResponseCode    = internalResponse.ResponseCode,
                    ResponseMessage = internalResponse.ResponseMessage,
                    TransactionID   = internalResponse.TransactionID,
                    Fee             = internalResponse.Fee
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.TransferStock", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
Example #3
0
        private TransferStockResponseInternal TransferStockInternal(TransferStockRequestInternal internalRequest)
        {
            TransferStockResponseInternal internalResponse = null;

            try
            {
                UMarketSCClient       utibaClient = new UMarketSCClient();
                transferStockResponse utibaTransferStockResponse = null;
                using (OperationContextScope scope = new OperationContextScope(utibaClient.InnerChannel))
                {
                    HttpRequestMessageProperty messageProperty = new HttpRequestMessageProperty();
                    messageProperty.Headers.Add(HttpRequestHeader.UserAgent, UserAgent);
                    OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, messageProperty);

                    utibaTransferStockResponse = utibaClient.transferStock(new transferStock()
                    {
                        transferStockRequest = new transferStockRequestType()
                        {
                            sessionid   = internalRequest.SessionID,
                            amount      = internalRequest.Amount.ToString(),
                            device_type = internalRequest.DeviceType,
                            to          = internalRequest.Agent
                        }
                    });
                }
                if (utibaTransferStockResponse != null)
                {
                    internalResponse = new TransferStockResponseInternal()
                    {
                        ResponseCode    = utibaTransferStockResponse.transferStockReturn.result,
                        ResponseMessage = utibaTransferStockResponse.transferStockReturn.result_message,
                        Fee             = utibaTransferStockResponse.transferStockReturn.fee,
                        TransactionID   = utibaTransferStockResponse.transferStockReturn.transid
                    };
                }
            }
            catch (Exception ex)
            {
                Log(Logger.LogMessageType.Error, "Ocurrio una exception procesando el metodo Stock.TransferStockInternal, los detalles son: " + ex.ToString(), Logger.LoggingLevelType.Low);
                return(null);
            }
            return(internalResponse);
        }