Beispiel #1
0
        public async Task <string> MakeTransaction_Manualcharge(decimal monto, string visible_comment)
        {
            var MakeAccountTransactionRequest = new MakeAccountTransactionRequest();

            MakeAccountTransactionRequest.i_account       = this.i_account;
            MakeAccountTransactionRequest.amount          = Convert.ToDecimal(monto);
            MakeAccountTransactionRequest.action          = "Manual charge";
            MakeAccountTransactionRequest.visible_comment = visible_comment;
            var MakeAccountTransactionResponse = new MakeAccountTransactionResponse();

            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                try
                {
                    var param = JsonConvert.SerializeObject(MakeAccountTransactionRequest);
                    var URL   = _Global.BaseUrlAdmin + _Global.Servicio.Account + "/" + _Global.Metodo.make_transaction + "/" + await _Global.GetAuthInfoAdminJson() + "/" + param;

                    var response = await client.GetAsync(URL);

                    var Result = await response.Content.ReadAsStringAsync();

                    var r = JsonConvert.DeserializeObject <MakeAccountTransactionResponse>(Result);
                    return(Result);
                }
                catch
                {
                    return(new MakeAccountTransactionResponse().AsJson());
                }
            }
        }
Beispiel #2
0
        public async void ReservarRecargas(MakeAccountTransactionResponse TransactionResponse)
        {
            var transaccion = await _Global.CurrentAccount.MakeTransaction_CapturePayment(Convert.ToDecimal(_Global.ListaRecargas.TotalPagar), TransactionResponse);

            if (_Global.TransactionResponse.result_code == "1" && _Global.TransactionResponse.transaction_id != "0")
            {
                if (_Global.ListaRecargas.Lista.Any())
                {
                    // guardar recargas
                    foreach (var recarga in _Global.ListaRecargas.Lista)
                    {
                        var resul = await recarga.Reservar();

                        if (resul)
                        {
                            await _Global.CurrentAccount.MakeTransaction_Manualcharge(0, "Reserva Recarga Movil para" + recarga.numero);
                        }
                    }
                }

                await _Global.CurrentAccount.MakeTransaction_Manualcharge(Convert.ToDecimal(_Global.ListaRecargas.TotalPagar), "Monto Reservas Recargas Movil");


                // guardar recargas
                await DisplayAlert("TeleYuma", "Las recargas han sido reservadas con éxito", "OK");

                _Global.ListaRecargas = new ListaRecarga();
                _Global.Vistas.ListaRecargas.ActualizarListView();
                MostrarCargando(false);

                LayoutListaRecargas.IsVisible = false;
                //Regrasar a pagina HomePage
                var pages = Navigation.NavigationStack.ToList();
                foreach (var page in pages)
                {
                    if (page.GetType() != typeof(Pages.HomeTabbedPage))
                    {
                        Navigation.RemovePage(page);
                    }
                }
                //------------------------
            }
            else
            {
                // hacer validacion
                await DisplayAlert("TeleYuma", "No se pudo reservar las recargas, hubo problemas con el pago", "OK");
            }
        }
Beispiel #3
0
        //public async void RecargarNauta(MakeAccountTransactionResponse TransactionResponse)
        //{

        //    var recarga = await _Global.RecargaNauta.Recargar();
        //    if (recarga.erroe_code != "0")
        //    {
        //        MostrarCargando(false);
        //        await DisplayAlert("TeleYuma", recarga.error_message, "OK");
        //        return;
        //    }
        //    else
        //    {
        //        if (recarga.status != "0")
        //        {
        //            MostrarCargando(false);
        //            await DisplayAlert("TeleYuma", recarga.status_message, "OK");
        //            return;
        //        }
        //        else
        //        {
        //            var transaccion = await _Global.CurrentAccount.MakeTransaction_CapturePayment(_Global.RecargaNauta.TotalPagar, TransactionResponse);
        //            if (_Global.TransactionResponse.result_code == "1" && _Global.TransactionResponse.transaction_id != "0")
        //            {
        //                MostrarCargando(false);

        //                await _Global.CurrentAccount.MakeTransaction_Manualcharge(_Global.RecargaNauta.TotalPagar, "Recarga Nauta a" + recarga.account_number);
        //                await DisplayAlert("TeleYuma", "La recarga ha sido realizada", "OK");

        //                //Regrasar a pagina HomePage
        //                var pages = Navigation.NavigationStack.ToList();
        //                foreach (var page in pages)
        //                {
        //                    if (page.GetType() != typeof(Pages.HomeTabbedPage))
        //                        Navigation.RemovePage(page);
        //                }
        //                //------------------------
        //            }
        //            else
        //            {
        //                MostrarCargando(false);
        //                await DisplayAlert("TeleYuma", "Recarga Realizada con Error en la transferencia bancaria", "OK");
        //            }

        //        }
        //    }

        //}

        public async Task <bool> RecargarMovil(MakeAccountTransactionResponse TransactionResponse)
        {
            decimal montoRecargaSinError = 0;

            if (_Global.ListaRecargas.Lista.Any())
            {
                // recargar
                foreach (var recarga in _Global.ListaRecargas.Lista)
                {
                    if (_Global.ModoPrueba)
                    {
                        await recarga.Simular();
                    }
                    else
                    {
                        await recarga.Recargar();
                    }
                }

                //monto de las recargas echas sin error
                foreach (var recarga in _Global.ListaRecargas.Lista)
                {
                    if (recarga.topupResponse.error_code == "0")
                    {
                        await _Global.CurrentAccount.MakeTransaction_Manualcharge(Convert.ToDecimal(recarga.precio), "Recarga a " + recarga.numero);

                        montoRecargaSinError += recarga.TotalPagar;
                    }
                }
            }

            if (montoRecargaSinError > 0)
            {
                await DisplayAlert("TeleYuma", "El sistema completó la solicitud", "OK");
            }
            else
            {
                await DisplayAlert("TeleYuma", "El sistema completó la solicitud con errores", "OK");
            }
            ActivityIndicator.IsVisible   = false;
            LabelAccion.IsVisible         = false;
            LayoutListaRecargas.IsVisible = false;
            ActualizarListViewRecargas();

            return(true);
        }
        public async Task <ErrorHandling> MakeTransaction__Manualcredit(int i_account, decimal monto, string visible_comment)
        {
            var MakeAccountTransactionRequest = new MakeAccountTransactionRequest();

            MakeAccountTransactionRequest.i_account       = i_account;
            MakeAccountTransactionRequest.amount          = Convert.ToDecimal(monto);
            MakeAccountTransactionRequest.action          = "Manual credit";
            MakeAccountTransactionRequest.visible_comment = visible_comment;

            var MakeAccountTransactionResponse = new MakeAccountTransactionResponse();

            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                try
                {
                    var security = new
                    {
                        login    = "******",
                        password = "******"
                    };
                    var param = JsonConvert.SerializeObject(MakeAccountTransactionRequest);
                    var URL   = _Global.BaseUrlAdmin + _Global.Servicio.Account + "/" + _Global.Metodo.make_transaction + "/" + security.AsJson() + "/" + param;

                    var response = await client.GetAsync(URL);

                    var Result = await response.Content.ReadAsStringAsync();

                    return(JsonConvert.DeserializeObject <ErrorHandling>(Result));
                }
                catch (Exception ex)
                {
                    return(default(ErrorHandling));
                }
            }
        }