/**
  * @param BookingSchedule                $value
  * @param ProviderAvailabilityConstraint $constraint
  * @throws Exception
  */
 public function validate($value, Constraint $constraint)
 {
     foreach ($value->getPlace()->getBusinessHoursException() as $bhE) {
         if ($bhE->getId() == $value->getId()) {
             continue;
         }
         //foreach (DayFlaggableHelper::getWeekdays() as $day){
         //$method = 'getDay' . $day;
         if ($value->getDay() == $bhE->getDay()) {
             if ($value->getStartsAt() >= $bhE->getStartsAt() && $bhE->getEndsAt() >= $value->getStartsAt()) {
                 $this->context->buildViolation($constraint->openAtMessage)->setParameter('%openAt%', $value->getStartsAt()->format('H:i:s'))->setParameter('%startsAt%', $bhE->getStartsAt()->format('H:i:s'))->setParameter('%endsAt%', $bhE->getEndsAt()->format('H:i:s'))->setParameter('%day%', $value->getDay()->format('Y-m-d'))->atPath('startsAt')->addViolation();
                 break;
             }
             if ($value->getEndsAt() >= $bhE->getStartsAt() && $bhE->getEndsAt() >= $value->getEndsAt()) {
                 $this->context->buildViolation($constraint->closeAtMessage)->setParameter('%closeAt%', $value->getEndsAt()->format('H:i:s'))->setParameter('%startsAt%', $bhE->getStartsAt()->format('H:i:s'))->setParameter('%endsAt%', $bhE->getEndsAt()->format('H:i:s'))->setParameter('%day%', $value->getDay()->format('Y-m-d'))->atPath('endsAt')->addViolation();
                 break;
             }
         }
     }
 }