public override async void Init(object initData) { base.Init(initData); Pago = initData as HistorialPagosModel; // Significa que es un nuevo pago if (Pago == null) { PlanesDTO planParaComprar = initData as PlanesDTO; try { FacturaFormatoDTO facturaFormatoParaBuscar = new FacturaFormatoDTO { IdiomaDeLaFacturaFormato = App.IdiomaPersona, CodigoPais = App.Persona.CodigoPais }; FacturaFormatoDTO facturaFormato = await _pagosService.BuscarFacturaFormato(facturaFormatoParaBuscar); if (facturaFormato != null) { HistorialPagosPersonasDTO historialPago = new HistorialPagosPersonasDTO(); historialPago.TextoFacturaFormato = facturaFormato.Texto; historialPago.CodigoPais = App.Persona.CodigoPais; historialPago.CodigoMoneda = App.Persona.Paises.CodigoMoneda; historialPago.Paises = App.Persona.Paises; historialPago.Monedas = App.Persona.Paises.Monedas; historialPago.CodigoPersona = App.Persona.Consecutivo; historialPago.Planes = planParaComprar; historialPago.CodigoPlan = planParaComprar.Consecutivo; historialPago.Precio = planParaComprar.Precio; Pago = new HistorialPagosModel(historialPago); RaisePropertyChanged(nameof(Pago)); } else { await CoreMethods.DisplayAlert(SportsGoResources.Error, SportsGoResources.ErrorAlConsultarInfoPagos, "OK"); } } catch (Exception) { await CoreMethods.DisplayAlert(SportsGoResources.Error, SportsGoResources.ErrorAlConsultarInfoPagos, "OK"); } } }
async Task CargarPagos(int skipIndex, int takeIndex) { if (!NoHayNadaMasParaCargar) { BuscadorDTO buscador = new BuscadorDTO { ConsecutivoPersona = App.Persona.Consecutivo, IdiomaBase = App.IdiomaPersona, SkipIndexBase = skipIndex, TakeIndexBase = takeIndex, ZonaHorariaGMTBase = _dateTimeHelper.DifferenceBetweenGMTAndLocalTimeZone }; if (IsNotConnected) { return; } List <HistorialPagosPersonasDTO> listaPagos = await _pagosService.ListarHistorialPagosDeUnaPersona(buscador); if (listaPagos != null) { if (listaPagos.Count > 0) { if (Historial == null) { Historial = new ObservableRangeCollection <HistorialPagosModel>(HistorialPagosModel.CrearListaHistorialPagosModel(listaPagos)); } else { foreach (HistorialPagosPersonasDTO pago in listaPagos) { HistorialPagosModel pagoExistente = Historial.Where(x => x.HistorialPago.Consecutivo == pago.Consecutivo).FirstOrDefault(); if (pagoExistente != null) { Historial.Remove(pagoExistente); } Historial.Add(new HistorialPagosModel(pago)); } } } else { NoHayNadaMasParaCargar = listaPagos.Count <= 0; } } } }
public override void ReverseInit(object returnedData) { base.ReverseInit(returnedData); HistorialPagosModel pagoBorrado = returnedData as HistorialPagosModel; if (pagoBorrado != null && !pagoBorrado.EsActualizarPlan) { Historial.Remove(pagoBorrado); } else { Historial.Remove(pagoBorrado); Historial.Insert(0, pagoBorrado); } }
protected override void OnBindingContextChanged() { base.OnBindingContextChanged(); HistorialPagosModel item = BindingContext as HistorialPagosModel; if (item == null) { return; } UrlArchivo.Source = null; if (!string.IsNullOrWhiteSpace(item.HistorialPago.Planes.UrlArchivo)) { UrlArchivo.Source = item.HistorialPago.Planes.UrlArchivo; } else { UrlArchivo.Source = App.Current.Resources["RutaDefaultImagen"] as string; } }