#407 parameter for omitting pages text

This commit is contained in:
Hamid Reza Mohammadi 2023-08-11 11:04:42 +03:30
parent dc0ee360da
commit 6f2b405cf0
4 changed files with 26 additions and 11 deletions

View File

@ -119,13 +119,14 @@ namespace RMuseum.Controllers
/// </summary>
/// <param name="id"></param>
/// <param name="omitBookText"></param>
/// <param name="omitPageText"></param>
/// <returns></returns>
[HttpGet("secure/{id}")]
[Authorize]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PDFBook))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
[ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task<IActionResult> GetUserVisiblePDFBookAsync(int id, bool omitBookText = true)
public async Task<IActionResult> GetUserVisiblePDFBookAsync(int id, bool omitBookText = true, bool omitPageText = false)
{
RServiceResult<PublishStatus[]> v = await _GetUserVisiblePDFBooksStatusSetAsync
(
@ -138,7 +139,7 @@ namespace RMuseum.Controllers
RServiceResult<PDFBook> bookRes = null;
if (visibleItems.Length == 1 && visibleItems[0] == PublishStatus.Published)
{
bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText);
bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText, omitPageText);
if (!string.IsNullOrEmpty(bookRes.ExceptionString))
{
return BadRequest(bookRes.ExceptionString);
@ -148,7 +149,7 @@ namespace RMuseum.Controllers
}
if (bookRes == null)
{
bookRes = await _pdfService.GetPDFBookByIdAsync(id, visibleItems, omitBookText);
bookRes = await _pdfService.GetPDFBookByIdAsync(id, visibleItems, omitBookText, omitPageText);
}
if (!string.IsNullOrEmpty(bookRes.ExceptionString))
@ -209,15 +210,16 @@ namespace RMuseum.Controllers
/// </summary>
/// <param name="id"></param>
/// <param name="omitBookText"></param>
/// <param name="omitPageText"></param>
/// <returns></returns>
[HttpGet("{id}")]
[AllowAnonymous]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PDFBook))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
[ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task<IActionResult> GetPDFBookByIdAsync(int id, bool omitBookText = true)
public async Task<IActionResult> GetPDFBookByIdAsync(int id, bool omitBookText = true, bool omitPageText = false)
{
var bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText);
var bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText, omitPageText);
if (!string.IsNullOrEmpty(bookRes.ExceptionString))
{

View File

@ -2394,20 +2394,22 @@
<param name="paging"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.PDFLibraryController.GetUserVisiblePDFBookAsync(System.Int32,System.Boolean)">
<member name="M:RMuseum.Controllers.PDFLibraryController.GetUserVisiblePDFBookAsync(System.Int32,System.Boolean,System.Boolean)">
<summary>
secure get a pdf book
</summary>
<param name="id"></param>
<param name="omitBookText"></param>
<param name="omitPageText"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.PDFLibraryController.GetPDFBookByIdAsync(System.Int32,System.Boolean)">
<member name="M:RMuseum.Controllers.PDFLibraryController.GetPDFBookByIdAsync(System.Int32,System.Boolean,System.Boolean)">
<summary>
get published PDF Book by id
</summary>
<param name="id"></param>
<param name="omitBookText"></param>
<param name="omitPageText"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.PDFLibraryController.StartImportingLocalPDFAsync(RMuseum.Models.PDFLibrary.ViewModels.NewPDFBookViewModel)">
@ -18412,13 +18414,14 @@
<param name="srcUrl"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.PDFLibraryService.GetPDFBookByIdAsync(System.Int32,RMuseum.Models.Artifact.PublishStatus[],System.Boolean)">
<member name="M:RMuseum.Services.Implementation.PDFLibraryService.GetPDFBookByIdAsync(System.Int32,RMuseum.Models.Artifact.PublishStatus[],System.Boolean,System.Boolean)">
<summary>
get pdf book by id
</summary>
<param name="id"></param>
<param name="statusArray"></param>
<param name="omitBookText"></param>
<param name="omitPageText"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.PDFLibraryService.GetAllPDFBooksAsync(RSecurityBackend.Models.Generic.PagingParameterModel,RMuseum.Models.Artifact.PublishStatus[])">
@ -19664,13 +19667,14 @@
<param name="srcUrl"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IPDFLibraryService.GetPDFBookByIdAsync(System.Int32,RMuseum.Models.Artifact.PublishStatus[],System.Boolean)">
<member name="M:RMuseum.Services.IPDFLibraryService.GetPDFBookByIdAsync(System.Int32,RMuseum.Models.Artifact.PublishStatus[],System.Boolean,System.Boolean)">
<summary>
get pdf book by id
</summary>
<param name="id"></param>
<param name="statusArray"></param>
<param name="omitBookText"></param>
<param name="omitPageText"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IPDFLibraryService.GetAllPDFBooksAsync(RSecurityBackend.Models.Generic.PagingParameterModel,RMuseum.Models.Artifact.PublishStatus[])">

View File

@ -26,8 +26,9 @@ namespace RMuseum.Services
/// <param name="id"></param>
/// <param name="statusArray"></param>
/// <param name="omitBookText"></param>
/// <param name="omitPageText"></param>
/// <returns></returns>
Task<RServiceResult<PDFBook>> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText);
Task<RServiceResult<PDFBook>> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText, bool omitPageText);
/// <summary>
/// get all pdfbooks (including CoverImage info but not pages or tagibutes info)

View File

@ -46,8 +46,9 @@ namespace RMuseum.Services.Implementation
/// <param name="id"></param>
/// <param name="statusArray"></param>
/// <param name="omitBookText"></param>
/// <param name="omitPageText"></param>
/// <returns></returns>
public async Task<RServiceResult<PDFBook>> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText)
public async Task<RServiceResult<PDFBook>> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText, bool omitPageText)
{
try
{
@ -67,6 +68,13 @@ namespace RMuseum.Services.Implementation
{
pdfBook.BookText = "";
}
if(omitPageText)
{
foreach (var page in pdfBook.Pages)
{
page.PageText = "";
}
}
if (pdfBook.Book != null)
{
pdfBook.Book.PDFBooks = await _context.PDFBooks.AsNoTracking()