Exemplo n.º 1
0
        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;
                }
            }
        }
Exemplo n.º 2
0
        public static void UpdateVisitHistory(ItemViewModel ivm)
        {
            if (_lastVisit.Count == 10)
                _lastVisit.Pop();

            if (!_lastVisit.Any(x=>x.RecipeLink == ivm.RecipeLink))
                _lastVisit.Push(ivm);
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
            }
        }