protected function success(User $user, User $questionsOwner) { $em = $this->em; $questions = $em->getRepository('WealthbotRiaBundle:RiskQuestion')->getOrderedQuestionsByOwnerId($questionsOwner->getId()); $withdrawAge = 0; $answers = array(); foreach ($questions as $question) { $key = 'answer_' . $question->getId(); $data = $this->form->get($key)->getData(); $answer = array('question' => $question); if ($question->getIsWithdrawAgeInput()) { $withdrawAge = (int) $answer; $age = $this->getClientAge($user); $ageDiff = $withdrawAge - (int) $age; $answer['data'] = $ageDiff; } else { $answer['data'] = $data; } $answers[] = $answer; } $riskToleranceManager = new RiskToleranceManager($user, $this->em, $answers); $riskToleranceManager->saveUserAnswers(); if (!$this->request->isXmlHttpRequest()) { $suggestedModel = $riskToleranceManager->getSuggestedPortfolio(); $this->processSuggestedPortfolio($user, $suggestedModel, $withdrawAge); } }
private function createQuestionnaireAnswers(ObjectManager $manager, User $clientUser) { $clientProfile = $clientUser->getProfile(); $answers = array(); for ($i = 1; $i <= 4; $i++) { $answers[] = array('question' => $this->getReference('ria-risk-question-' . $i), 'data' => $this->getReference('ria-risk-answer-' . $i . '-1')); } $riskToleranceManager = new RiskToleranceManager($clientUser, $manager, $answers); $riskToleranceManager->saveUserAnswers(); $suggestedPortfolio = $riskToleranceManager->getSuggestedPortfolio(); //$clientProfile->setSuggestedPortfolio($suggestedPortfolio); $clientPortfolioManager = $this->container->get('wealthbot_client.client_portfolio.manager'); $clientPortfolioManager->proposePortfolio($clientUser, $suggestedPortfolio); $manager->persist($clientProfile); }
private function onSuccess(User $user, User $questionsOwner) { $questions = $this->em->getRepository('WealthbotRiaBundle:RiskQuestion')->getOrderedQuestionsByOwnerId($questionsOwner->getId()); $answers = array(); foreach ($questions as $question) { $key = 'answer_' . $question->getId(); $data = $this->form->get($key)->getData(); $answer = array('question' => $question); if ($question->getIsWithdrawAgeInput()) { $withdrawAge = (int) $answer; $age = $this->getClientAge($user); $ageDiff = $withdrawAge - (int) $age; $answer['data'] = $ageDiff; } else { $answer['data'] = $data; } $answers[] = $answer; $this->saveTempQuestionnaireItem($user->getId(), $question->getId(), $data->getId()); } $riskToleranceManager = new RiskToleranceManager($user, $this->em, $answers); $suggestedPortfolio = $riskToleranceManager->getSuggestedPortfolio(); $this->saveTempPortfolio($user->getId(), $suggestedPortfolio->getId()); $this->dm->flush(); }