...
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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>
|
||||||
|
25
TaxPayerFull/Layout/ItemBlog - v2.razor
Normal file
25
TaxPayerFull/Layout/ItemBlog - v2.razor
Normal 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; }
|
||||||
|
|
||||||
|
}
|
@@ -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>
|
@@ -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">
|
||||||
@@ -189,5 +130,42 @@
|
|||||||
@code {
|
@code {
|
||||||
[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>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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">
|
||||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
BIN
TaxPayerFull/wwwroot/img/blog/blog-avata-Publisher.png
Normal file
BIN
TaxPayerFull/wwwroot/img/blog/blog-avata-Publisher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
Reference in New Issue
Block a user