public void Execute() { var movieResponse = new List <MovieResponse>(); var draw = new HashSet <double>(); var movies = _movieUserRepository.GetRatingByUser(this.UserId); foreach (var movie in movies) { _ratingCommand.Reviews = movie.Reviews; _ratingCommand.Execute(); var response = new MovieResponse() { Genre = movie.Genre, Title = movie.Title, RunningTime = movie.RunningTime, YearOfRelease = movie.YearOfRelease, AverageRating = _ratingCommand.AverageRating }; movieResponse.Add(response); draw.Add(movie.Reviews.FirstOrDefault() != null ? movie.Reviews.FirstOrDefault().Rating : 0); } if ((movieResponse.Count - draw.Count) >= 1) { Response = movieResponse.OrderBy(o => o.Title).Take(5).ToList(); } else { Response = movieResponse.OrderByDescending(o => o.AverageRating).Take(5).ToList(); } }
public void Execute() { ValidateFilters(); if (Valid) { Response = new List <MovieResponse>(); Match = false; var movies = _movieRepository.GetAll(); movies = ApplyFilter(movies); if (movies.Any()) { foreach (var movie in movies) { _ratingCommand.Reviews = movie.Reviews; _ratingCommand.Execute(); var response = new MovieResponse() { Id = movie.Id, Genre = movie.Genre, Title = movie.Title, YearOfRelease = movie.YearOfRelease, RunningTime = movie.RunningTime, AverageRating = _ratingCommand.AverageRating }; Response.Add(response); } Match = true; } } }