private bool ValidarBono(BonoModel b) { return(b.NombreDestino != null && b.ApellidoDestino != null && Utils.IsValidCedula(b.CedulaDestino) && Utils.IsValidPhone(b.TelefonoDestino) && monedaSeleccionada != null); }
async void ComprarBono(object sender, System.EventArgs e) { await IsRunning(true); Cliente = (Cliente)Application.Current.Properties["cliente"]; //btnComprar.IsEnabled = false; double montoBono; //tasa = cbMoneda.SelectedItem; BonoModel b = new BonoModel() { NombreDestino = txtNombreDestinatario.Text, ApellidoDestino = txtApellidoDestinatario.Text, CedulaDestino = txtCedula.Text, TelefonoDestino = txtCelular.Text, //monto = int.Parse(txtMonto.Text), FechaCompra = DateTime.Now }; b.ClienteId = Cliente.ClienteId; if (txtMonto.Text != null) { double.TryParse(txtMonto.Text, out montoBono); b.Monto = montoBono; } if (monedaSeleccionada != null) { b.TasaId = monedaSeleccionada.Id; } if (ValidarBono(b)) { //var currency = monedaSeleccionada.simbolo.Equals("RD") ? "DOP" : monedaSeleccionada.simbolo.Equals("EU") ? "EUR" : monedaSeleccionada.simbolo; //var currency = monedaSeleccionada.Simbolo.Equals("EU") ? "EUR" : monedaSeleccionada.Simbolo; //var payment = (new PayPalItem("Bono Supermercado Rodríguez", (decimal)b.Monto, currency)); //var result = await CrossPayPalManager.Current.Buy(payment, new Decimal(0)); //if (result.Status == PayPalStatus.Cancelled) //{ // await IsRunning(false); // await DisplayAlert("Cancelado", "Ha cancelado el proceso", "Ok"); //} //else if (result.Status == PayPalStatus.Error) //{ // await IsRunning(false); // await DisplayAlert("Error", "Ha ocurrido un error. Intene de nuevo mas tarde", "Ok"); //} //else if (result.Status == PayPalStatus.Successful) //{ // var paymentId = result.ServerResponse.Response.Id; // Debug.WriteLine(result.ServerResponse.Response.Id); // PayPalClient paypal = new PayPalClient(); // PayPalPayment paymentDetail = await paypal.getPayment(paymentId); // b.PaypalId = paymentId; // //TODO agregar demas propiedades del pago de paypal (estado y metodo) try { var bonoResult = bonosService.Buy(b); if (bonoResult != null) { await DisplayAlert("Exito", "Se ha comprado el bono de forma exitosa", "Ok"); await Navigation.PopAsync(); } else { await DisplayAlert("Error", "Ha ocurrido un error. Intene de nuevo mas tarde", "Ok"); } await IsRunning(false); } catch (Exception ex) { await IsRunning(false); Debug.WriteLine(ex.ToString()); await DisplayAlert("Error", "Ha ocurrido un error. Intene de nuevo mas tarde", "Ok"); } //} } else { await IsRunning(false); await DisplayAlert("Faltan Datos", "Hay Errores en los datos introducidos", "Ok"); Debug.WriteLine("Hay errores en los datos introducidos"); } }