public async Task <IActionResult> AddRating(Guid recipeId, [FromBody] SaveRatingDto ratingDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _service.CreateRatingAsync(ratingDto, recipeId, UserId); return(CreatedAtRoute("GetRating", new { recipeId, ratingId = result.Id }, result)); }
public async Task <IActionResult> UpdateRating(Guid recipeId, Guid ratingId, [FromBody] SaveRatingDto ratingDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _service.UpdateRatingAsync(ratingDto, recipeId, ratingId); return(Ok()); }
public async Task <RatingDto> CreateRatingAsync(SaveRatingDto saveRatingDto, Guid recipeId, Guid userId) { if (!await _recipeRepository.ExistAsync(a => a.Id == recipeId)) { throw new Exception("Nie ma takiego Przepisu"); } var rating = _mapper.Map <SaveRatingDto, Rating>(saveRatingDto); rating.UserId = userId; rating.RecipeId = recipeId; await _ratingRepository.AddAsyn(rating); return(await GetRatingAsync(rating.RecipeId, rating.Id)); }
public async Task UpdateRatingAsync(SaveRatingDto saveRatingDto, Guid recipeId, Guid ratingId) { if (!await _recipeRepository.ExistAsync(a => a.Id == recipeId)) { throw new Exception("Nie ma takiego Przepisu"); } if (!await _ratingRepository.ExistAsync(a => a.Id == ratingId)) { throw new Exception("Nie ma takiej oceny"); } var rating = await _ratingRepository.FindByAsyn(a => a.RecipeId == recipeId, s => s.Id == ratingId); _mapper.Map(saveRatingDto, rating); await _ratingRepository.SaveAsync(); }