public function storeAction(\Symfony\Component\HttpFoundation\Request $request)
 {
     $this->assertUserRights(UserRole::ROLE_ADMIN);
     if ($request->get('id')) {
         $collection = $this->getDoctrine()->getRepository('LeanKoalaIntegrationMissingRequestBundle:Collection')->find($request->get('id'));
         if ($this->getUser()->getUserRole($collection->getProject())->getRole() > UserRole::ROLE_ADMIN) {
             throw new AccessDeniedException('You are not allowed to access this page with the given parameters');
         }
     } else {
         $collection = new Collection();
         $collection->setProject($this->getProject());
     }
     $collection->setName($request->get('name'));
     $em = $this->getDoctrine()->getManager();
     $em->persist($collection);
     $em->flush();
     $oldRequests = $collection->getRequests();
     $oldRequestArray = array();
     foreach ($oldRequests as $oldRequest) {
         $oldRequestArray[$oldRequest->getId()] = $oldRequest;
     }
     $requests = $request->get('request');
     $globalChange = false;
     foreach ($requests as $missingRequest) {
         $changed = true;
         if ($missingRequest['pattern'] != '') {
             $requestObj = new Request();
             $requestObj->setCollection($collection);
             $requestObj->setName($missingRequest['name']);
             $requestObj->setPattern($missingRequest['pattern']);
             $requestObj->setCount($missingRequest['count']);
             foreach ($oldRequestArray as $oldRequest) {
                 /** @var Request $oldRequest */
                 if ($oldRequest->equals($requestObj)) {
                     $changed = false;
                     break;
                 }
             }
             if ($changed) {
                 $globalChange = true;
             }
             $em->persist($requestObj);
         }
     }
     foreach ($oldRequestArray as $oldRequest) {
         $em->remove($oldRequest);
     }
     if ($globalChange) {
         $dispatcherEvent = new MissingRequestCollectionStoreEvent($collection);
         $this->get('event_dispatcher')->dispatch('leankoala.integration.missingrequest.collection.store', $dispatcherEvent);
     }
     $em->flush();
     return $this->redirectToRoute('leankoala_integration_missing_request_homepage');
 }