You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace NzbDrone.Core.MovieStats
|
|
{
|
|
public interface IMovieStatisticsService
|
|
{
|
|
List<MovieStatistics> MovieStatistics();
|
|
MovieStatistics MovieStatistics(int movieId);
|
|
}
|
|
|
|
public class MovieStatisticsService : IMovieStatisticsService
|
|
{
|
|
private readonly IMovieStatisticsRepository _movieStatisticsRepository;
|
|
|
|
public MovieStatisticsService(IMovieStatisticsRepository movieStatisticsRepository)
|
|
{
|
|
_movieStatisticsRepository = movieStatisticsRepository;
|
|
}
|
|
|
|
public List<MovieStatistics> MovieStatistics()
|
|
{
|
|
var movieStatistics = _movieStatisticsRepository.MovieStatistics();
|
|
|
|
return movieStatistics.GroupBy(m => m.MovieId).Select(m => m.First()).ToList();
|
|
}
|
|
|
|
public MovieStatistics MovieStatistics(int movieId)
|
|
{
|
|
var stats = _movieStatisticsRepository.MovieStatistics(movieId);
|
|
|
|
if (stats == null || stats.Count == 0)
|
|
{
|
|
return new MovieStatistics();
|
|
}
|
|
|
|
return stats.First();
|
|
}
|
|
}
|
|
}
|