示例#1
0
        public async Task Update()
        {
            try
            {
                DeleteAllWords();

                foreach (WordPack wp in WordPackHandler.instance.GetEnabledWordPacks())
                {
                    Word[] Words = JsonConvert.DeserializeObject <Word[]>(await HTTPGetUtil.GetDataAsStringFromURL(Constants.ServerAddress + "ThirtySeconds/GetWordsByWordPackID/" + wp.ID));

                    foreach (Word w in Words)
                    {
                        w.Retrieved = DateTime.Now;
                    }

                    if (Words.Count() > 0)
                    {
                        SaveItems(Words);
                    }
                }
            }
            catch (Exception e)
            {
                await ExceptionHandler.instance.PostException(new AppException(e, (int)ClientIDHandler.AppName._30Seconds));

                return;
            }
        }
示例#2
0
        public static async Task <IList <Spreekwoord> > GetSpreekwoordenBySearchQuery(string Query)
        {
            string Response = await HTTPGetUtil.GetDataAsStringFromURL("http://win10apps.nl/API/Spreekwoorden/GetSpreekwoorden/" + Query);

            try
            {
                return(JsonConvert.DeserializeObject <List <Spreekwoord> >(Response));
            }
            catch
            {
                return(new List <Spreekwoord>());
            }
        }
示例#3
0
        public static async Task <IList <Spreekwoord> > GetRandomSpreekwoorden()
        {
            string URL = "http://win10apps.nl/API/Spreekwoorden/GetSpreekwoorden/?random=" + Randomizer.Next(0, 1000000);

            string Response = await HTTPGetUtil.GetDataAsStringFromURL(URL);

            try
            {
                return(JsonConvert.DeserializeObject <List <Spreekwoord> >(Response));
            }
            catch
            {
                return(new List <Spreekwoord>());
            }
        }
        private async Task <string> GetMixPageSource()
        {
            Logger.Set("GetMixPageSource");
            string PageSource = string.Empty;

            try
            {
                PageSource = await HTTPGetUtil.GetDataAsStringFromURL(MixTapeURL);
            }
            catch (Exception e)
            {
                MixDataWarning = new Warning("Kon Slam! niet bereiken! :(", e);
            }

            Logger.Set("GetMixPageSource");

            return(PageSource);
        }
示例#5
0
        public static async Task <ProductPagina> GetDiscountsFromSupermarket(Supermarkt supermarkt, bool BackgroundTask)
        {
            string Cache = null;

            DiscountCache.TryGetValue(supermarkt.ID, out Cache);

            if (!string.IsNullOrWhiteSpace(Cache))
            {
                return(JsonConvert.DeserializeObject <ProductPagina>(Cache));
            }

            string SupermarktData = await HTTPGetUtil.GetDataAsStringFromURL(Host + "GetProductPageBySupermarketID/" + supermarkt.ID);

            if (!string.IsNullOrWhiteSpace(SupermarktData))
            {
                DiscountCache.Add(supermarkt.ID, SupermarktData);
            }

            ProductPagina p = JsonConvert.DeserializeObject <ProductPagina>(SupermarktData);
            await NotifcationDataHandler.Update(supermarkt.Name, p.DiscountValid, BackgroundTask);

            return(p);
        }
        public async Task Update()
        {
            try
            {
                Category[] Categories = JsonConvert.DeserializeObject <Category[]>(await HTTPGetUtil.GetDataAsStringFromURL(Constants.ServerAddress + "ThirtySeconds/GetCategories"));

                if (Categories.Count() > 0)
                {
                    ClearTable <Category>();
                    SaveItems(Categories);
                    this.Categories = Categories.ToList();
                }
            }
            catch (Exception e)
            {
                await ExceptionHandler.instance.PostException(new AppException(e, (int)ClientIDHandler.AppName._30Seconds));

                return;
            }
        }
