public static Rock.Data.IService GetServiceForEntityType( Type entityType, System.Data.Entity.DbContext dbContext )
{
Type serviceType = typeof( Rock.Data.Service<> );
if ( entityType.Assembly != serviceType.Assembly )
{
var serviceTypeLookup = Reflection.SearchAssembly( entityType.Assembly, serviceType );
if ( serviceTypeLookup.Any() )
{
serviceType = serviceTypeLookup.First().Value;
}
}
Type service = serviceType.MakeGenericType( new Type[] { entityType } );
Rock.Data.IService serviceInstance = Activator.CreateInstance( service, dbContext ) as Rock.Data.IService;
return serviceInstance;
}