private ISchedulerAction GetSchedulerManager(Enums.SchedulerActionTypes schedulerActionType, SchedulerActionArgs args) { var modelType = Assembly.GetExecutingAssembly().GetTypes() .Single(t => typeof(SchedulerModelBase).IsAssignableFrom(t) && t.GetCustomAttributes <SchedulerActionTypeAttribute>().Any(m => m.SchedulerActionsType == schedulerActionType)); var builderType = typeof(SchedulerActionBase <>).MakeGenericType(modelType); var schedulerManagerType = Assembly.GetExecutingAssembly().GetTypes() .Where(builderType.IsAssignableFrom) .SingleOrDefault(); if (schedulerManagerType == null) { throw new Exception("Scheduler manager not found for - " + modelType); } var manager = (ISchedulerAction)Activator.CreateInstance(schedulerManagerType, args); return(manager); }
protected EmailBuilderBase(SchedulerActionArgs args) : base(args) { }
public ExampleAction(SchedulerActionArgs args) : base(args) { }
public ResetPasswordEmailBuilder(SchedulerActionArgs args) : base(args) { }