public function removeChannel($id)
    {
        $channel = $this->em
            ->getRepository('CampaignChainCoreBundle:Channel')
            ->find($id);

        if (!$channel) {
            throw new \Exception(
                'No channel found for id '.$id
            );
        }
        //
        $locations = $channel->getLocations();

        $openActivities = new ArrayCollection();
        $closedActivities = new ArrayCollection();
        foreach ($locations as $location) {
            foreach ($location->getActivities() as $activity) {
                if ($activity->getStatus() == 'closed') {
                    $closedActivities->add($activity);
                } else {
                    $openActivities->add($activity);
                }
            }
        }

        if (!$closedActivities->isEmpty()) {
            //deaktivieren
        } else {
            foreach ($openActivities as $activity) {
                $this->activityService->removeActivity($activity);
            }
            foreach ($locations as $location) {
                $this->locationService->removeLocation($location);
            }
            $this->em->remove($channel);
            $this->em->flush();
        }
    }