示例#1
0
        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);
        }
示例#2
0
 public BuyStockResponse()
 {
     Response = new BuyStockResponseBody();
 }
示例#3
0
        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);
        }
    }