/**
  * Gets the memberData from association.typo3.org and uses this data to
  * - update membership level and amount of caseStudies allowed in agency
  * - deactivates caseStudies if allowed amount is lower than activated caseStudies
  *
  * @return void
  */
 protected function updateAgenciesByMemberDataAction()
 {
     $memberDataUtility = $this->objectManager->get('Tx_Typo3Agencies_Utility_MemberData');
     $memberDataArray = $memberDataUtility->getAllMemberData();
     foreach ($memberDataArray as $memberData) {
         $agency = $this->agencyRepository->findOneByCode($memberData['code']);
         if ($agency) {
             /** @var $agency Tx_Typo3Agencies_Domain_Model_Agency */
             $approved = $memberData['isApproved'] == 1 ? true : false;
             $allowedCaseStudies = $approved ? (int) $memberData['caseStudies'] : 0;
             $agency->setApproved($approved);
             $agency->setCaseStudies($allowedCaseStudies);
             $agency->setMember($memberData['membershipLevel']);
             $references = $this->referenceRepository->findAllByAgency($agency);
             foreach ($references as $reference) {
                 /** @var $reference Tx_Typo3Agencies_Domain_Model_Reference */
                 if ($allowedCaseStudies <= 0) {
                     $reference->setDeactivated(true);
                 }
                 $allowedCaseStudies--;
                 $this->referenceRepository->update($reference);
             }
             $this->agencyRepository->update($agency);
         }
     }
     $GLOBALS['TSFE']->clearPageCacheContent_pidList($this->clearCachePids);
 }