docs: #319 API for effective section corrections
This commit is contained in:
parent
f0a12ef8b8
commit
583b7c86ed
@ -3072,6 +3072,32 @@ namespace RMuseum.Controllers
|
||||
return Ok(res.Result.Items);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// effective corrections for section
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
[HttpGet]
|
||||
[Route("section/{id}/corrections/effective")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<GanjoorPoemSectionCorrectionViewModel>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
||||
public async Task<IActionResult> GetSectionEffectiveCorrections(int id, [FromQuery] PagingParameterModel paging)
|
||||
{
|
||||
var res =
|
||||
await _ganjoorService.GetSectionEffectiveCorrections(id, paging);
|
||||
|
||||
// Paging Header
|
||||
HttpContext.Response.Headers.Add("paging-headers", JsonConvert.SerializeObject(res.Result.PagingMeta));
|
||||
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok(res.Result.Items);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// readonly mode
|
||||
|
||||
@ -1784,6 +1784,14 @@
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.GetSectionEffectiveCorrections(System.Int32,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
effective corrections for section
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RMuseum.Controllers.GanjoorController.ReadOnlyMode">
|
||||
<summary>
|
||||
readonly mode
|
||||
@ -12476,6 +12484,14 @@
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.GetSectionEffectiveCorrections(System.Int32,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
effective corrections for section
|
||||
</summary>
|
||||
<param name="sectionId"></param>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IGanjoorTranslationService">
|
||||
<summary>
|
||||
translation service implementation
|
||||
@ -14048,6 +14064,14 @@
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetSectionEffectiveCorrections(System.Int32,RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
effective corrections for section
|
||||
</summary>
|
||||
<param name="sectionId"></param>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetLastUnreviewedUserCorrectionForSection(System.Guid,System.Int32)">
|
||||
<summary>
|
||||
last unreviewed user correction for a section
|
||||
|
||||
@ -1015,5 +1015,13 @@ namespace RMuseum.Services
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<GanjoorPoemSectionCorrectionViewModel>> GetSectionCorrectionById(int id);
|
||||
|
||||
/// <summary>
|
||||
/// effective corrections for section
|
||||
/// </summary>
|
||||
/// <param name="sectionId"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, GanjoorPoemSectionCorrectionViewModel[] Items)>> GetSectionEffectiveCorrections(int sectionId, PagingParameterModel paging);
|
||||
}
|
||||
}
|
||||
|
||||
@ -492,6 +492,77 @@ namespace RMuseum.Services.Implementation
|
||||
((dbPaginatedResult.PagingMeta, list.ToArray()));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// effective corrections for section
|
||||
/// </summary>
|
||||
/// <param name="sectionId"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, GanjoorPoemSectionCorrectionViewModel[] Items)>> GetSectionEffectiveCorrections(int sectionId, PagingParameterModel paging)
|
||||
{
|
||||
var source = from dbCorrection in
|
||||
_context.GanjoorPoemSectionCorrections.AsNoTracking()
|
||||
where
|
||||
dbCorrection.SectionId == sectionId
|
||||
&&
|
||||
dbCorrection.Reviewed == true
|
||||
&&
|
||||
(
|
||||
dbCorrection.BreakFromVerse1VOrderResult == CorrectionReviewResult.Approved
|
||||
||
|
||||
dbCorrection.BreakFromVerse2VOrderResult == CorrectionReviewResult.Approved
|
||||
||
|
||||
dbCorrection.BreakFromVerse3VOrderResult == CorrectionReviewResult.Approved
|
||||
||
|
||||
dbCorrection.BreakFromVerse4VOrderResult == CorrectionReviewResult.Approved
|
||||
||
|
||||
dbCorrection.RhythmResult == CorrectionReviewResult.Approved
|
||||
)
|
||||
orderby dbCorrection.Id descending
|
||||
select
|
||||
dbCorrection;
|
||||
|
||||
(PaginationMetadata PagingMeta, GanjoorPoemSectionCorrection[] Items) dbPaginatedResult =
|
||||
await QueryablePaginator<GanjoorPoemSectionCorrection>.Paginate(source, paging);
|
||||
|
||||
List<GanjoorPoemSectionCorrectionViewModel> list = new List<GanjoorPoemSectionCorrectionViewModel>();
|
||||
foreach (var dbCorrection in dbPaginatedResult.Items)
|
||||
{
|
||||
list.Add
|
||||
(
|
||||
new GanjoorPoemSectionCorrectionViewModel()
|
||||
{
|
||||
Id = dbCorrection.Id,
|
||||
SectionId = dbCorrection.SectionId,
|
||||
UserId = dbCorrection.UserId,
|
||||
Rhythm = dbCorrection.Rhythm,
|
||||
OriginalRhythm = dbCorrection.OriginalRhythm,
|
||||
RhythmResult = dbCorrection.RhythmResult,
|
||||
Rhythm2 = dbCorrection.Rhythm2,
|
||||
OriginalRhythm2 = dbCorrection.OriginalRhythm2,
|
||||
RhythmResult2 = dbCorrection.RhythmResult2,
|
||||
BreakFromVerse1VOrder = dbCorrection.BreakFromVerse1VOrder,
|
||||
BreakFromVerse1VOrderResult = dbCorrection.BreakFromVerse1VOrderResult,
|
||||
BreakFromVerse2VOrder = dbCorrection.BreakFromVerse2VOrder,
|
||||
BreakFromVerse2VOrderResult = dbCorrection.BreakFromVerse2VOrderResult,
|
||||
BreakFromVerse3VOrder = dbCorrection.BreakFromVerse3VOrder,
|
||||
BreakFromVerse3VOrderResult = dbCorrection.BreakFromVerse3VOrderResult,
|
||||
BreakFromVerse4VOrder = dbCorrection.BreakFromVerse4VOrder,
|
||||
BreakFromVerse4VOrderResult = dbCorrection.BreakFromVerse4VOrderResult,
|
||||
Note = dbCorrection.Note,
|
||||
Date = dbCorrection.Date,
|
||||
Reviewed = dbCorrection.Reviewed,
|
||||
ReviewNote = dbCorrection.ReviewNote,
|
||||
ReviewDate = dbCorrection.ReviewDate,
|
||||
UserNickname = string.IsNullOrEmpty(dbCorrection.User.NickName) ? dbCorrection.User.Id.ToString() : dbCorrection.User.NickName
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return new RServiceResult<(PaginationMetadata, GanjoorPoemSectionCorrectionViewModel[])>
|
||||
((dbPaginatedResult.PagingMeta, list.ToArray()));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// last unreviewed user correction for a section
|
||||
|
||||
Loading…
Reference in New Issue
Block a user