#467 adding methods to interfaces

This commit is contained in:
Hamid Reza Mohammadi 2025-02-14 17:01:44 +03:30
parent 5b47654da8
commit 59c604560c
3 changed files with 132 additions and 4 deletions

View File

@ -17411,6 +17411,67 @@
<param name="startFrom"></param>
<param name="count"></param>
</member>
<member name="M:RMuseum.Services.IGanjoorService.SuggestCatCorrectionAsync(RMuseum.Models.Ganjoor.ViewModels.GanjoorCatCorrectionViewModel)">
<summary>
send cat correction
</summary>
<param name="correction"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.DeleteCatCorrectionsAsync(System.Guid,System.Int32)">
<summary>
delete unreviewed user corrections for a cat
</summary>
<param name="userId"></param>
<param name="catId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.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="M:RMuseum.Services.IGanjoorService.GetUserCatCorrectionsAsync(System.Guid,RSecurityBackend.Models.Generic.PagingParameterModel)">
<summary>
get user or all corrections for categories
</summary>
<param name="userId">if sent empty returns all corrections</param>
<param name="paging"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.GetCatEffectiveCorrectionsAsync(System.Int32,RSecurityBackend.Models.Generic.PagingParameterModel)">
<summary>
cat effectinve corrections
</summary>
<param name="catId"></param>
<param name="paging"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.GetCatCorrectionByIdAsync(System.Int32)">
<summary>
get cat correction by id
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.GetNextUnreviewedCatCorrectionAsync(System.Int32,System.Boolean)">
<summary>
get next unreviewed cat correction
</summary>
<param name="skip"></param>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.GetUnreviewedCatCorrectionCountAsync(System.Boolean)">
<summary>
unreviewed cat corrections count
</summary>
<param name="onlyUserCorrections"></param>
<returns></returns>
</member>
<member name="T:RMuseum.Services.IGanjoorTranslationService">
<summary>
translation service implementation
@ -20608,7 +20669,7 @@
last unreviewed user correction for a cat
</summary>
<param name="userId"></param>
<param name="catID"></param>
<param name="catId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetUserCatCorrectionsAsync(System.Guid,RSecurityBackend.Models.Generic.PagingParameterModel)">

View File

@ -1550,5 +1550,72 @@ namespace RMuseum.Services
/// <param name="count"></param>
void OpenAIStartFillingGeoLocations(int startFrom, int count);
/// <summary>
/// send cat correction
/// </summary>
/// <param name="correction"></param>
/// <returns></returns>
Task<RServiceResult<GanjoorCatCorrectionViewModel>> SuggestCatCorrectionAsync(GanjoorCatCorrectionViewModel correction);
/// <summary>
/// delete unreviewed user corrections for a cat
/// </summary>
/// <param name="userId"></param>
/// <param name="catId"></param>
/// <returns></returns>
Task<RServiceResult<bool>> DeleteCatCorrectionsAsync(Guid userId, int catId);
/// <summary>
/// last unreviewed user correction for a cat
/// </summary>
/// <param name="userId"></param>
/// <param name="catId"></param>
/// <returns></returns>
Task<RServiceResult<GanjoorCatCorrectionViewModel>> GetLastUnreviewedUserCorrectionForCatAsync(Guid userId, int catId);
/// <summary>
/// get user or all corrections for categories
/// </summary>
/// <param name="userId">if sent empty returns all corrections</param>
/// <param name="paging"></param>
/// <returns></returns>
Task<RServiceResult<(PaginationMetadata PagingMeta, GanjoorCatCorrectionViewModel[] Items)>> GetUserCatCorrectionsAsync(Guid userId, PagingParameterModel paging);
/// <summary>
/// cat effectinve corrections
/// </summary>
/// <param name="catId"></param>
/// <param name="paging"></param>
/// <returns></returns>
Task<RServiceResult<(PaginationMetadata PagingMeta, GanjoorCatCorrectionViewModel[] Items)>> GetCatEffectiveCorrectionsAsync(int catId, PagingParameterModel paging);
/// <summary>
/// get cat correction by id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<GanjoorCatCorrectionViewModel>> GetCatCorrectionByIdAsync(int id);
/// <summary>
/// get next unreviewed cat correction
/// </summary>
/// <param name="skip"></param>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
Task<RServiceResult<GanjoorCatCorrectionViewModel>> GetNextUnreviewedCatCorrectionAsync(int skip, bool onlyUserCorrections);
/// <summary>
/// unreviewed cat corrections count
/// </summary>
/// <param name="onlyUserCorrections"></param>
/// <returns></returns>
Task<RServiceResult<int>> GetUnreviewedCatCorrectionCountAsync(bool onlyUserCorrections);
}
}

View File

@ -3939,12 +3939,12 @@ namespace RMuseum.Services.Implementation
/// last unreviewed user correction for a cat
/// </summary>
/// <param name="userId"></param>
/// <param name="catID"></param>
/// <param name="catId"></param>
/// <returns></returns>
public async Task<RServiceResult<GanjoorCatCorrectionViewModel>> GetLastUnreviewedUserCorrectionForCatAsync(Guid userId, int catID)
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)
.Where(c => c.UserId == userId && c.CatId == catId && c.Reviewed == false)
.OrderByDescending(c => c.Id)
.FirstOrDefaultAsync();