#444 GetCategoryWordCountsAsync
This commit is contained in:
parent
7601a48ca7
commit
bd1bdb3c03
@ -4214,6 +4214,32 @@ namespace RMuseum.Controllers
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// category word counts
|
||||
/// </summary>
|
||||
/// <param name="catId"></param>
|
||||
/// <param name="term">can be empty</param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("wordcounts/{catId}")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<GanjoorPoemCompleteViewModel>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
|
||||
public async Task<IActionResult> GetCategoryWordCountsAsync(int catId, string term, [FromQuery] PagingParameterModel paging)
|
||||
{
|
||||
var pagedResult = await _ganjoorService.GetCategoryWordCountsAsync(catId, term, paging);
|
||||
if (!string.IsNullOrEmpty(pagedResult.ExceptionString))
|
||||
return BadRequest(pagedResult.ExceptionString);
|
||||
|
||||
// Paging Header
|
||||
HttpContext.Response.Headers.Append("paging-headers", JsonConvert.SerializeObject(pagedResult.Result.PagingMeta));
|
||||
|
||||
return Ok(pagedResult.Result.Items);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -2220,6 +2220,15 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.GetCategoryWordCountsAsync(System.Int32,System.String,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
category word counts
|
||||
</summary>
|
||||
<param name="catId"></param>
|
||||
<param name="term">can be empty</param>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RMuseum.Controllers.GanjoorController.ReadOnlyMode">
|
||||
<summary>
|
||||
readonly mode
|
||||
@ -16565,11 +16574,12 @@
|
||||
fill CategoryWordCounts.RowNmbrInCat
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.CategoryWordCountsAsync(System.Int32,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<member name="M:RMuseum.Services.IGanjoorService.GetCategoryWordCountsAsync(System.Int32,System.String,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
catgoru words count
|
||||
category words count
|
||||
</summary>
|
||||
<param name="catId"></param>
|
||||
<param name="term"></param>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
@ -18127,11 +18137,12 @@
|
||||
<param name="q"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.CategoryWordCountsAsync(System.Int32,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetCategoryWordCountsAsync(System.Int32,System.String,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
catgoru words count
|
||||
category word counts
|
||||
</summary>
|
||||
<param name="catId"></param>
|
||||
<param name="term"></param>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
|
||||
@ -1447,18 +1447,10 @@ namespace RMuseum.Services
|
||||
/// category words count
|
||||
/// </summary>
|
||||
/// <param name="catId"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>> CategoryWordCountsAsync(int catId, PagingParameterModel paging);
|
||||
|
||||
/// <summary>
|
||||
/// search in category words count
|
||||
/// </summary>
|
||||
/// <param name="catId"></param>
|
||||
/// <param name="term"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>> SearchInCategoryWordCountsAsync(int catId, string term, PagingParameterModel paging);
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>> GetCategoryWordCountsAsync(int catId, string term, PagingParameterModel paging);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,38 +20,17 @@ namespace RMuseum.Services.Implementation
|
||||
public partial class GanjoorService : IGanjoorService
|
||||
{
|
||||
/// <summary>
|
||||
/// search in category words count
|
||||
/// category word counts
|
||||
/// </summary>
|
||||
/// <param name="catId"></param>
|
||||
/// <param name="term"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>> SearchInCategoryWordCountsAsync(int catId, string term, PagingParameterModel paging)
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>> GetCategoryWordCountsAsync(int catId, string term, PagingParameterModel paging)
|
||||
{
|
||||
var source =
|
||||
from cwd in _context.CategoryWordCounts
|
||||
where cwd.CatId == catId && cwd.Word.Contains(term)
|
||||
orderby cwd.RowNmbrInCat
|
||||
select
|
||||
cwd;
|
||||
|
||||
(PaginationMetadata PagingMeta, CategoryWordCount[] Items) paginatedResult =
|
||||
await QueryablePaginator<CategoryWordCount>.Paginate(source, paging);
|
||||
|
||||
return new RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>(paginatedResult);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// category word counts
|
||||
/// </summary>
|
||||
/// <param name="catId"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, CategoryWordCount[] Items)>> CategoryWordCountsAsync(int catId, PagingParameterModel paging)
|
||||
{
|
||||
var source =
|
||||
from cwd in _context.CategoryWordCounts
|
||||
where cwd.CatId == catId
|
||||
where cwd.CatId == catId && (string.IsNullOrEmpty(term) || cwd.Word.Contains(term) )
|
||||
orderby cwd.RowNmbrInCat
|
||||
select
|
||||
cwd;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user