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);
        }
Exemplo n.º 2
0
 protected EmailBuilderBase(SchedulerActionArgs args)
     : base(args)
 {
 }
Exemplo n.º 3
0
 public ExampleAction(SchedulerActionArgs args) : base(args)
 {
 }
Exemplo n.º 4
0
 public ResetPasswordEmailBuilder(SchedulerActionArgs args) : base(args)
 {
 }