@Override
 @ModifyingTransactionalServiceMethod
 public void delete(long id) {
   Filiaal filiaal = filiaalDAO.findOne(id);
   if (filiaal != null) {
     if (!filiaal.getWerknemers().isEmpty()) {
       throw new FiliaalHeeftNogWerknemersException();
     }
     filiaalDAO.delete(id);
   }
 }
 @Override
 public long findAantalFilialen() {
   return filiaalDAO.count();
 }
 @Override
 public List<Filiaal> findAll() {
   return filiaalDAO.findAll();
 }
 @Override
 @ModifyingTransactionalServiceMethod
 public void update(Filiaal filiaal) {
   filiaalDAO.save(filiaal);
 }
 @Override
 public Filiaal read(long id) {
   return filiaalDAO.findOne(id);
 }
 @Override
 @ModifyingTransactionalServiceMethod
 public void create(Filiaal filiaal, String urlAlleFilialen) {
   filiaalDAO.save(filiaal);
   mailSender.nieuwFiliaalMail(filiaal, urlAlleFilialen + "/" + filiaal.getId());
 }
 @Override
 public List<Filiaal> findNietAfgeschreven() {
   return filiaalDAO.findByWaardeGebouwNot(BigDecimal.ZERO);
 }
 @Override
 @PreAuthorize("hasAuthority('manager')")
 public List<Filiaal> findByPostcodeReeks(PostcodeReeks reeks) {
   return filiaalDAO.findByAdresPostcodeBetweenOrderByNaam(
       reeks.getVanpostcode(), reeks.getTotpostcode());
 }
 @Override
 // @Scheduled(fixedRate=60000)
 public void aantalFilialenMail() {
   mailSender.aantalFilialenMail(filiaalDAO.count());
 }