コード例 #1
0
        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;
                    }
                }
            }
        }