diff options
| author | transtrike <transtrike@gmail.com> | 2021-03-15 09:27:12 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-03-15 09:27:12 +0200 |
| commit | 0161be09312fde634865f110504884119a617d5c (patch) | |
| tree | 0fa68366edcb024c054f370ecf90f5b66282aae5 /src/Data/DevHive.Data/Repositories | |
| parent | e3b5757b5a5db2f7874b0924cdd4a22b1a9e1ee2 (diff) | |
| parent | ac82c773a5ec43c6a59d3d0b7665b67ac9e6bdde (diff) | |
| download | DevHive-0161be09312fde634865f110504884119a617d5c.tar DevHive-0161be09312fde634865f110504884119a617d5c.tar.gz DevHive-0161be09312fde634865f110504884119a617d5c.zip | |
Fixed to new() where possible and readable
Diffstat (limited to 'src/Data/DevHive.Data/Repositories')
| -rw-r--r-- | src/Data/DevHive.Data/Repositories/RatingRepository.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Data/DevHive.Data/Repositories/RatingRepository.cs b/src/Data/DevHive.Data/Repositories/RatingRepository.cs index 9bb2368..c35f6d5 100644 --- a/src/Data/DevHive.Data/Repositories/RatingRepository.cs +++ b/src/Data/DevHive.Data/Repositories/RatingRepository.cs @@ -27,23 +27,49 @@ namespace DevHive.Data.Repositories .Include(x => x.Post) .FirstOrDefaultAsync(x => x.Id == id); } + /// <summary> + /// Gets all the ratings for a psot. + /// </summary> + /// <param name="postId">Id of the post.</param> + /// <returns></returns> public async Task<List<Rating>> GetRatingsByPostId(Guid postId) { return await this._context.Rating + .Include(x => x.User) + .Include(x => x.Post) .Where(x => x.Post.Id == postId).ToListAsync(); } + /// <summary> + /// Checks if a user rated a given post. In DevHive every user has one or no rating for every post. + /// </summary> + /// <param name="userId">Id of the user.</param> + /// <param name="postId">Id of the psot.</param> + /// <returns>True if the user has already rated the post and false if he hasn't.</returns> public async Task<bool> UserRatedPost(Guid userId, Guid postId) { return await this._context.Rating .Where(x => x.Post.Id == postId) .AnyAsync(x => x.User.Id == userId); } + /// <summary> + /// Gets a rating by the post to which the rating corresponds and the user who created it. + /// </summary> + /// <param name="userId">Id of the user.</param> + /// <param name="postId">Id of the post.</param> + /// <returns>Rating for the given post by the given user.</returns> public async Task<Rating> GetRatingByUserAndPostId(Guid userId, Guid postId) { return await this._context.Rating + .Include(x => x.User) + .Include(x => x.Post) .FirstOrDefaultAsync(x => x.Post.Id == postId && x.User.Id == userId); } + /// <summary> + /// Checks if a given rating already exist + /// </summary> + /// <param name="id">Id of the rating</param> + /// <returns>True if the rating exists and false if it does not.</returns> public async Task<bool> DoesRatingExist(Guid id) { return await this._context.Rating |
