<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

namespace Kufer\KuferTools\Dozent\Kursplanung;

use Kufer\Web\KuferTools\Dozent\Kursplanung\KursBearbeitenPlanung;

class ControllerFactory
{
  
  public function getController($pAction)
  {
    switch ($pAction) {
      default:
      case 'kursuebersicht':
        return new KursUebersicht\KursUebersichtController();
      case 'setFilterKursUebersicht':
        return new KursUebersicht\KursUebersichtSetFilterController();
      case 'resetFilterKursUebersicht':
        return new KursUebersicht\KursUebersichtResetFilterController();
      case 'showFilterKursUebersicht':
        return new ShowFilterKursUebersicht\ShowFilterKursUebersichtController();
      case 'kursbearbeiten':
        return new KursBearbeiten\KursBearbeitenController();
      case 'kursbearbeitenabsenden':
        return new KursBearbeiten\KursBearbeitenAbsendenController();
      case 'kursbearbeitenplanung':
        return new KursBearbeitenPlanung\KursBearbeitenPlanungController();
      case 'kursbearbeitenplanungabsenden':
        return new KursBearbeitenPlanung\KursBearbeitenPlanungAbsendenController();
      case 'terminuebersicht':
        return new TerminUebersicht\TerminUebersichtController();
      case 'setFilterTerminUebersicht':
        return new TerminUebersicht\TerminUebersichtSetFilterController();
      case 'resetFilterTerminUebersicht':
        return new TerminUebersicht\TerminUebersichtResetFilterController();
      case 'filterTerminUebersicht':
        return new ShowFilterTerminUebersicht\ShowFilterTerminUebersichtController();
      case 'kursvorschlag':
        return new KursVorschlag\KursVorschlagFormularController();
      case 'sendeKursvorschlag':
        return new KursVorschlag\KursVorschlagAbsendenController();
      case 'terminbearbeiten':
        return new TerminBearbeiten\TerminBearbeitenFormularController();
      case 'terminbearbeitenabsenden':
        return new TerminBearbeiten\TerminBearbeitenAbsendenController();
      case 'terminsammelaenderung':
        return new TerminSammelaenderung\TerminSammelaenderungFormularController();
      case 'terminsammelaenderungabsenden':
        return new TerminSammelaenderung\TerminSammelaenderungAbsendenController();
      case 'kurskopie':
        return new KursKopie\KursKopieController();
      case 'setFilterKursKopie':
        return new KursKopie\KursKopieSetFilterController();
      case 'resetFilterKursKopie':
        return new KursKopie\KursKopieResetFilterController();
      case 'showFilterKursKopie':
        return new ShowFilterKursUebersicht\ShowFilterKursKopieController();
      case 'kursAnpassenNachTerminBearbeiten':
        return new KursAnpassenNachTerminBearbeiten\KursAnpassenNachTerminBearbeitenController();
    }
  }
}