public Command CreateCommand(string commandName, WorkCalerndarEngine engine) { var commandType = Assembly.GetExecutingAssembly().GetTypes() .FirstOrDefault(c => c.CustomAttributes.Any(a => a.AttributeType == typeof(CommandAttribute)) && c.Name == commandName); if (commandType == null) { throw new ArgumentNullException(nameof(commandName), "Unknown command"); } var command = Activator.CreateInstance(commandType, engine) as Command; return command; }
protected Command(WorkCalerndarEngine engine) { this.WorkCalerndarEngine = engine; }
public ExportCommand(WorkCalerndarEngine engine) : base(engine) { }
public DeleteCommand(WorkCalerndarEngine engine) : base(engine) { }
public ControlsInfoCommand(WorkCalerndarEngine engine) : base(engine) { }
public RemoveWorkingDaysCommand(WorkCalerndarEngine engine) : base(engine) { }
public AddSalaryCommand(WorkCalerndarEngine engine) : base(engine) { }