From 6d2fce529069fb1f0a96ba6a9de479786ea020d0 Mon Sep 17 00:00:00 2001 From: Max <51083570+DRdrProfessor@users.noreply.github.com> Date: Sat, 20 May 2023 00:35:43 +0200 Subject: [PATCH] Working on models --- SharpRss/Models/FeedModel.cs | 5 +++-- SharpRss/Models/GroupModel.cs | 11 ++++------- SharpRss/Services/DatabaseService.cs | 2 +- ToolQit | 2 +- WebSharpRSS/Models/FeedStateContainer.cs | 4 ++-- WebSharpRSS/Models/TreeItemData.cs | 25 +++++++++--------------- WebSharpRSS/Pages/Index.razor | 2 +- WebSharpRSS/Shared/SideGuide.razor | 17 ++++++++-------- 8 files changed, 29 insertions(+), 39 deletions(-) diff --git a/SharpRss/Models/FeedModel.cs b/SharpRss/Models/FeedModel.cs index c1e52e3..6ebbf1c 100644 --- a/SharpRss/Models/FeedModel.cs +++ b/SharpRss/Models/FeedModel.cs @@ -1,12 +1,11 @@ using System; -using CodeHollow.FeedReader; namespace SharpRss.Models { public class FeedModel { public string FeedId { get; set; } - public string CategoryId { get; set; } + public string GroupId { get; set; } public string FeedType { get; set; } public string FeedUrl { get; set; } public string Description { get; set; } @@ -14,5 +13,7 @@ namespace SharpRss.Models public string Copyright { get; set; } public DateTime LastUpdated { get; set; } public string ImageUrl { get; set; } + public int TotalItems { get; set; } + public int TotalRead { get; set; } } } diff --git a/SharpRss/Models/GroupModel.cs b/SharpRss/Models/GroupModel.cs index bc99b14..9a5b17f 100644 --- a/SharpRss/Models/GroupModel.cs +++ b/SharpRss/Models/GroupModel.cs @@ -1,19 +1,16 @@ using System; +using ToolQit; namespace SharpRss.Models { - /// - /// To store and load data from file/database - /// public class GroupModel { - /*public GroupModel() + public GroupModel(string name) { - HexColor = $"#{_random.Next(0x1000000):X6}"; + Name = name; + HexColor = Utilities.GenerateRandomHexColor(); Id = Guid.NewGuid().ToString(); } - private readonly Random _random = new Random();*/ - public string Name { get; set; } public string HexColor { get; set; } public string Icon { get; set; } diff --git a/SharpRss/Services/DatabaseService.cs b/SharpRss/Services/DatabaseService.cs index 42f0e85..c910a97 100644 --- a/SharpRss/Services/DatabaseService.cs +++ b/SharpRss/Services/DatabaseService.cs @@ -47,7 +47,7 @@ namespace SharpRss.Services _sqlConn.Open(); foreach (var feedModel in feeds) { - await _sqlConn.QueryAsync("INSERT OR REPLACE INTO feed_data(url, feed_id, category_id) VALUES(@url, @feedId, @categoryId) ON CONFLICT(url) DO UPDATE SET category_id=@categoryId", new { url = feedModel.FeedUrl, feedId = feedModel.FeedId, categoryId = feedModel.CategoryId }); + await _sqlConn.QueryAsync("INSERT OR REPLACE INTO feed_data(url, feed_id, category_id) VALUES(@url, @feedId, @categoryId) ON CONFLICT(url) DO UPDATE SET category_id=@categoryId", new { url = feedModel.FeedUrl, feedId = feedModel.FeedId, categoryId = feedModel.GroupId }); } _sqlConn.Close(); return result; diff --git a/ToolQit b/ToolQit index b2a5173..0f3a3fb 160000 --- a/ToolQit +++ b/ToolQit @@ -1 +1 @@ -Subproject commit b2a5173c7ffc21e83eb02c96b6e70434d7396d58 +Subproject commit 0f3a3fb0f9145aad31a44eb25159d0f2a5a1c7fd diff --git a/WebSharpRSS/Models/FeedStateContainer.cs b/WebSharpRSS/Models/FeedStateContainer.cs index 762200d..f1b5a8a 100644 --- a/WebSharpRSS/Models/FeedStateContainer.cs +++ b/WebSharpRSS/Models/FeedStateContainer.cs @@ -4,7 +4,7 @@ namespace WebSharpRSS.Models { public class FeedStateContainer { - public TreeItemData? TreeItem { get; set; } + /*public TreeItemData? TreeItem { get; set; } public event Action? StateChanged; public void SetValue(TreeItemData treeItemSet) { @@ -12,6 +12,6 @@ namespace WebSharpRSS.Models Invoke(); } - private void Invoke() => StateChanged?.Invoke(); + private void Invoke() => StateChanged?.Invoke();*/ } } diff --git a/WebSharpRSS/Models/TreeItemData.cs b/WebSharpRSS/Models/TreeItemData.cs index d317353..8ccd382 100644 --- a/WebSharpRSS/Models/TreeItemData.cs +++ b/WebSharpRSS/Models/TreeItemData.cs @@ -1,12 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using CodeHollow.FeedReader; -using MudBlazor; -using Serilog; using SharpRss.Models; using SharpRss.Services; -using ToolQit; namespace WebSharpRSS.Models { @@ -30,7 +23,7 @@ namespace WebSharpRSS.Models private readonly RssService _service; public readonly GroupModel? CategoryModel; public readonly FeedModel? FeedModel; - private HashSet _feedModels; + //private HashSet _feedModels; public string Title { get; set; } = string.Empty; public bool IsSelected { get; set; } @@ -38,12 +31,12 @@ namespace WebSharpRSS.Models public string? FaviconUrl { get; set; } // Category - public bool HasChild => _feedModels != null && _feedModels.Any(); + public bool HasChild { get; set; } public bool IsExpanded { get; set; } - public HashSet? Feeds { get; set; } + //public HashSet? Feeds { get; set; } // Feed - public Feed? Feed { get; private set; } - public int FeeditemCount + //public Feed? Feed { get; private set; } + /*public int FeeditemCount { get { @@ -61,17 +54,17 @@ namespace WebSharpRSS.Models return Feed.Items.Count; return 0; } - } + }*/ private async void Initialize() { - if (CategoryModel != null) + /*if (CategoryModel != null) { Title = CategoryModel.Name; Icon = Icons.Material.Filled.Category; /*_feedModels = await _service.GetFeedsAsync(CategoryModel); if (_feedModels.Any()) - Feeds = _feedModels.Select(x => new TreeItemData(x, _service)).OrderBy(x => x.Title).ToHashSet();*/ + Feeds = _feedModels.Select(x => new TreeItemData(x, _service)).OrderBy(x => x.Title).ToHashSet();#1# } if (FeedModel != null) @@ -90,7 +83,7 @@ namespace WebSharpRSS.Models Title = Feed.Title; string faviconAddress = Feed.Link.Remove(Feed.Link.IndexOf("http", StringComparison.Ordinal), Feed.Link.IndexOf("://", StringComparison.Ordinal) + 3); FaviconUrl = string.Format(Caretaker.Settings["Paths"].GetString("FaviconResolveUrl"), faviconAddress); - } + }*/ } } } \ No newline at end of file diff --git a/WebSharpRSS/Pages/Index.razor b/WebSharpRSS/Pages/Index.razor index 9adda07..f913d66 100644 --- a/WebSharpRSS/Pages/Index.razor +++ b/WebSharpRSS/Pages/Index.razor @@ -35,7 +35,7 @@ protected override void OnInitialized() { UpdateFeeds(); - _stateContainer.StateChanged += FeedsChanged; + //_stateContainer.StateChanged += FeedsChanged; } private void FeedsChanged() { diff --git a/WebSharpRSS/Shared/SideGuide.razor b/WebSharpRSS/Shared/SideGuide.razor index 5471c2a..7a79454 100644 --- a/WebSharpRSS/Shared/SideGuide.razor +++ b/WebSharpRSS/Shared/SideGuide.razor @@ -10,8 +10,8 @@ @inject RssService _rssService - - @* + @* + $1$
@@ -33,14 +33,14 @@
-
*@ -
+
#1# +
*@
@code { private MudTheme Theme = new MudTheme(); - private readonly HashSet _guideItems = new HashSet(); - private TreeItemData? _selectedItem; + //private readonly HashSet _guideItems = new HashSet(); + /*private TreeItemData? _selectedItem; private TreeItemData? SelectedItem { get => _selectedItem; @@ -49,11 +49,10 @@ _selectedItem = value; ItemClicked(); } - } + }*/ private void ItemClicked() { - if (SelectedItem == null) return; - _stateContainer.SetValue(SelectedItem); + } protected override async void OnInitialized() {