diff --git a/RMuseum/Controllers/ContributionStatsController.cs b/RMuseum/Controllers/ContributionStatsController.cs index 6a8248b0..99335f4a 100644 --- a/RMuseum/Controllers/ContributionStatsController.cs +++ b/RMuseum/Controllers/ContributionStatsController.cs @@ -57,6 +57,7 @@ namespace RMuseum.Controllers /// pinterestlinks /// poetspeclines /// poetpix + /// usernotes /// /// /// @@ -160,6 +161,14 @@ namespace RMuseum.Controllers pagedResult = res.Result; } break; + case "usernotes": + { + var res = await _service.GetApprovedUserNotesGroupedByDateAsync(paging, userId); + if (!string.IsNullOrEmpty(res.ExceptionString)) + return BadRequest(res.ExceptionString); + pagedResult = res.Result; + } + break; default: return BadRequest($"Invalid value for the paramater: dataType = {dataType}"); } @@ -185,6 +194,7 @@ namespace RMuseum.Controllers /// pinterestlinks /// poetspeclines /// poetpix + /// usernotes /// /// /// @@ -289,6 +299,14 @@ namespace RMuseum.Controllers pagedResult = res.Result; } break; + case "usernotes": + { + var res = await _service.GetApprovedUserNotesGroupedByUserAsync(paging, day, userId); + if (!string.IsNullOrEmpty(res.ExceptionString)) + return BadRequest(res.ExceptionString); + pagedResult = res.Result; + } + break; default: return BadRequest($"Invalid value for the paramater: dataType = {dataType}"); } @@ -315,6 +333,7 @@ namespace RMuseum.Controllers /// pinterestlinks /// poetspeclines /// poetpix + /// usernotes /// /// [HttpGet("{dataType}/summary")] @@ -415,6 +434,14 @@ namespace RMuseum.Controllers result = res.Result; } break; + case "usernotes": + { + var res = await _service.GetApprovedUserNotesSummedUpStatsAsync(); + if (!string.IsNullOrEmpty(res.ExceptionString)) + return BadRequest(res.ExceptionString); + result = res.Result; + } + break; default: return BadRequest($"Invalid value for the paramater: dataType = {dataType}"); } diff --git a/RMuseum/Models/Ganjoor/ViewModels/UserContributionsViewModel.cs b/RMuseum/Models/Ganjoor/ViewModels/UserContributionsViewModel.cs index 8f478e12..7217f973 100644 --- a/RMuseum/Models/Ganjoor/ViewModels/UserContributionsViewModel.cs +++ b/RMuseum/Models/Ganjoor/ViewModels/UserContributionsViewModel.cs @@ -66,5 +66,10 @@ namespace RMuseum.Models.Ganjoor.ViewModels /// poet pictures /// public int PoetPictures { get; set; } + + /// + /// public user notes + /// + public int PublicUserNotes { get; set; } } } diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml index faa29c3e..a9b6d816 100644 --- a/RMuseum/RMuseum.xml +++ b/RMuseum/RMuseum.xml @@ -785,6 +785,7 @@ pinterestlinks poetspeclines poetpix + usernotes @@ -806,6 +807,7 @@ pinterestlinks poetspeclines poetpix + usernotes @@ -828,6 +830,7 @@ pinterestlinks poetspeclines poetpix + usernotes @@ -13520,6 +13523,11 @@ poet pictures + + + public user notes + + history of suggested songs by a user @@ -16300,6 +16308,29 @@ + + + approved user notes + + + + + + + + approved user notes grouped by user + + + + + + + + + summed up stats of approved user notes + + + donation service @@ -19466,6 +19497,29 @@ + + + approved user notes + + + + + + + + approved user notes grouped by user + + + + + + + + + summed up stats of approved user notes + + + Database Context diff --git a/RMuseum/Services/Implementation/ContributionStatsService.cs b/RMuseum/Services/Implementation/ContributionStatsService.cs index d4033e5a..f2bba7a6 100644 --- a/RMuseum/Services/Implementation/ContributionStatsService.cs +++ b/RMuseum/Services/Implementation/ContributionStatsService.cs @@ -41,6 +41,7 @@ namespace RMuseum.Services.Implementation PinterestLinks = await _context.PinterestLinks.Where(c => c.HumanReviewed && c.ReviewResult == Models.GanjoorIntegration.ReviewResult.Approved && c.SuggestedById == userId).CountAsync(), PoetSpecLines = await _context.GanjoorPoetSuggestedSpecLines.Where(c => c.Published && c.SuggestedById == userId).CountAsync(), PoetPictures = await _context.GanjoorPoetSuggestedPictures.Where(c => c.Published && c.SuggestedById == userId).CountAsync(), + PublicUserNotes = await _context.UserNotes.Where(c => c.Status == Models.Artifact.PublishStatus.Published && c.NoteType == Models.Note.RNoteType.Public && c.RAppUserId == userId).CountAsync() } );