From 4a426c15b6583b93cb34406e7c34094d3fd30acf Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Fri, 10 Mar 2023 19:36:11 +0330 Subject: [PATCH] =?UTF-8?q?docs:=20#369=20special=20privileges=20for=20ran?= =?UTF-8?q?king=20audio=20recitations=20to=20make=20=D9=81=D8=B1=DB=8C?= =?UTF-8?q?=D8=AF=D9=88=D9=86=20=D9=81=D8=B1=D8=AD=E2=80=8C=D8=A7=D9=86?= =?UTF-8?q?=D8=AF=D9=88=D8=B2=20the=20default=20recitation=20for=20Hafiz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMuseum/Models/GanjoorAudio/Recitation.cs | 5 ++++- .../ViewModels/RecitationOrderingViewModel.cs | 5 +++++ RMuseum/RMuseum.xml | 10 ++++++++++ .../Services/Implementation/GanjoorAppUserService.cs | 5 ++++- RMuseum/Services/Implementation/RecitationService.cs | 2 ++ 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/RMuseum/Models/GanjoorAudio/Recitation.cs b/RMuseum/Models/GanjoorAudio/Recitation.cs index 9ab5ef9a..821cc55d 100644 --- a/RMuseum/Models/GanjoorAudio/Recitation.cs +++ b/RMuseum/Models/GanjoorAudio/Recitation.cs @@ -182,6 +182,9 @@ namespace RMuseum.Models.GanjoorAudio /// public string ReviewMsg { get; set; } - + /// + /// initial score for ordering recitations + /// + public int InitialScore { get; set; } } } diff --git a/RMuseum/Models/GanjoorAudio/ViewModels/RecitationOrderingViewModel.cs b/RMuseum/Models/GanjoorAudio/ViewModels/RecitationOrderingViewModel.cs index 9506712f..76ad9241 100644 --- a/RMuseum/Models/GanjoorAudio/ViewModels/RecitationOrderingViewModel.cs +++ b/RMuseum/Models/GanjoorAudio/ViewModels/RecitationOrderingViewModel.cs @@ -15,6 +15,11 @@ /// public int EarlynessAdvantage { get; set; } + /// + /// initial score + /// + public int InitialScore { get; set; } + /// /// upvotes from users other than the owner /// diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml index de9f0629..e41aa436 100644 --- a/RMuseum/RMuseum.xml +++ b/RMuseum/RMuseum.xml @@ -4692,6 +4692,11 @@ Review Message + + + initial score for ordering recitations + + Recitation approved mistake @@ -5149,6 +5154,11 @@ earlyness advatage + + + initial score + + upvotes from users other than the owner diff --git a/RMuseum/Services/Implementation/GanjoorAppUserService.cs b/RMuseum/Services/Implementation/GanjoorAppUserService.cs index 6558127a..8cd39705 100644 --- a/RMuseum/Services/Implementation/GanjoorAppUserService.cs +++ b/RMuseum/Services/Implementation/GanjoorAppUserService.cs @@ -488,6 +488,7 @@ namespace RMuseum.Services.Implementation { RecitationId = recitation.Id, EarlynessAdvantage = recitations.Count - 1 - i, + InitialScore = recitations[i].InitialScore, UpVotes = await context.RecitationUserUpVotes.AsNoTracking().Where(r => r.RecitationId == recitation.Id && r.UserId != recitation.OwnerId) .CountAsync(), Mistakes = await context.RecitationApprovedMistakes.AsNoTracking().Where(m => m.RecitationId == recitation.Id).SumAsync(m => m.NumberOfLinesAffected) @@ -495,10 +496,12 @@ namespace RMuseum.Services.Implementation score.TotalScores = score.EarlynessAdvantage + + + score.InitialScore + score.UpVotes - (5 * score.Mistakes); - //audio order is used as a temporary variable in the following line and soon is get replaced by computed value + //audio order is used as a temporary variable in the following line and soon is getting replaced by computed value recitation.AudioOrder = score.TotalScores; scores.Add(score); diff --git a/RMuseum/Services/Implementation/RecitationService.cs b/RMuseum/Services/Implementation/RecitationService.cs index 642f95dd..1be5f117 100644 --- a/RMuseum/Services/Implementation/RecitationService.cs +++ b/RMuseum/Services/Implementation/RecitationService.cs @@ -2423,6 +2423,7 @@ namespace RMuseum.Services.Implementationa { RecitationId = recitation.Id, EarlynessAdvantage = recitations.Count - 1 - i, + InitialScore = recitations[i].InitialScore, UpVotes = await context.RecitationUserUpVotes.AsNoTracking().Where(r => r.RecitationId == recitation.Id && r.UserId != recitation.OwnerId) .CountAsync(), Mistakes = await context.RecitationApprovedMistakes.AsNoTracking().Where(m => m.RecitationId == recitation.Id).SumAsync(m => m.NumberOfLinesAffected) @@ -2430,6 +2431,7 @@ namespace RMuseum.Services.Implementationa score.TotalScores = score.EarlynessAdvantage + + score.InitialScore + score.UpVotes - (5 * score.Mistakes);