/**
  * @param Application $app
  *
  * @return ApplicationFlowInterface
  */
 private function getAppFlow($app)
 {
     /** @var ApplicationFlowInterface $appFlow */
     $appFlow = $this->get($app->getFlowServiceName());
     $appFlow->setApplication($app);
     return $appFlow;
 }
 /**
  * @param integer $appId
  *
  * @return Application
  *
  * @throws \Exception
  */
 public function getApp($appId)
 {
     $app = $this->enManager->getRepository(Application::clazz())->find($appId);
     if (null == $app) {
         throw new \Exception('Can\'t find Application by id <<' . $appId . '>>');
     }
     return $app;
 }
 /**
  * Load data fixtures with the passed EntityManager
  *
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $app = new Application();
     $app->setName('Visit');
     $app->setType(Application::TYPE_VISIT);
     $app->setCountry($this->getReference('country:ua'));
     $app->setFlowServiceName('ortofit_sing_up.application_flow');
     $app->setConfig(['template' => ['name' => 'OrtofitSingUpBundle:SingUp:index.html.twig'], 'notify' => ['subject' => 'Запись на прием', 'body' => 'Прошу перезвонить мне по тел. +%s и записать на прием.']]);
     $manager->persist($app);
     $manager->flush();
 }
 /**
  * @param array $params
  *
  * @return void
  */
 public function createForm($params = [])
 {
     $templateName = $this->application->getTemplateName();
     $templateData = array_merge($this->formatFormData(), $params);
     $this->response = $this->templateEngine->render($templateName, $templateData);
 }