#241 adding first time filler API

This commit is contained in:
Hamid Reza Mohammadi 2021-11-14 18:58:48 +03:30
parent 49efc1ab86
commit d43c1be8f0
4 changed files with 54 additions and 4 deletions

View File

@ -2147,6 +2147,24 @@ namespace RMuseum.Controllers
return Ok(res.Result.Bookmarks);
}
/// <summary>
/// start generating related poems info
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("generaterelatedpoemsinfo")]
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ImportOperationShortName)]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
public IActionResult StartGeneratingRelatedPoemsInfo()
{
RServiceResult<bool> res =
_ganjoorService.StartGeneratingRelatedPoemsInfo();
if (res.Result)
return Ok();
return BadRequest(res.ExceptionString);
}
/// <summary>
/// readonly mode
/// </summary>

View File

@ -1287,6 +1287,12 @@
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.GanjoorController.StartGeneratingRelatedPoemsInfo">
<summary>
start generating related poems info
</summary>
<returns></returns>
</member>
<member name="P:RMuseum.Controllers.GanjoorController.ReadOnlyMode">
<summary>
readonly mode
@ -9453,6 +9459,12 @@
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.StartGeneratingRelatedPoemsInfo">
<summary>
start generating related poems info
</summary>
<returns></returns>
</member>
<member name="T:RMuseum.Services.IGanjoorTranslationService">
<summary>
translation service implementation
@ -10781,6 +10793,12 @@
<param name="poemHtml"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.StartGeneratingRelatedPoemsInfo">
<summary>
start generating related poems info
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.StartBuildingSitemap">
<summary>
build sitemap

View File

@ -652,5 +652,11 @@ namespace RMuseum.Services
/// </summary>
/// <returns></returns>
Task<RServiceResult<GanjoorCenturyViewModel[]>> GetCenturiesAsync();
/// <summary>
/// start generating related poems info
/// </summary>
/// <returns></returns>
RServiceResult<bool> StartGeneratingRelatedPoemsInfo();
}
}

View File

@ -60,15 +60,18 @@ namespace RMuseum.Services.Implementation
};
ganjoorCachedRelatedPoems.Add(newRelatedPoem);
prePoetId = relatedPoem.Cat.PoetId;
}
else
{
ganjoorCachedRelatedPoems[ganjoorCachedRelatedPoems.Count - 1].PoetMorePoemsLikeThisCount++;
}
}
context.GanjoorCachedRelatedPoems.AddRange(ganjoorCachedRelatedPoems);
if(ganjoorCachedRelatedPoems.Count > 0)
{
context.GanjoorCachedRelatedPoems.AddRange(ganjoorCachedRelatedPoems);
}
}
/// <summary>
@ -103,6 +106,11 @@ namespace RMuseum.Services.Implementation
return poemHtml;
}
/// <summary>
/// start generating related poems info
/// </summary>
/// <returns></returns>
public RServiceResult<bool> StartGeneratingRelatedPoemsInfo()
{
try
@ -121,7 +129,7 @@ namespace RMuseum.Services.Implementation
await jobProgressServiceEF.UpdateJob(job.Id, 0, $"Query");
var poemIds = await context.GanjoorPoems.AsNoTracking().Where(p => string.IsNullOrEmpty(p.RhymeLetters) && p.GanjoorMetreId != null).Select(p => p.Id).ToListAsync();
var poemIds = await context.GanjoorPoems.AsNoTracking().Where(p => !string.IsNullOrEmpty(p.RhymeLetters) && p.GanjoorMetreId != null).Select(p => p.Id).ToListAsync();
await jobProgressServiceEF.UpdateJob(job.Id, 0, $"Updating Related Poems");
int percent = 0;