From 23800698c8766838f1a538d1c049f602408c2c02 Mon Sep 17 00:00:00 2001 From: bricefriha Date: Sun, 16 Jun 2024 00:24:04 +0100 Subject: [PATCH 1/2] main feed | fix chunk duplicating articles --- AresNews/AresNews/Services/Fetcher.cs | 4 ++-- AresNews/AresNews/ViewModels/NewsViewModel.cs | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/AresNews/AresNews/Services/Fetcher.cs b/AresNews/AresNews/Services/Fetcher.cs index 9ce319b..60e2fe0 100644 --- a/AresNews/AresNews/Services/Fetcher.cs +++ b/AresNews/AresNews/Services/Fetcher.cs @@ -130,11 +130,11 @@ public async Task> GetFeedChunk(DateTime dateFrom, int lengt { try { - + dateFrom = new DateTime(dateFrom.Year, dateFrom.Month, dateFrom.Day, dateFrom.Hour, dateFrom.Minute, 0); string[] parameters = new string[] { dateFrom.AddHours(-length).ToString("dd-MM-yyy_HH:mm:ss"), - dateFrom.ToString("dd-MM-yyy_HH:mm:ss"), + dateFrom.AddMinutes(-1).ToString("dd-MM-yyy_HH:mm:ss"), }; return await App.WService.Get>(controller: "feeds", parameters: parameters, diff --git a/AresNews/AresNews/ViewModels/NewsViewModel.cs b/AresNews/AresNews/ViewModels/NewsViewModel.cs index 092196b..84c88d8 100644 --- a/AresNews/AresNews/ViewModels/NewsViewModel.cs +++ b/AresNews/AresNews/ViewModels/NewsViewModel.cs @@ -517,17 +517,21 @@ public async Task FetchExistingArticles() // Refresh the db await RefreshDB().ConfigureAwait(false); } - // Load the next chunk of articles + /// + /// Load the next chunk of articles + /// + /// private async Task LoadChunks() { - if (_articles.Count <= 0) + + if (_articles.Count <= 0 || IsLoadingChunks) return; IsLoadingChunks = true; await Task.Run(async () => { // get articles of the next 24hours after that - var collection = (await CurrentApp.DataFetcher.GetFeedChunk(_articles.LastOrDefault().FullPublishDate, 1)).Where(article => article.Blocked == null || article.Blocked == false).ToList(); + var collection = (await CurrentApp.DataFetcher.GetFeedChunk(_articles.LastOrDefault().FullPublishDate, 2)).Where(article => article.Blocked == null || article.Blocked == false).ToList(); Articles.AddRange(collection); }).ContinueWith(res => IsLoadingChunks = false); From bd23c999d83d3f10e6b891fc0b8d39de726e48e7 Mon Sep 17 00:00:00 2001 From: bricefriha Date: Sun, 16 Jun 2024 00:43:09 +0100 Subject: [PATCH 2/2] Main feed | change chunks and threshold settings --- AresNews/AresNews/Services/Fetcher.cs | 2 +- AresNews/AresNews/ViewModels/NewsViewModel.cs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/AresNews/AresNews/Services/Fetcher.cs b/AresNews/AresNews/Services/Fetcher.cs index 60e2fe0..7ee4aa7 100644 --- a/AresNews/AresNews/Services/Fetcher.cs +++ b/AresNews/AresNews/Services/Fetcher.cs @@ -130,7 +130,7 @@ public async Task> GetFeedChunk(DateTime dateFrom, int lengt { try { - dateFrom = new DateTime(dateFrom.Year, dateFrom.Month, dateFrom.Day, dateFrom.Hour, dateFrom.Minute, 0); + //dateFrom = new DateTime(dateFrom.Year, dateFrom.Month, dateFrom.Day, dateFrom.Hour, dateFrom.Minute, 0); string[] parameters = new string[] { dateFrom.AddHours(-length).ToString("dd-MM-yyy_HH:mm:ss"), diff --git a/AresNews/AresNews/ViewModels/NewsViewModel.cs b/AresNews/AresNews/ViewModels/NewsViewModel.cs index 84c88d8..74e6ee7 100644 --- a/AresNews/AresNews/ViewModels/NewsViewModel.cs +++ b/AresNews/AresNews/ViewModels/NewsViewModel.cs @@ -18,7 +18,7 @@ namespace AresNews.ViewModels public class NewsViewModel : BaseViewModel { // Hour interval - private const int _refreshInterval = 12; + private const int _refreshInterval = 24; private bool _isLaunching = true; private string _prevSearch; private string _lastCallDateTime; @@ -531,7 +531,8 @@ private async Task LoadChunks() await Task.Run(async () => { // get articles of the next 24hours after that - var collection = (await CurrentApp.DataFetcher.GetFeedChunk(_articles.LastOrDefault().FullPublishDate, 2)).Where(article => article.Blocked == null || article.Blocked == false).ToList(); + var collection = (await CurrentApp.DataFetcher.GetFeedChunk(_articles.LastOrDefault().FullPublishDate, 12)).Where(article => article.Blocked == null || article.Blocked == false).ToList(); + Articles.AddRange(collection); }).ContinueWith(res => IsLoadingChunks = false);