public async Task <CourseRatingDTO> Edit(CourseRatingDTO dto) { dto.UserId = Session.UserId; var courseRating = dto.MapTo <TCourseRating>(); await courseRatingRepository.Edit(courseRating, Session); return(courseRating.MapTo <CourseRatingDTO>()); }
public async Task <IActionResult> RateAsync([FromBody] CourseRatingDTO ratingDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _service.RateAsync(ratingDTO); return(Ok(result)); }
public async Task <IActionResult> PutCourseRating(CourseRatingDTO courseRatingDto) { var courseRating = await courseRatingService.Edit(courseRatingDto); if (courseRating == null) { return(BadRequest()); } return(Ok(courseRating)); }
public async Task <ActionResult <CourseRatingDTO> > PostCourseRating(CourseRatingDTO courseRatingDto) { var courseRating = await courseRatingService.Edit(courseRatingDto); if (courseRating == null) { return(BadRequest()); } var courseUpdated = await courseRatingService.UpdateCourse(courseRating.CourseId); return(Ok(courseRating)); }
public async Task <int> RateAsync(CourseRatingDTO ratingDTO) { var task = _mapper.Map <CourseRating>(ratingDTO); if (await _repository.isRatedAlready(ratingDTO.CourseId, ratingDTO.UserId)) { var actualRate = await _repository.GetActualRatingAsync(ratingDTO.CourseId, ratingDTO.UserId); actualRate.Points = ratingDTO.Points; await _repository.UpdateRatingAsync(actualRate); return(actualRate.Id); } else { await _repository.RateAsync(task); return(task.Id); } }