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);
     }
 }
示例#2
0
 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();
 }