From f3847b59d24782ce0d6e4426c2dad4f40fb68166 Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Mon, 16 Sep 2024 17:36:28 +0330 Subject: [PATCH] Tag in blog --- Back/Controllers/BaseController.cs | 4 ++-- Back/Data/Models/Blog.cs | 1 + Back/Services/ServBase.cs | 14 ++++++++++---- Shared/DTOs/BlogDto.cs | 3 ++- TaxPayerFull/Pages/BlogDetails.razor | 20 ++++++++++++++++++-- 5 files changed, 33 insertions(+), 9 deletions(-) diff --git a/Back/Controllers/BaseController.cs b/Back/Controllers/BaseController.cs index 9e008e6..c519043 100644 --- a/Back/Controllers/BaseController.cs +++ b/Back/Controllers/BaseController.cs @@ -48,8 +48,8 @@ namespace Back.Controllers public async Task> DateTimeServer() => Ok(DateTime.Now); [HttpGet("LastBlog")] - public async Task>> LastBlog(int PageIndex, int PageSize) - => Ok(await _sBase.GetBlog(PageIndex, PageSize)); + public async Task>> LastBlog(int PageIndex, int PageSize,string? Tag) + => Ok(await _sBase.GetBlog(PageIndex, PageSize,Tag)); [HttpGet("GetBlogByID/{ID}")] public async Task> GetBlogByID(int ID) { diff --git a/Back/Data/Models/Blog.cs b/Back/Data/Models/Blog.cs index ced5f7c..6dafcc1 100644 --- a/Back/Data/Models/Blog.cs +++ b/Back/Data/Models/Blog.cs @@ -9,5 +9,6 @@ public string Date { get; set; } public string Time { get; set; } public bool Status { get; set; } + public string? Tags { get; set; } } } diff --git a/Back/Services/ServBase.cs b/Back/Services/ServBase.cs index a233b9b..60888d5 100644 --- a/Back/Services/ServBase.cs +++ b/Back/Services/ServBase.cs @@ -1,4 +1,5 @@ -using Back.Common; +using Azure; +using Back.Common; using Back.Data.Contracts; using Back.Data.Models; using Microsoft.EntityFrameworkCore; @@ -37,9 +38,13 @@ namespace Back.Services PermissionID=x.PermissionID, }).ToListAsync(); } - public async Task> GetBlog(int PageIndex, int PageSize) + public async Task> GetBlog(int PageIndex, int PageSize,string? Tag) { - return await _repoBlog.Get(w=>w.Status).OrderByDescending(o=>o.ID) + var request = _repoBlog.Get(w => w.Status); + if (!string.IsNullOrEmpty(Tag)) + request = request.Where(x => x.Tags.Contains(Tag)); + + return await request.OrderByDescending(o=>o.ID) .Select(s=>new BlogDto { Title = s.Title, @@ -70,7 +75,8 @@ namespace Back.Services ID = s.ID, Photo = string.IsNullOrEmpty(s.Photo) ? "blog-SampleTitle.jpg" : s.Photo, Text=s.Text, - Time=s.Time + Time=s.Time, + Tags= s.Tags, }).FirstOrDefaultAsync(); return result; } diff --git a/Shared/DTOs/BlogDto.cs b/Shared/DTOs/BlogDto.cs index 30bff82..c705c28 100644 --- a/Shared/DTOs/BlogDto.cs +++ b/Shared/DTOs/BlogDto.cs @@ -20,6 +20,7 @@ namespace Shared.DTOs public string Text { get; set; } public string? Photo { get; set; } public string Date { get; set; } - public string Time { get; set; } + public string Time { get; set; } + public string? Tags { get; set; } } } diff --git a/TaxPayerFull/Pages/BlogDetails.razor b/TaxPayerFull/Pages/BlogDetails.razor index 96da77d..6c11ff3 100644 --- a/TaxPayerFull/Pages/BlogDetails.razor +++ b/TaxPayerFull/Pages/BlogDetails.razor @@ -99,8 +99,24 @@ - - + + + +