Example #1
0
        public async Task <string> DoingMagicRE(Models.RecargasViewModel.Recargar recargar, string usuario)
        {
            //check balance
            double balancecia    = data.GetBalanceAvailable(usuario);
            double montoCargar   = data.howmuchserviceRE(recargar.Monto);
            double montoRecargar = montoCargar * 1.06;
            string transactionId = "";

            if (balancecia >= montoCargar)
            {
                //checking for better balance
                string idsupplier         = data.returnBetterBalance(recargar.Monto, recargar.Carrier);
                string localTransactionId = data.returnIdTrans(usuario, recargar.Monto, "0", recargar.Confirmacion);
                switch (idsupplier)
                {
                case "1":
                    transactionId = await GetTransactionTaecel(data.GetCodeServiceSuplier(recargar.Monto, idsupplier), recargar.Confirmacion);

                    if (!transactionId.Contains("|"))
                    {
                        data.updateIdTrans(localTransactionId, transactionId);
                        transactionId = localTransactionId;
                    }
                    else
                    {
                        transactionId = "Error, " + transactionId.Split('|')[1];
                    }
                    break;

                case "2":
                    transactionId = await GetTransactioPrepaTaeRE(data.GetCodeServiceSuplier(recargar.Monto, idsupplier), montoRecargar.ToString(), recargar.Confirmacion);

                    if (!transactionId.StartsWith("Error"))
                    {
                        transactionId = localTransactionId;
                    }
                    break;
                }
            }
            else
            {
                transactionId = "Error, saldo insuficiente. Cuenta con $ " + balancecia.ToString();
            }
            return(transactionId);
        }