public static Create ( |
||
jobType | ||
return |
public static JobDescription Create(Type jobType)
{
var attr = JobAttribute.Get(jobType);
var descAttr = jobType.GetCustomAttribute<DescriptionAttribute>();
return new JobDescription(
name: attr.Name,
description: descAttr == null ? null : descAttr.Description,
eventProviderId: attr.EventProvider == null ? (Guid?)null : (Guid?)EventSource.GetGuid(attr.EventProvider),
implementation: jobType);
}
}
public static IEnumerable <JobDescription> GetAllAvailableJobs() { var jobdefs = typeof(WorkService) .Assembly .GetExportedTypes() .Where(t => !t.IsAbstract && typeof(JobHandlerBase).IsAssignableFrom(t)) .Select(t => JobDescription.Create(t)) .Where(d => d != null); return(jobdefs); }