public void RateByUser([FromHeader] CheckLoginInputDto _checkLoginInputDto, [FromBody] RateByUserInputDto _rateByUserInputDto) { if (userLoginService.CheckToken(_checkLoginInputDto)) { moviesService.RateByUser(_rateByUserInputDto); } else { //ino bayad avaz konim } }
public void RateByUser(RateByUserInputDto inputDto) { int tempLastRateCounter = movieRepository.GetQuery().Where(x => x.Id == inputDto.MovieId).Select(y => y.RateCounter).FirstOrDefault(); double tempLastRateByUser = movieRepository.GetQuery().Where(x => x.Id == inputDto.MovieId).Select(y => y.RateByUser).FirstOrDefault(); int tempNewRateCounter = tempLastRateCounter + 1; double tempNewRateByUser = ((tempLastRateCounter * tempLastRateByUser) + inputDto.RateByUser) / tempNewRateCounter; Movie tempMovie = movieRepository.GetQuery().Where(x => x.Id == inputDto.MovieId).FirstOrDefault(); tempMovie.RateByUser = tempNewRateByUser; tempMovie.RateCounter = tempNewRateCounter; movieRepository.Update(tempMovie); movieRepository.Save(); }