public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, API.Utiba.UMarketSCClient utibaClientProxy, string sessionID) { GetBalanceRequestBody request = requestObject as GetBalanceRequestBody; logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[GetBalanceProvider] [SEND-DATA] balanceRequest {sessionid=" + sessionID + ",device_type=" + request.DeviceType + "}"); balanceResponse utibaBalanceResponse = utibaClientProxy.balance(new balance() { balanceRequest = new balanceRequestType() { sessionid = sessionID, device_type = request.DeviceType } }); StringBuilder sb = new StringBuilder("balances={"); foreach (var pair in utibaBalanceResponse.balanceReturn.balances) { sb.Append("keyValuePair={key=" + pair.key + ",value=" + pair.value + "},"); } sb.Remove(sb.Length - 1, 1); sb.Append("}"); logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[GetBalanceProvider] [RECV-DATA] balanceResponse {transid=" + utibaBalanceResponse.balanceReturn.transid + ",result=" + utibaBalanceResponse.balanceReturn.result + ",result_namespace=" + utibaBalanceResponse.balanceReturn.result_namespace + ",result_message=" + utibaBalanceResponse.balanceReturn.result_message + ",avail_1=" + utibaBalanceResponse.balanceReturn.avail_1 + ",avail_2=" + utibaBalanceResponse.balanceReturn.avail_2 + ",avail_3=" + utibaBalanceResponse.balanceReturn.avail_3 + ",avail_5=" + utibaBalanceResponse.balanceReturn.avail_5 + ",current_1=" + utibaBalanceResponse.balanceReturn.current_1 + ",current_2=" + utibaBalanceResponse.balanceReturn.current_2 + ",current_3=" + utibaBalanceResponse.balanceReturn.current_3 + ",current_5=" + utibaBalanceResponse.balanceReturn.current_5 + ",pending_1=" + utibaBalanceResponse.balanceReturn.pending_1 + ",pending_2=" + utibaBalanceResponse.balanceReturn.pending_2 + ",pending_3=" + utibaBalanceResponse.balanceReturn.pending_3 + ",pending_5=" + utibaBalanceResponse.balanceReturn.pending_5 + "," + sb.ToString() + "}"); GetBalanceResponseBody response = new GetBalanceResponseBody() { ResponseCode = Utils.BuildResponseCode(utibaBalanceResponse.balanceReturn.result, utibaBalanceResponse.balanceReturn.result_namespace), 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 }; return(response); }
public override IMovilwayApiResponse PerformKinacuOperation(IMovilwayApiRequest requestObject, SaleInterface kinacuWS, string sessionID) { if (sessionID.Equals("0")) { return new GetBalanceResponseBody() { ResponseCode = 90, ResponseMessage = "error session", TransactionID = 0 } } ; GetBalanceRequestBody request = requestObject as GetBalanceRequestBody; string message; logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[GetBalanceProvider] [SEND-DATA] GetAccountBalanceParameters {UserId=" + sessionID + "}"); long balance = kinacuWS.GetAccountBalance(int.Parse(sessionID), out message); logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[GetBalanceProvider] [RECV-DATA] GetAccountBalanceResult {response=" + balance + ",message=" + message + "}"); GetBalanceResponseBody response = new GetBalanceResponseBody() { ResponseCode = balance == -1 ? 99 : 0, ResponseMessage = message == "" ? (balance / 100m).ToString() : message, TransactionID = new Random().Next(100000, 999999), WalletBalance = 0, StockBalance = balance / 100m, PointsBalance = 0, DebtBalance = 0 }; if (request.ExtendedValues ?? false) { response.CheckingAccountBalance = Utils.GetAgentCheckingAccountBalance(request.AuthenticationData.Username); } return(response); } }