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