public function load(ObjectManager $manager)
 {
     foreach ($this->groups as $groupName) {
         $groupObject = new AccountGroup();
         $groupObject->setName($groupName);
         $manager->persist($groupObject);
         $this->addReference('client-account-group-' . $groupName, $groupObject);
     }
     foreach ($this->types as $key => $item) {
         $typeObject = new AccountType();
         $typeObject->setName($item['name']);
         $manager->persist($typeObject);
         $this->addReference('client-account-type-' . ($key + 1), $typeObject);
         foreach ($item['groups'] as $groupKey) {
             $groupTypeObject = new AccountGroupType();
             $groupTypeObject->setGroup($this->getReference('client-account-group-' . $groupKey));
             $groupTypeObject->setType($this->getReference('client-account-type-' . ($key + 1)));
             $manager->persist($groupTypeObject);
             $this->addReference('client-account-group-type-' . $groupKey . '-' . ($key + 1), $groupTypeObject);
         }
     }
     $manager->flush();
 }
 private function updateOwnersField(FormInterface $form, AccountGroupType $groupType, ClientAccount $account = null)
 {
     $isJoint = $groupType->getType() && $groupType->getType()->getName() == 'Joint Account';
     if ($this->client->isMarried() || $isJoint) {
         $form->add($this->factory->createNamed('owners', new RiaClientAccountOwnerFormType($this->client, $account, $isJoint), null, array('mapped' => false)));
     }
 }
 /**
  * Save account group type in the session
  *
  * @param AccountGroupType $groupType
  */
 private function setAccountGroupType(AccountGroupType $groupType)
 {
     $this->get('session')->set('client.accounts.account_group_type_id', $groupType->getId());
 }