show only user corrections in correction review

This commit is contained in:
Hamid Reza Mohammadi 2022-12-11 08:47:41 +03:30
parent 8483c90aa1
commit c1a78f0f33
4 changed files with 29 additions and 14 deletions

View File

@ -1292,6 +1292,7 @@ namespace RMuseum.Controllers
/// get next unreviewed correction
/// </summary>
/// <param name="skip"></param>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
[HttpGet]
[Route("poem/correction/next")]
@ -1299,14 +1300,14 @@ namespace RMuseum.Controllers
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(GanjoorPoemCorrectionViewModel))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
[ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task<IActionResult> GetNextUnreviewedCorrection(int skip = 0)
public async Task<IActionResult> GetNextUnreviewedCorrection(int skip = 0, bool onlyUserCorrections = false)
{
RServiceResult<GanjoorPoemCorrectionViewModel> res =
await _ganjoorService.GetNextUnreviewedCorrection(skip);
await _ganjoorService.GetNextUnreviewedCorrection(skip, onlyUserCorrections);
if (!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
var resCount = await _ganjoorService.GetUnreviewedCorrectionCount();
var resCount = await _ganjoorService.GetUnreviewedCorrectionCount(onlyUserCorrections);
if (!string.IsNullOrEmpty(resCount.ExceptionString))
return BadRequest(resCount.ExceptionString);

View File

@ -1269,11 +1269,12 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.GanjoorController.GetNextUnreviewedCorrection(System.Int32)">
<member name="M:RMuseum.Controllers.GanjoorController.GetNextUnreviewedCorrection(System.Int32,System.Boolean)">
<summary>
get next unreviewed correction
</summary>
<param name="skip"></param>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.GanjoorController.ModeratePoemCorrection(RMuseum.Models.Ganjoor.ViewModels.GanjoorPoemCorrectionViewModel)">
@ -12176,17 +12177,19 @@
<param name="poemId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.GetNextUnreviewedCorrection(System.Int32)">
<member name="M:RMuseum.Services.IGanjoorService.GetNextUnreviewedCorrection(System.Int32,System.Boolean)">
<summary>
get next unreviewed correction
</summary>
<param name="skip"></param>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.GetUnreviewedCorrectionCount">
<member name="M:RMuseum.Services.IGanjoorService.GetUnreviewedCorrectionCount(System.Boolean)">
<summary>
unreview correction count
</summary>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.ModeratePoemCorrection(System.Guid,RMuseum.Models.Ganjoor.ViewModels.GanjoorPoemCorrectionViewModel)">
@ -15348,17 +15351,19 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetNextUnreviewedCorrection(System.Int32)">
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetNextUnreviewedCorrection(System.Int32,System.Boolean)">
<summary>
get next unreviewed correction
</summary>
<param name="skip"></param>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetUnreviewedCorrectionCount">
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetUnreviewedCorrectionCount(System.Boolean)">
<summary>
unreview correction count
</summary>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService._GetRandomPoemId(System.Int32,System.Int32)">

View File

@ -248,14 +248,16 @@ namespace RMuseum.Services
/// get next unreviewed correction
/// </summary>
/// <param name="skip"></param>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
Task<RServiceResult<GanjoorPoemCorrectionViewModel>> GetNextUnreviewedCorrection(int skip);
Task<RServiceResult<GanjoorPoemCorrectionViewModel>> GetNextUnreviewedCorrection(int skip, bool onlyUserCorrections);
/// <summary>
/// unreview correction count
/// </summary>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
Task<RServiceResult<int>> GetUnreviewedCorrectionCount();
Task<RServiceResult<int>> GetUnreviewedCorrectionCount(bool onlyUserCorrections);
/// <summary>
/// moderate poem correction

View File

@ -2063,11 +2063,15 @@ namespace RMuseum.Services.Implementation
/// get next unreviewed correction
/// </summary>
/// <param name="skip"></param>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
public async Task<RServiceResult<GanjoorPoemCorrectionViewModel>> GetNextUnreviewedCorrection(int skip)
public async Task<RServiceResult<GanjoorPoemCorrectionViewModel>> GetNextUnreviewedCorrection(int skip, bool onlyUserCorrections)
{
string systemEmail = $"{Configuration.GetSection("Ganjoor")["SystemEmail"]}";
var systemUserId = (Guid)(await _appUserService.FindUserByEmail(systemEmail)).Result.Id;
var dbCorrection = await _context.GanjoorPoemCorrections.AsNoTracking().Include(c => c.VerseOrderText).Include(c => c.User)
.Where(c => c.Reviewed == false)
.Where(c => c.Reviewed == false && (onlyUserCorrections == false || c.UserId != systemUserId))
.OrderBy(c => c.Id)
.Skip(skip)
.FirstOrDefaultAsync();
@ -2108,11 +2112,14 @@ namespace RMuseum.Services.Implementation
/// <summary>
/// unreview correction count
/// </summary>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
public async Task<RServiceResult<int>> GetUnreviewedCorrectionCount()
public async Task<RServiceResult<int>> GetUnreviewedCorrectionCount(bool onlyUserCorrections)
{
string systemEmail = $"{Configuration.GetSection("Ganjoor")["SystemEmail"]}";
var systemUserId = (Guid)(await _appUserService.FindUserByEmail(systemEmail)).Result.Id;
return new RServiceResult<int>(await _context.GanjoorPoemCorrections.AsNoTracking().Include(c => c.VerseOrderText)
.Where(c => c.Reviewed == false)
.Where(c => c.Reviewed == false && (onlyUserCorrections == false || c.UserId != systemUserId))
.CountAsync());
}