setName('ticket-stats-notification') ->addOption('display-diff', null, InputOption::VALUE_NONE) ; } /** * @see Command */ protected function execute(InputInterface $input, OutputInterface $output) { $eventReposotory = $this->getContainer()->get('ting')->get(EventRepository::class); $ticketRepository = $this->getContainer()->get('ting')->get(TicketTypeRepository::class); $date = null; if ($input->getOption('display-diff')) { $date = new \DateTime(); $date->modify('- 1 day'); } /** @var Event $event */ foreach ($eventReposotory->getNextEvents() as $event) { $message = $this->getContainer()->get(\AppBundle\Slack\MessageFactory::class)->createMessageForTicketStats( $event, $this->getContainer()->get(EventStatsRepository::class), $ticketRepository, $date ); $this->getContainer()->get(\AppBundle\Notifier\SlackNotifier::class)->sendMessage($message); } } }