#467 GetLastUnreviewedUserCorrectionForCatAsync

This commit is contained in:
Hamid Reza Mohammadi 2025-02-14 16:44:17 +03:30
parent 3f65ff1af5
commit 4fe58c5822
3 changed files with 48 additions and 11 deletions

View File

@ -14,11 +14,6 @@ namespace RMuseum.Models.Ganjoor.ViewModels
/// </summary>
public int CatId { get; set; }
/// <summary>
/// category
/// </summary>
public GanjoorCat Cat { get; set; }
/// <summary>
/// additional description or note
/// </summary>

View File

@ -10973,11 +10973,6 @@
category id
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorCatCorrectionViewModel.Cat">
<summary>
category
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorCatCorrectionViewModel.Description">
<summary>
additional description or note
@ -20608,6 +20603,14 @@
<param name="catId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetLastUnreviewedUserCorrectionForCatAsync(System.Guid,System.Int32)">
<summary>
last unreviewed user correction for a cat
</summary>
<param name="userId"></param>
<param name="catID"></param>
<returns></returns>
</member>
<member name="P:RMuseum.Services.Implementation.GanjoorService.AggressiveCacheEnabled">
<summary>
aggressive cache

View File

@ -2138,7 +2138,7 @@ namespace RMuseum.Services.Implementation
PoemFormatReviewResult = dbCorrection.PoemFormatReviewResult,
HideMyName = dbCorrection.HideMyName,
}
); ;
);
}
/// <summary>
@ -3935,6 +3935,45 @@ namespace RMuseum.Services.Implementation
return new RServiceResult<bool>(true);
}
/// <summary>
/// last unreviewed user correction for a cat
/// </summary>
/// <param name="userId"></param>
/// <param name="catID"></param>
/// <returns></returns>
public async Task<RServiceResult<GanjoorCatCorrectionViewModel>> GetLastUnreviewedUserCorrectionForCatAsync(Guid userId, int catID)
{
var dbCorrection = await _context.GanjoorCatCorrections.AsNoTracking().Include(c => c.User)
.Where(c => c.UserId == userId && c.CatId == catID && c.Reviewed == false)
.OrderByDescending(c => c.Id)
.FirstOrDefaultAsync();
if (dbCorrection == null)
return new RServiceResult<GanjoorCatCorrectionViewModel>(null);
return new RServiceResult<GanjoorCatCorrectionViewModel>
(
new GanjoorCatCorrectionViewModel()
{
Id = dbCorrection.Id,
CatId = dbCorrection.CatId,
UserId = dbCorrection.UserId,
Description = dbCorrection.Description,
DescriptionHtml = dbCorrection.DescriptionHtml,
OriginalDescription = dbCorrection.OriginalDescription,
OriginalDescriptionHtml = dbCorrection.OriginalDescriptionHtml,
Note = dbCorrection.Note,
Date = dbCorrection.Date,
Reviewed = dbCorrection.Reviewed,
Result = dbCorrection.Result,
ReviewNote = dbCorrection.ReviewNote,
ReviewDate = dbCorrection.ReviewDate,
UserNickname = dbCorrection.HideMyName && dbCorrection.Reviewed ? "" : string.IsNullOrEmpty(dbCorrection.User.NickName) ? dbCorrection.User.Id.ToString() : dbCorrection.User.NickName,
HideMyName = dbCorrection.HideMyName,
}
);
}
/// <summary>
/// aggressive cache