Esempio n. 1
0
        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);
            }
        }
Esempio n. 4
0
        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());
            }
        }