private async void PopularSupermarketsLV_Loaded(object sender, RoutedEventArgs e) { try { LoadingControl.SetLoadingStatus(true); LoadingControl.DisplayLoadingError(false); List <Supermarkt> supermarkten = (List <Supermarkt>) await GetSAData.GetSelectedSuperMarkets(); if (supermarkten.Count > 0) { if (supermarkten.First().ID == 0) { Frame.Navigate(typeof(ConfigureSupermarkets)); } } (sender as ListView).ItemsSource = supermarkten; Content.Visibility = Visibility.Visible; } catch (Exception) { LoadingControl.DisplayLoadingError(true); } finally { LoadingControl.SetLoadingStatus(false); } }
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { Exception AppException = null; LoadingControl.DisplayLoadingError(false); LoadingControl.SetLoadingStatus(true); try { supermarkt = Supermarkt.Deserialize(e.NavigationParameter as string); this.DataContext = supermarkt; supermarkt.ProductPagina = await GetSAData.GetDiscountsFromSupermarket(supermarkt, false); this.ProductsLV.DataContext = supermarkt.ProductPagina.Producten; DiscountVallidTextbox.Text = supermarkt.ProductPagina.DiscountValid; try { if (SelectedItem != null) { foreach (Product p in supermarkt.ProductPagina.Producten) { if (p.ID == SelectedItem.ID) { supermarkt.ProductPagina.SelectedItem = p; SelectedItem = null; ProductsLV.SelectedItem = p; break; } } ProductsLV.ScrollIntoView(supermarkt.ProductPagina.SelectedItem); } } catch { } } catch (Exception ex) { AppException = ex; LoadingControl.DisplayLoadingError(true); } finally { Task t = Task.Run(() => ClientIDHandler.instance.PostAppStats(ClientIDHandler.AppName.Supermarkt_Aanbiedingen)); LoadingControl.SetLoadingStatus(false); } if (AppException != null) { Task t = Task.Run(() => ExceptionHandler.instance.PostException(new AppException(AppException), (int)ClientIDHandler.AppName.Supermarkt_Aanbiedingen)); } }
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { try { await StatusBar.GetForCurrentView().HideAsync(); LoadingControl.DisplayLoadingError(false); LoadingControl.SetLoadingStatus(true); Supermarkets = (List <Supermarkt>) await GetSAData.GetAllSupermarkets(); IList <Supermarkt> AanwezigeSupermarkten = null; try { AanwezigeSupermarkten = await GetSAData.GetSelectedSuperMarkets(); } catch { } if (AanwezigeSupermarkten != null && Supermarkets != null) { NextButton.IsEnabled = true; foreach (Supermarkt SA in Supermarkets) { foreach (Supermarkt SB in AanwezigeSupermarkten) { if (SB.Name == SA.Name) { SA.SupermarketEnabled = true; } } } } else if (Supermarkets == null) { throw new NullReferenceException(); } SupermarktetsListview.ItemsSource = Supermarkets; ContentGrid.Visibility = Visibility.Visible; LoadingControl.SetLoadingStatus(false); } catch { LoadingControl.SetLoadingStatus(false); LoadingControl.DisplayLoadingError(true); } }
private async void Search() { LoadingControl.DisplayLoadingError(false); LoadingControl.SetLoadingStatus(true); try { SearchTextbox.IsEnabled = false; SearchButton.IsEnabled = false; IList <Supermarkt> supermarkten = await GetSAData.GetSelectedSuperMarkets(); foreach (Supermarkt s in supermarkten) { if (s.ProductPagina == null) { s.ProductPagina = await GetSAData.GetDiscountsFromSupermarket(s, false); } } searchresult = SearchHandler.SearchForProductenInDiscounts(supermarkten, SearchTextbox.Text); if (searchresult.Count > 0) { NoResultsGrid.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { NoResultsGrid.Visibility = Windows.UI.Xaml.Visibility.Visible; } this.DataContext = searchresult; } catch { NoResultsGrid.Visibility = Windows.UI.Xaml.Visibility.Visible; } LoadingControl.SetLoadingStatus(false); SearchTextbox.IsEnabled = true; SearchButton.IsEnabled = true; SearchButton.Focus(Windows.UI.Xaml.FocusState.Pointer); }
public List <Supermarkt> GetActiveSupermarkets() { if (this.ActiveSupermarkets != null) { return(ActiveSupermarkets); } this.ActiveSupermarkets = new List <Supermarkt>(); List <Supermarkt> SupermarketsFromDatabase = base.GetObjectsByChildObjectID(DeletedField, 0, 0, OrderBy.ASC, NameField).Cast <Supermarkt>().ToList(); List <Supermarkt> SupermarketsFromWeb = (List <Supermarkt>)GetSAData.GetAllSupermarkets(); for (int i = 0; i < SupermarketsFromWeb.Count; i++) { foreach (Supermarkt s in SupermarketsFromDatabase) { if (s.URL == SupermarketsFromWeb[i].URL) { SupermarketsFromWeb.RemoveAt(i); SupermarketsFromDatabase.Remove(s); this.ActiveSupermarkets.Add(s); i--; break; } } } foreach (Supermarkt s in SupermarketsFromDatabase) { s.Deleted = true; UpdateObject(s); } foreach (Supermarkt s in SupermarketsFromWeb) { AddObject(s); this.ActiveSupermarkets.Add(s); } return(ActiveSupermarkets); }
public void GetProductpaginaOld() { this.ProductPagina = GetSAData.GetDiscountsFromSupermarket(this); }
public ProductPagina GetActiveProductPaginaBySupermarktID(int ID) { List <ProductPagina> ProductPaginas = base.GetObjectsByChildObjectID(SupermarktIDField, ID, 0, OrderBy.DESC, IDField).Cast <ProductPagina>().ToList(); for (int i = 0; i < ProductPaginas.Count; i++) { if (ProductPaginas[i].Expired) { ProductPaginas.RemoveAt(i); i--; continue; } if (TimeConverter.GetDateTime().Hour > ProductPaginas[i].CreatedHour + 3 || ProductPaginas[i].ProductPageDay != TimeConverter.GetDateTime().Day) { ProductPaginas[i].Expired = true; this.UpdateObject(ProductPaginas[i]); ProductPaginas.RemoveAt(i); i--; } } if (ProductPaginas.Count == 0) { ProductPagina NewProductPagina = GetSAData.GetDiscountsFromSupermarket(SupermarktHandler.instance.GetObjectByID(ID) as Supermarkt); NewProductPagina.SuperMarktID = ID; ProductPagina OldProductPagina = this.GetProductPageBySupermarketIDAndDiscountDate(ID, NewProductPagina.RealDiscountValid); if (OldProductPagina == null) { this.AddObject(NewProductPagina); foreach (Product p in NewProductPagina.Producten) { p.GetProductHash(); Product NewProduct = ProductHandler.instance.AddProduct(p); ProductLinkHandler.instance.AddObject(new ProductLink(0, NewProduct.ID, NewProductPagina.ID)); } //Delete old records but keep product data ProductPaginas = base.GetObjectsByChildObjectID(SupermarktIDField, ID, 0, OrderBy.DESC, IDField).Cast <ProductPagina>().ToList(); foreach (ProductPagina p in ProductPaginas) { if (p.ID == NewProductPagina.ID) { continue; } foreach (ProductLink l in ProductLinkHandler.instance.GetProductLinksByProductPageID(p.ID)) { ProductLinkHandler.instance.DeleteProductLink(l); } base.DeleteObject(p); } return(NewProductPagina); } else { OldProductPagina.Expired = false; OldProductPagina.CreatedHour = TimeConverter.GetDateTime().Hour; OldProductPagina.ProductPageDay = TimeConverter.GetDateTime().Day; this.UpdateObject(OldProductPagina); return(OldProductPagina); } } else { return(ProductPaginas.First()); } }