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 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 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()); } }