示例#7
0
        public static async Task <IList <Supermarkt> > GetAllSupermarkets()
        {
            string SupermarktData = await HTTPGetUtil.GetDataAsStringFromURL(Host + "getsupermarkten");

            return(JsonConvert.DeserializeObject <IList <Supermarkt> >(SupermarktData));
        }
示例#8
0
        public void Update(bool ForceWordUpdate = false)
        {
            UpdateTask = Task.Run(async() =>
            {
                if (ForceWordUpdate)
                {
                    CurrentSettings.SettingsLastUpdated = DateTime.MinValue;
                    CurrentSettings.WordLastUpdated     = DateTime.MinValue;
                }

                if (WordPackHandler.instance.GetWordPacks().Count() == 0)
                {
                    CurrentSettings.WordPackLastUpdated = DateTime.MinValue;
                    CurrentSettings.SettingsLastUpdated = DateTime.MinValue;
                    CurrentSettings.WordLastUpdated     = DateTime.MinValue;
                }

                if (CurrentSettings.SettingsLastUpdated < DateTime.Now.AddDays(-7))
                {
                    List <Task> UpdateTasks = new List <Task>();

                    CurrentSettings.SettingsLastUpdated = DateTime.Now;

                    Settings settingsFromServer = null;

                    try
                    {
                        settingsFromServer = JsonConvert.DeserializeObject <Settings>(await HTTPGetUtil.GetDataAsStringFromURL(Constants.ServerAddress + "ThirtySeconds/getupdatesettings"));
                    }
                    catch
                    {
                    }

                    if (settingsFromServer != null)
                    {
                        if (settingsFromServer.WordPackLastUpdated > CurrentSettings.WordPackLastUpdated)
                        {
                            CurrentSettings.WordPackLastUpdated = DateTime.Now;
                            await WordPackHandler.instance.Update();
                        }

                        if (settingsFromServer.WordLastUpdated > CurrentSettings.WordLastUpdated)
                        {
                            CurrentSettings.WordLastUpdated = DateTime.Now;
                            UpdateTasks.Add(Task.Run(() => WordHandler.instance.Update()));
                        }

                        if (settingsFromServer.CategoryLastUpdated > CurrentSettings.CategoryLastUpdated)
                        {
                            CurrentSettings.CategoryLastUpdated = DateTime.Now;
                            UpdateTasks.Add(Task.Run(() => CategoryHandler.instance.Update()));
                        }

                        SaveSettings();

                        Task.WaitAll(UpdateTasks.ToArray());
                    }
                }

                Task UpdateRatings = Task.Run(() => RatingHandler.AddArticleCount());
            });
        }
示例#9
0
        public async Task Update()
        {
            try
            {
                bool       IsUpdate         = this.WordPacks.Count(wp => wp.LanguageID == SettingsHandler.instance.CurrentSettings.CurrentLanguageID) > 0;
                WordPack[] EnabledWordPacks = null;

                if (IsUpdate)
                {
                    EnabledWordPacks = this.WordPacks.Where(wp => wp.Enabled).ToArray();
                }

                WordPack[] WordPacks = JsonConvert.DeserializeObject <WordPack[]>(await HTTPGetUtil.GetDataAsStringFromURL(Constants.ServerAddress + "ThirtySeconds/GetWordPacks"));


                foreach (WordPack w in WordPacks)
                {
                    if (IsUpdate)
                    {
                        if (EnabledWordPacks.Count(wp => wp.Enabled && wp.ID == w.ID) > 0)
                        {
                            w.Enabled = true;
                        }
                    }
                    else if (w.IsDefault)
                    {
                        w.Enabled = true;
                    }
                }

                if (WordPacks.Count() > 0)
                {
                    ClearTable <WordPack>();
                    SaveItems(WordPacks);
                    this.WordPacks = WordPacks.ToList();

                    //Update languagesettings
                    LanguageHandler.instance.ResetLanguages();
                }
            }
            catch (Exception e)
            {
                await ExceptionHandler.instance.PostException(new AppException(e, (int)ClientIDHandler.AppName._30Seconds));

                return;
            }
        }