public static List<ItemViewModel> ReadHistoryFile() { using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) { try { IsolatedStorageFileStream isoFileStream = myIsolatedStorage.OpenFile("RecipeHub.xml", FileMode.Open); using (StreamReader reader = new StreamReader(isoFileStream)) { string filestring = reader.ReadToEnd(); var list = new List<ItemViewModel>(); var recetas = ObtainRecipes(filestring); foreach (XElement xElement in recetas) { string title = xElement.Elements().SingleOrDefault(x => x.Name.LocalName.Equals("Title")).Value; string author = xElement.Elements().SingleOrDefault(x => x.Name.LocalName.Equals("Author")).Value; string image = xElement.Elements().SingleOrDefault(x => x.Name.LocalName.Equals("ImageLink")).Value; string link = xElement.Elements().SingleOrDefault(x => x.Name.LocalName.Equals("Link")).Value; var viewModel = new ItemViewModel { Author = author, Title = title, RecipeLink = link }; viewModel.SetImageRecipeFrom(image); list.Add(viewModel); } return list; } } catch (IsolatedStorageException) { // has no file is the first time return null; } } }
public static void UpdateVisitHistory(ItemViewModel ivm) { if (_lastVisit.Count == 10) _lastVisit.Pop(); if (!_lastVisit.Any(x=>x.RecipeLink == ivm.RecipeLink)) _lastVisit.Push(ivm); }
private void UpdateUI(ResultEventArgs e) { var list = e.Result as List<Recipe>; if (list != null) { foreach (var item in list) { var vm = new ItemViewModel { Author = item.Author, Title = item.Title, RecipeLink = item.LinkUrl }; vm.SetImageRecipeFrom(item.ImageUrl); RecentRecipes.Add(vm); } UpdateHistoryUI(); } else if(e.Result is string) { string msg = (string)e.Result; MessageBox.Show(msg, "Error", MessageBoxButton.OK); } else if (e.Result is Exception) { var ex = ((Exception)e.Result); BugSenseHandler.Instance.SendException(ex); string msg = ex.Message; MessageBox.Show(msg, "Error", MessageBoxButton.OK); } this.IsDataLoaded = true; ProgressVisibility = Visibility.Collapsed; }
private void UpdateSearchUI(ResultEventArgs e) { var list = e.Result as List<Recipe>; if (list != null) { FoundRecipes.Clear(); foreach (var item in list) { var vm = new ItemViewModel { Author = item.Author, Title = item.Title, RecipeLink = item.LinkUrl }; vm.SetImageRecipeFrom(item.ImageUrl); FoundRecipes.Add(vm); } this.IsDataLoaded = true; ProgressVisibility = Visibility.Collapsed; } }