コード例 #1
0
        public BuyStockExtendedResponse BuyStockExtended(BuyStockExtendedRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.BuyStock", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = externalRequest.Request.DeviceType,
                Password   = externalRequest.Request.Password,
                User       = externalRequest.Request.Username
            };
            LoginResponseInternal   loginResponse   = AuthenticationProvider.LoginInternal(loginRequest);
            BuyStockRequestInternal internalRequest = new BuyStockRequestInternal()
            {
                SessionID  = loginResponse.SessionID,
                Amount     = externalRequest.Request.Amount,
                DeviceType = externalRequest.Request.DeviceType
            };
            BuyStockResponseInternal internalResponse = BuyStockInternal(internalRequest);
            BuyStockExtendedResponse externalResponse = new BuyStockExtendedResponse()
            {
                Response = new BuyStockExtendedResponseBody()
                {
                    ResponseCode    = internalResponse.ResponseCode,
                    ResponseMessage = internalResponse.ResponseMessage,
                    TransactionID   = internalResponse.TransactionID
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.BuyStock", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
コード例 #2
0
        private BuyStockResponseInternal BuyStockInternal(BuyStockRequestInternal internalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.BuyStockInternal", Logger.LoggingLevelType.Medium);
            BuyStockResponseInternal internalResponse = null;

            try
            {
                UMarketSCClient  utibaClient           = new UMarketSCClient();
                buyStockResponse utibaBuyStockResponse = 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);
                    Log(Logger.LogMessageType.Info, "->   -------------------- " + String.Format("Parámetros Recibidos Stock.BuyStockInternal: " +
                                                                                                 "SessionID={0}, DeviceType={1}, Amount={2}", internalRequest.SessionID, internalRequest.DeviceType, internalRequest.Amount), Logger.LoggingLevelType.Low);

                    utibaBuyStockResponse = utibaClient.buyStock(new buyStock()
                    {
                        buyStockRequest = new buyStockRequestType()
                        {
                            sessionid   = internalRequest.SessionID,
                            amount      = internalRequest.Amount,
                            device_type = internalRequest.DeviceType
                        }
                    });
                }
                if (utibaBuyStockResponse != null)
                {
                    internalResponse = new BuyStockResponseInternal()
                    {
                        ResponseCode    = utibaBuyStockResponse.buyStockReturn.result,
                        ResponseMessage = utibaBuyStockResponse.buyStockReturn.result_message,
                        Fee             = utibaBuyStockResponse.buyStockReturn.fee,
                        TransactionID   = utibaBuyStockResponse.buyStockReturn.transid
                    };
                }
                Log(Logger.LogMessageType.Info, "->   -------------------- " + String.Format("Resultado Obtenido Stock.BuyStockInternal: ResponseCode={0}, ResponseMessage={1}, TransactionID={2}, " +
                                                                                             "Fee={3}", internalResponse.ResponseCode, internalResponse.ResponseMessage, internalResponse.TransactionID, internalResponse.Fee), Logger.LoggingLevelType.Low);
            }
            catch (Exception ex)
            {
                Log(Logger.LogMessageType.Error, "Ocurrio una exception procesando el metodo Stock.BuyStockInternal, los detalles son: " + ex.ToString(), Logger.LoggingLevelType.Low);
                return(null);
            }
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.BuyStockInternal", Logger.LoggingLevelType.Medium);
            return(internalResponse);
        }
コード例 #3
0
        public BuyStockResponse BuyStock(BuyStockRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Stock.BuyStock", Logger.LoggingLevelType.Medium);
            BuyStockRequestInternal internalRequest = new BuyStockRequestInternal()
            {
                SessionID  = externalRequest.Request.SessionID,
                Amount     = externalRequest.Request.Amount,
                DeviceType = externalRequest.Request.DeviceType
            };
            BuyStockResponseInternal internalResponse = BuyStockInternal(internalRequest);
            BuyStockResponse         externalResponse = new BuyStockResponse()
            {
                Response = new BuyStockResponseBody()
                {
                    ResponseCode    = internalResponse.ResponseCode,
                    ResponseMessage = internalResponse.ResponseMessage,
                    TransactionID   = internalResponse.TransactionID
                }
            };

            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Stock.BuyStock", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }