This commit is contained in:
mmrbnjd
2024-04-03 14:36:33 +03:30
parent dd4969f504
commit 8e8bffa8a8
10 changed files with 109 additions and 85 deletions

View File

@@ -23,6 +23,14 @@ namespace Back.Controllers
[HttpGet("LastBlog")] [HttpGet("LastBlog")]
public async Task<ActionResult<PagingDto<BlogDto>>> LastBlog(int PageIndex,int PageSize) public async Task<ActionResult<PagingDto<BlogDto>>> LastBlog(int PageIndex,int PageSize)
=> Ok(await _sBase.GetBlog(PageIndex,PageSize)); => Ok(await _sBase.GetBlog(PageIndex,PageSize));
[HttpGet("GetBlogByID/{ID}")]
public async Task<ActionResult<BlogDtoFull?>> GetBlogByID(int ID)
{
var result = await _sBase.GetBlogByID(ID);
if (result == null)
return NotFound();
return Ok(result);
}
} }
} }

View File

@@ -34,10 +34,23 @@ namespace Back.Services
Title = s.Title, Title = s.Title,
Date=s.Date, Date=s.Date,
ID=s.ID, ID=s.ID,
Photo=string.IsNullOrEmpty(s.Photo) ? "blog-grid-1.jpg" : s.Photo Photo=string.IsNullOrEmpty(s.Photo) ? "blog-SampleTitle.jpg" : s.Photo
}).Paging(PageIndex, PageSize); ; }).Paging(PageIndex, PageSize); ;
} }
public async Task<BlogDtoFull?> GetBlogByID(int ID)
{
var result= await _repoBlog.Get(w => w.Status && w.ID==ID)
.Select(s => new BlogDtoFull
{
Title = s.Title,
Date = s.Date,
ID = s.ID,
Photo = string.IsNullOrEmpty(s.Photo) ? "blog-SampleTitle.jpg" : s.Photo,
Text=s.Text,
Time=s.Time
}).FirstOrDefaultAsync();
return result;
}
} }
} }

View File

@@ -13,7 +13,7 @@
<div class="row"> <div class="row">
@foreach (var item in items) @foreach (var item in items)
{ {
<ItemBloginHome Item="item" /> <ItemBlog Item="item" />
} }
</div> </div>

View File

@@ -0,0 +1,25 @@
@using Shared.DTOs
@inject NavigationManager Navigation
<div class="rc__post mb-20 d-flex">
<div class="rc__post-thumb fix mr-20">
<a href="@Navigation.ToAbsoluteUri($"/BlogDetails/{@Item?.ID}")"><img src="img/blog/@Item?.Photo" alt=""></a>
</div>
<div class="rc__post-content">
<h3 class="rc__post-title">
<a href="blog-details.html">
@Item?.Title.Split(':')[1]
</a>
</h3><a href="blog-details.html">
<div class="rc__meta">
<span>@Item?.Date</span>
</div>
</a>
</div><a href="blog-details.html">
</a>
</div><a href="@Navigation.ToAbsoluteUri($"/BlogDetails/{@Item?.ID}")"></a>
@code {
[Parameter]
public BlogDto? Item { get; set; }
}

View File

@@ -19,7 +19,7 @@
</div> </div>
<div class="tp-blog-author-info-box d-flex align-items-center"> <div class="tp-blog-author-info-box d-flex align-items-center">
<div class="tp-blog-avata"> <div class="tp-blog-avata">
<img src="img/avata/avata-1.png" alt=""> <img src="img/avata/blog-avata-Publisher.png" alt="">
</div> </div>
<div class="tp-blog-author-info"> <div class="tp-blog-author-info">
<h5>مهدی ربیع نژاد</h5> <h5>مهدی ربیع نژاد</h5>

View File

@@ -2,6 +2,7 @@
@inject HttpClient _hc @inject HttpClient _hc
@layout BlogLayout @layout BlogLayout
@page "/BlogDetails/{ItemID:int}" @page "/BlogDetails/{ItemID:int}"
@inject NavigationManager Navigation
<PageTitle>دانشنامه</PageTitle> <PageTitle>دانشنامه</PageTitle>
<main> <main>
@@ -19,12 +20,15 @@
<div class="col-xl-9 col-lg-9 col-md-9"> <div class="col-xl-9 col-lg-9 col-md-9">
<div class="blog-details-banner z-index-2"> <div class="blog-details-banner z-index-2">
<div class="blog-details-title-box"> <div class="blog-details-title-box">
<span>منابع</span> <div class="tp-blog-meta d-flex align-items-center">
<h3 class="blog-details-banner-title">توسعه برنامه های محور کاربر حریم خصوصی</h3> <div class="tp-blog-category category-color-1"><span>@Item?.Title.Split(':')[0]</span></div><!--!-->
<div class="tp-blog-date"><span>@Item?.Date</span></div>
</div>
<h4 class="blog-details-banner-title">@Item?.Title.Split(':')[1]</h4>
</div> </div>
<div class="tp-blog-author-info-box d-flex align-items-center"> <div class="tp-blog-author-info-box d-flex align-items-center">
<div class="tp-blog-avata"> <div class="tp-blog-avata">
<img src="img/blog/blog-avata-2.png" alt=""> <img src="img/avata/blog-avata-Publisher.png" alt="">
</div> </div>
<div class="tp-blog-author-info"> <div class="tp-blog-author-info">
<h5>مهدی ربیع نژاد</h5> <h5>مهدی ربیع نژاد</h5>
@@ -33,14 +37,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-xl-3 col-lg-3 col-md-3">
<div class="blog-details-social-box z-index-3 text-md-end text-start">
<a href="#"><i class="fab fa-facebook-f"></i></a>
<a href="#"><i class="fab fa-twitter"></i></a>
<a href="#"><i class="fab fa-linkedin-in"></i></a>
<a href="#"><i class="fab fa-vimeo-v"></i></a>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -51,7 +48,7 @@
<div class="row"> <div class="row">
<div class="col-xl-12"> <div class="col-xl-12">
<div class="blog-details-big-img z-index-2"> <div class="blog-details-big-img z-index-2">
<img src="img/blog/blog-details-1.jpg" alt=""> <img src="img/blog/@Item?.Photo" alt="">
</div> </div>
</div> </div>
</div> </div>
@@ -67,17 +64,11 @@
<article> <article>
<div class="postbox__details-title-box pb-30"> <div class="postbox__details-title-box pb-30">
<h4 class="postbox__details-title">تاریخ طراحی وب</h4>
<p> <p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان @Item?.Text
گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و
برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی
می باشد، کتابهای
</p>
<p>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان
گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که
</p> </p>
</div> </div>
@@ -112,62 +103,12 @@
</div> </div>
<div class="sidebar__widget-content"> <div class="sidebar__widget-content">
<div class="sidebar__post rc__post"> <div class="sidebar__post rc__post">
<div class="rc__post mb-20 d-flex"> @foreach (var item in collectionitem)
<div class="rc__post-thumb fix mr-20"> {
<a href="blog-details.html"><img src="img/blog/blog-list-avata-1.jpg" alt=""></a> <ItemBlog___v2 Item="item"/>
</div> }
<div class="rc__post-content">
<h3 class="rc__post-title">
<a href="blog-details.html">
آیا ارتباط تیمی کندتر چیز بدی است؟
</a>
</h3><a href="blog-details.html">
<div class="rc__meta">
<span>4 بهمن. 1402</span>
</div>
</a>
</div><a href="blog-details.html">
</a>
</div><a href="blog-details.html">
</a><div class="rc__post mb-20 d-flex">
<a href="blog-details.html">
</a><div class="rc__post-thumb fix mr-20">
<a href="blog-details.html">
</a><a href="blog-details.html"><img src="img/blog/blog-list-avata-1.jpg" alt=""></a>
</div>
<div class="rc__post-content">
<h3 class="rc__post-title">
<a href="blog-details.html">
آیا ارتباط تیمی کندتر چیز بدی است؟
</a>
</h3><a href="blog-details.html">
<div class="rc__meta">
<span>4 بهمن. 1402</span>
</div>
</a>
</div><a href="blog-details.html">
</a>
</div><a href="blog-details.html">
</a><div class="rc__post d-flex">
<a href="blog-details.html">
</a><div class="rc__post-thumb fix mr-20">
<a href="blog-details.html">
</a><a href="blog-details.html"><img src="img/blog/blog-list-avata-1.jpg" alt=""></a>
</div>
<div class="rc__post-content">
<h3 class="rc__post-title">
<a href="blog-details.html">
آیا ارتباط تیمی کندتر چیز بدی است؟
</a>
</h3><a href="blog-details.html">
<div class="rc__meta">
<span>4 بهمن. 1402</span>
</div>
</a>
</div><a href="blog-details.html">
</a>
</div><a href="blog-details.html">
</a>
</div><a href="blog-details.html"> </div><a href="blog-details.html">
</a> </a>
</div><a href="blog-details.html"> </div><a href="blog-details.html">
@@ -190,4 +131,41 @@
[Parameter] [Parameter]
public int? ItemID { get; set; } public int? ItemID { get; set; }
public List<BlogDto> collectionitem { get; set; } = new List<BlogDto>();
public BlogDtoFull? Item { get; set; }
protected override async Task OnParametersSetAsync()
{
if (ItemID != null)
{
Item = await GetItems();
if (Item==null)
Navigation.NavigateTo("/");
}
else
Navigation.NavigateTo("/");
await base.OnParametersSetAsync();
}
protected override async Task OnInitializedAsync()
{
var request = await _hc.GetFromJsonAsync<PagingDto<BlogDto>>($"Base/LastBlog?PageIndex=1&PageSize=3");
if (request !=null)
collectionitem = request.list;
await base.OnInitializedAsync();
}
}
@functions{
public async Task<BlogDtoFull?> GetItems()
{
var response = await _hc.GetAsync($"Base/GetBlogByID/{ItemID}");
if (!response.IsSuccessStatusCode)
return null;
return await response.Content.ReadFromJsonAsync<BlogDtoFull>();
}
} }

View File

@@ -65,7 +65,7 @@
<div class="row"> <div class="row">
@for (int i = 0; i < request?.list.Count; i++) @for (int i = 0; i < request?.list.Count; i++)
{ {
<ItemBloginHome Item="request.list[i]" /> <ItemBlog Item="request.list[i]" />
} }
</div> </div>
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB