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.
Lidarr/src/NzbDrone.Core/ImportLists/Exclusions/ImportListExclusionReposito...

34 lines
1.1 KiB

using System.Collections.Generic;
using System.Linq;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Messaging.Events;
namespace NzbDrone.Core.ImportLists.Exclusions
{
public interface IImportListExclusionRepository : IBasicRepository<ImportListExclusion>
{
ImportListExclusion FindByForeignId(string foreignId);
List<ImportListExclusion> FindByForeignId(List<string> ids);
}
public class ImportListExclusionRepository : BasicRepository<ImportListExclusion>, IImportListExclusionRepository
{
public ImportListExclusionRepository(IMainDatabase database, IEventAggregator eventAggregator)
: base(database, eventAggregator)
{
}
public ImportListExclusion FindByForeignId(string foreignId)
{
return Query(m => m.ForeignId == foreignId).SingleOrDefault();
}
public List<ImportListExclusion> FindByForeignId(List<string> ids)
{
// Using Enumerable.Contains forces the builder to create an 'IN'
// and not a string 'LIKE' expression
return Query(x => Enumerable.Contains(ids, x.ForeignId));
}
}
}