/// <summary> /// Initializes a new instance of the <see cref="F3KContestEngine" /> class. /// </summary> /// <param name="taskQueryInteractor">The task query interactor.</param> /// <param name="contestStorageCmdIntr">The contest storage command intr.</param> /// <param name="scoringStorageCmdIntr">The scoring storage command intr.</param> /// <param name="logger">The logger.</param> public F3KContestEngine(TaskQueryInteractor taskQueryInteractor, ContestStorageCmdInteractor contestStorageCmdIntr, ScoringStorageCmdInteractor scoringStorageCmdIntr, ScoringQueryInteractor scoringQueryInteractor, ScoringContestScoreAggInteractor scoringContestScoreAggIntr, FlightMatrixStorageCmdInteractor flightMatrixStorageCmdIntr, FlightMatrixQueryInteractor flightMatrixQueryIntr, PilotQueryInteractor pilotQueryInteractor, ISortingAlgo sortingAlgo, IFlyOffSelectionAlgo flyOffAlgo, ILoggingService logger) : base(contestStorageCmdIntr, scoringStorageCmdIntr) { this.taskQueryInteractor = taskQueryInteractor ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(taskQueryInteractor)} cannot be null"); this.scoringQueryInteractor = scoringQueryInteractor ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(scoringQueryInteractor)} cannot be null"); this.scoringContestScoreAggIntr = scoringContestScoreAggIntr ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(scoringContestScoreAggIntr)} cannot be null"); this.flightMatrixQueryIntr = flightMatrixQueryIntr ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(flightMatrixQueryIntr)} cannot be null"); this.flightMatrixStorageCmdIntr = flightMatrixStorageCmdIntr ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(flightMatrixStorageCmdIntr)} cannot be null"); this.pilotQueryInteractor = pilotQueryInteractor ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(pilotQueryInteractor)} cannot be null"); this.sortingAlgo = sortingAlgo ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(sortingAlgo)} cannot be null"); this.flyOffPilotPicker = flyOffAlgo ?? throw new ArgumentException($"{nameof(F3KContestEngine)}:Ctor - {nameof(flyOffAlgo)} cannot be null"); this.logger = logger ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(logger)} cannot be null"); }
/// <summary> /// Initializes a new instance of the <see cref="TaskController"/> class. /// </summary> /// <param name="taskQueryInteractor">The task query interactor.</param> public TaskController(TaskQueryInteractor taskQueryInteractor) { this.taskQueryInteractor = taskQueryInteractor; }