Beispiel #1
0
        public BalanceExtendedResponse BalanceExtended(BalanceExtendedRequest balanceExtendedRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Sales.BalanceExtended", Logger.LoggingLevelType.Medium);
            LoginRequestInternal loginRequest = new LoginRequestInternal()
            {
                DeviceType = balanceExtendedRequest.Request.DeviceType,
                Password   = balanceExtendedRequest.Request.Password,
                User       = balanceExtendedRequest.Request.Username
            };
            LoginResponseInternal loginResponse = AuthenticationProvider.LoginInternal(loginRequest);

            BalanceRequestInternal internalObject = new BalanceRequestInternal()
            {
                SessionID  = loginResponse.SessionID,
                DeviceType = balanceExtendedRequest.Request.DeviceType
            };
            BalanceResponseInternal     internalResponse = BalanceProvider.BalanceInternal(internalObject);
            BalanceExtendedResponse     response         = new BalanceExtendedResponse();
            BalanceExtendedResponseBody responseBody     = new BalanceExtendedResponseBody()
            {
                ResponseCode    = internalResponse.ResponseCode,
                ResponseMessage = internalResponse.ResponseMessage,
                TransactionID   = internalResponse.TransactionID,
                Balance         = internalResponse.StockBalance
            };

            response.Response = responseBody;
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Sales.BalanceExtended", Logger.LoggingLevelType.Medium);
            return(response);
        }
Beispiel #2
0
        internal static BalanceResponseInternal BalanceInternal(BalanceRequestInternal balanceRequest)
        {
            UMarketSCClient         utibaClient   = new UMarketSCClient();
            BalanceResponseInternal balanceResult = null;

            try
            {
                utibaClient.InnerChannel.OperationTimeout = new TimeSpan(0, 0, _balanceTimeout);
                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 BalanceProvider.BalanceInternal: SessionID={0}, DeviceType={1}", balanceRequest.SessionID, balanceRequest.DeviceType), Logger.LoggingLevelType.Low);

                    balanceResponse utibaBalanceResponse = utibaClient.balance(new Utiba.balance()
                    {
                        balanceRequest = new Utiba.balanceRequestType()
                        {
                            sessionid   = balanceRequest.SessionID,
                            device_type = balanceRequest.DeviceType
                        }
                    });

                    balanceResult = new BalanceResponseInternal()
                    {
                        ResponseCode    = utibaBalanceResponse.balanceReturn.result,
                        ResponseMessage = utibaBalanceResponse.balanceReturn.result_message,
                        TransactionID   = utibaBalanceResponse.balanceReturn.transid,
                        WalletBalance   = utibaBalanceResponse.balanceReturn.avail_1,
                        StockBalance    = utibaBalanceResponse.balanceReturn.avail_2,
                        PointsBalance   = utibaBalanceResponse.balanceReturn.avail_3,
                        DebtBalance     = utibaBalanceResponse.balanceReturn.avail_5
                    };
                }
                if (balanceResult.ResponseCode != 0)
                {
                    balanceResult.SetResponseNamespace(ApiResponseInternal.ResponseNamespace.BAC);
                }
            }
            catch (Exception e)
            {
                if (balanceResult == null)
                {
                    balanceResult = new BalanceResponseInternal();
                }
                balanceResult.SetThrowedException(e);
            }
            Log(Logger.LogMessageType.Info, "->   -------------------- " + String.Format("Resultado Obtenido BalanceProvider.BalanceInternal: ResponseCode={0}, ResponseMessage={1}, TransactionID={2}, " +
                                                                                         "WalletBalance={3}, PointsBalance={4}, PointsBalance={5}, DebtBalance={6}", balanceResult.ResponseCode, balanceResult.ResponseMessage, balanceResult.TransactionID,
                                                                                         balanceResult.WalletBalance, balanceResult.StockBalance, balanceResult.PointsBalance, balanceResult.DebtBalance), Logger.LoggingLevelType.Low);
            return(balanceResult);
        }
Beispiel #3
0
        public BalanceResponse Balance(BalanceRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Sales.Balance", Logger.LoggingLevelType.Medium);
            BalanceRequestInternal internalRequest = new BalanceRequestInternal()

            {
                SessionID  = externalRequest.Request.SessionID,
                DeviceType = externalRequest.Request.DeviceType
            };
            BalanceResponseInternal internalResponse     = BalanceProvider.BalanceInternal(internalRequest);
            BalanceResponse         externalResponse     = new BalanceResponse();
            BalanceResponseBody     externalResponseBody = new BalanceResponseBody()
            {
                ResponseCode    = internalResponse.ResponseCode,
                ResponseMessage = internalResponse.ResponseMessage,
                TransactionID   = internalResponse.TransactionID,
                Balance         = internalResponse.StockBalance
            };

            externalResponse.Response = externalResponseBody;
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Sales.Balance", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }