public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, UMarketSCClient utibaClientProxy, String sessionID) { BuyStockRequestBody request = requestObject as BuyStockRequestBody; BuyStockResponseBody response = null; buyStockResponse utibaBuyStockResponse = utibaClientProxy.buyStock(new buyStock() { buyStockRequest = new buyStockRequestType() { sessionid = sessionID, wait = false, waitSpecified = true, amount = request.Amount, device_type = request.DeviceType, details = ("Bank: " + request.BankName ?? "NULL") + " - Fecha: " + (request.TransactionDate.ToShortDateString() ?? "NULL") + " - REF.: " + (request.TransactionReference ?? "NULL") } }); if (utibaBuyStockResponse != null) { response = new BuyStockResponseBody() { ResponseCode = Utils.BuildResponseCode(utibaBuyStockResponse.buyStockReturn.result, utibaBuyStockResponse.buyStockReturn.result_namespace), ResponseMessage = utibaBuyStockResponse.buyStockReturn.result_message, Fee = utibaBuyStockResponse.buyStockReturn.fee, TransactionID = utibaBuyStockResponse.buyStockReturn.transid }; } return(response); }
public override IMovilwayApiResponse PerformKinacuOperation(IMovilwayApiRequest requestObject, SaleInterface kinacuWS, String sessionID) { if (sessionID.Equals("0")) { return new BuyStockResponseBody() { ResponseCode = 90, ResponseMessage = "error session", TransactionID = 0 } } ; BuyStockRequestBody request = requestObject as BuyStockRequestBody; BuyStockResponseBody response = null; string message, bankName = ""; //decimal bankNumber = 0; //= int.Parse(request.BankName); //decimal.Parse(request.BankName.Split('-')[1].Trim()); BankAccount[] banks = kinacuWS.GetAccountBank(int.Parse(sessionID), out message); foreach (var bank in banks) { //if (bank.BankName == request.BankName.Split('-')[0].Trim()) if (bank.Id == int.Parse(request.BankName)) { bankName = String.Concat(bank.BankName, " - ", bank.Number); break; } } if (request.TransactionDate.Date <= DateTime.Now.Date) { if (kinacuWS.InformPayment(int.Parse(sessionID), decimal.Parse(request.BankName), request.TransactionReference, request.TransactionDate, decimal.Parse((request.Amount * 100).ToString("#")), "", out message)) { response = new BuyStockResponseBody() { ResponseCode = 0, ResponseMessage = ("Bank: " + bankName ?? "NULL") + "; Fecha: " + (request.TransactionDate.ToShortDateString() ?? "NULL") + "; REF.: " + (request.TransactionReference ?? "NULL"), Fee = 0, TransactionID = 0 } } ; else { response = new BuyStockResponseBody() { ResponseCode = 99, ResponseMessage = message, Fee = 0, TransactionID = 0 } }; } else { response = new BuyStockResponseBody() { ResponseCode = 98, ResponseMessage = "Fecha reportada superior a la fecha actual", Fee = 0, TransactionID = 0 }; } return(response); } }