remove duplicate code

pull/497/head
Devin Buhl 8 years ago
parent 6d4e1f6c2e
commit 2b7afd3272

@ -28,59 +28,45 @@ namespace NzbDrone.Core.NetImport
public List<Movie> Fetch(int listId, bool onlyEnableAuto) public List<Movie> Fetch(int listId, bool onlyEnableAuto)
{ {
var movies = new List<Movie>(); return MovieListSearch(listId, onlyEnableAuto);
}
// Get all the lists public List<Movie> FetchAndFilter(int listId, bool onlyEnableAuto)
var importLists = _netImportFactory.GetAvailableProviders(); {
var existingMovies = _movieService.GetAllMovies();
// No listId is set return all movies in all lists var movies = MovieListSearch(listId, onlyEnableAuto);
var lists = listId == 0 ? importLists.Where(n => ((NetImportDefinition) n.Definition).Enabled == true) : importLists.Where(n => ((NetImportDefinition) n.Definition).Id == listId);
// Only return lists where enabledAuto is truthy // remove from movies list where existMovies (choose one)
if (onlyEnableAuto) // movies.RemoveAll(x => existingMovies.Contains(x));
{ // return movies;
lists = importLists.Where(a => a.EnableAuto == true); //// or
} // movies.RemoveAll(a => existingMovies.Exists(w => w.TmdbId == a.TmdbId));
// return movies;
foreach (var list in lists) //// or
{
movies.AddRange(list.Fetch());
}
return movies; return movies.Where(x => !existingMovies.Contains(x)).ToList();
} }
public List<Movie> FetchAndFilter(int listId, bool onlyEnableAuto) public List<Movie> MovieListSearch(int listId, bool onlyEnableAuto)
{ {
var movies = new List<Movie>(); var movies = new List<Movie>();
// Get all the lists
var importLists = _netImportFactory.GetAvailableProviders(); var importLists = _netImportFactory.GetAvailableProviders();
// No listId is set return all movies in all lists
var lists = listId == 0 ? importLists.Where(n => ((NetImportDefinition)n.Definition).Enabled == true) : importLists.Where(n => ((NetImportDefinition)n.Definition).Id == listId); var lists = listId == 0 ? importLists.Where(n => ((NetImportDefinition)n.Definition).Enabled == true) : importLists.Where(n => ((NetImportDefinition)n.Definition).Id == listId);
// Only return lists where enabledAuto is truthy
if (onlyEnableAuto) if (onlyEnableAuto)
{ {
lists = importLists.Where(a => a.EnableAuto == true); lists = importLists.Where(a => a.EnableAuto == true);
} }
// Get all existing movies
var existingMovies = _movieService.GetAllMovies();
foreach (var list in lists) foreach (var list in lists)
{ {
movies.AddRange((List<Movie>)list.Fetch()); movies.AddRange(list.Fetch());
} }
// remove from movies list where existMovies (choose one) return movies;
// movies.RemoveAll(x => existingMovies.Contains(x));
// return movies;
// movies.RemoveAll(a => existingMovies.Exists(w => w.TmdbId == a.TmdbId));
// return movies;
return movies.Where(x => !existingMovies.Contains(x)).ToList();
} }
} }
} }

Loading…
Cancel
Save