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); }
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); }
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); }