using System; using System.Linq; using Quadarax.Foundation.Core.Data.Interface.Repository; using Quadarax.Foundation.Core.Thread; namespace Quadarax.Foundation.Core.Business { public class RepoWorkerContext : IWorkerContext { public IRepository[] Repositories { get; } public RepoWorkerContext(params IRepository[] repositories) { Repositories = repositories ?? throw new ArgumentNullException(nameof(repositories)); } public TRepository GetRepository() where TRepository : class, IRepository { return Repositories.FirstOrDefault(x => x is TRepository) as TRepository; } } }