// Private methods private async Task LoadData(string filter = null, int limit = 0, int offset = 0) { var result = await _marvelService.GetCharacters(filter, limit, offset); if (result != null) { var characters = (from p in result.Results select new CharacterItemViewModel() { Id = p.Id, Name = p.Name, Thumbnail = p.Thumbnail.Path + "." + p.Thumbnail.Extension, Description = p.Description }); //// Inform our collection if (characters.Any()) { // Solo añadimos los que no están en la collección Characters = new ReactiveList <CharacterItemViewModel>(characters); } else { Characters = new ReactiveList <CharacterItemViewModel>(); } } }
//bool CanExecuteSearchByNameCommand() //{ // // Condición para poder ejecutar el commando // return SearchText?.Length > 0; //} #endregion #region LoadData private async Task LoadData(string filter = null, int limit = 0, int offset = 0) { IsBusy = true; var result = await _marvelService.GetCharacters(filter, limit, offset); if (result != null) { CharacterList = (from p in result.Results select new CharacterItemViewModel() { Id = p.Id, Name = p.Name, Thumbnail = p.Thumbnail.Path + "." + p.Thumbnail.Extension, Description = p.Description }).ToList(); } IsBusy = false; }
public async Task LoadData(string filter = null, int limit = 0, int offset = 0) { IsBusy = true; var cache = Akavache.BlobCache.LocalMachine; var cachedCharacters = cache.GetAndFetchLatest("CharacterList" + filter, () => _marvelService.GetCharacters(filter, limit, offset), ofset => { TimeSpan elapsed = DateTimeOffset.Now - ofset; return(elapsed > new TimeSpan(hours: 0, minutes: 10, seconds: 0)); }); var result = await cachedCharacters.FirstOrDefaultAsync(); //var result = await _marvelService.GetCharacters(filter, limit, offset); if (result != null) { CharacterList = (from p in result.Results select new CharacterItemViewModel() { Id = p.Id, Name = p.Name, Description = p.Description }).ToList(); } IsBusy = false; }