public void RateByUser([FromHeader] CheckLoginInputDto _checkLoginInputDto, [FromBody] RateByUserInputDto _rateByUserInputDto)
 {
     if (userLoginService.CheckToken(_checkLoginInputDto))
     {
         moviesService.RateByUser(_rateByUserInputDto);
     }
     else
     {
         //ino bayad avaz konim
     }
 }
示例#2
0
        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();
        }