public void UnMapReviewTest() { L_Review sampleReviewL = new L_Review { ReviewId = 100, UserId = 100, GameId = 100, Rating = 5, ReviewBody = "Test Review.", Username = "******", GameName = "Test Game Name." }; D_Review sampleReviewD = new D_Review { ReviewId = 100, UserId = 100, GameId = 100, Rating = 5, ReviewBody = "Test Review." }; D_Review resultReviewD = Mapper.UnMapReview(sampleReviewL); Assert.True(compareReviewD(resultReviewD, sampleReviewD)); }
public void MapReviewTest() { D_Review sampleReviewD = new D_Review { ReviewId = 100, UserId = 100, GameId = 100, Rating = 5, ReviewBody = "Test Review.", User = new D_User { Username = "******" }, Game = new D_Game { GameName = "Test Game Name." } }; L_Review sampleReviewL = new L_Review { ReviewId = 100, UserId = 100, Username = "******", GameId = 100, GameName = "Test Game Name.", Rating = 5, ReviewBody = "Test Review." }; L_Review resultReviewL = Mapper.MapReview(sampleReviewD); Assert.True(compareReviewL(resultReviewL, sampleReviewL)); }
/// <summary> Fetches one review related to its id. /// <param name="reviewId"> int (review id) </param> /// <returns> A single review related to input id </returns> /// </summary> public async Task <L_Review> GetReviewById(int reviewId) { _logger.LogInformation($"Retrieving review with id: {reviewId}"); D_Review returnReview = await _dbContext.Reviews .Include(p => p.User) .Include(p => p.Game) .FirstOrDefaultAsync(p => p.ReviewId == reviewId); return(Mapper.MapReview(returnReview)); }
// ! XXXXXXXXXXXXXXXXXXXXXXXXXXXXX // ! -------- REVIEW ----------- // ! XXXXXXXXXXXXXXXXXXXXXXXXXXXXX public static L_Review MapReview(D_Review review) { return(new L_Review { ReviewId = review.ReviewId, UserId = review.UserId, Username = review.User.Username, GameId = review.GameId, GameName = review.Game.GameName, Rating = review.Rating, ReviewBody = review.ReviewBody }); }
/// <summary> Changes all review related to a particular existing review. /// <param name="reviewData"> object L_Review (name of object) - This is a logic object of type review. </param> /// <returns> void </returns> /// </summary> public async Task UpdateReview(L_Review inputReview) { _logger.LogInformation($"Updating review with ID {inputReview.ReviewId}"); D_Review currentEntity = await _dbContext.Reviews .Include(p => p.User) .Include(p => p.Game) .FirstOrDefaultAsync(p => p.ReviewId == inputReview.ReviewId); D_Review newEntity = Mapper.UnMapReview(inputReview); _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); Save(); }
private bool compareReviewD(D_Review x, D_Review y) { if ( x.GameId != y.GameId || x.Rating != y.Rating || x.ReviewBody != y.ReviewBody || x.ReviewId != y.ReviewId || x.UserId != y.UserId ) { return(false); } return(true); }
/// <summary> Deletes one review related to a review id. /// <param name="reviewId"> int (review id) </param> /// <returns> void </returns> /// </summary> public async Task DeleteReviewById(int reviewId) { _logger.LogInformation($"Deleting review with ID {reviewId}"); D_Review entity = await _dbContext.Reviews .Include(p => p.User) .Include(p => p.Game) .FirstOrDefaultAsync(p => p.ReviewId == reviewId); if (entity == null) { _logger.LogInformation($"Review ID {reviewId} not found to delete! : Returning."); return; } _dbContext.Remove(entity); Save(); }
/// <summary> Adds a new review to the database. /// <param name="inputReview"> object L_Review (name of object) - This is a logic object of type review. </param> /// <returns> void </returns> /// </summary> public void AddReview(L_Review inputReview) { if (inputReview.ReviewId != 0) { _logger.LogWarning($"Review to be added has an ID ({inputReview.ReviewId}) already!"); throw new ArgumentException("Id already exists when trying to add a new game!", $"{inputReview.ReviewId}"); } _logger.LogInformation("Adding review."); D_Review entity = Mapper.UnMapReview(inputReview); entity.ReviewId = 0; _dbContext.Add(entity); Save(); }