Completed
Push — develop ( 64da93...4b596e )
by Serhii
21s queued 12s
created

ProducerValidator::validate()   A

Complexity

Conditions 5
Paths 4

Size

Total Lines 22

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 22
rs 9.2568
c 0
b 0
f 0
cc 5
nc 4
nop 2
1
<?php
2
3
namespace App\Validator;
4
5
use App\Entity\Performance;
6
use Symfony\Component\Validator\Constraint;
7
use Symfony\Component\Validator\ConstraintValidator;
8
9
class ProducerValidator extends ConstraintValidator
10
{
11
    /**
12
     * @param Performance $performance
13
     * @param Constraint $constraint
14
     */
15
    public function validate($performance, Constraint $constraint)
16
    {
17
        /* @var $constraint \App\Validator\ProducerConstraint */
18
19
        if ($performance->getExtProducer() && $performance->getProducer()) {
20
            $this->context
21
                ->buildViolation($constraint->ambiguousProducer)
22
                ->atPath('producer')
23
                ->addViolation();
24
            $this->context
25
                ->buildViolation($constraint->ambiguousProducer)
26
                ->atPath('extProducer')
27
                ->addViolation();
28
        }
29
30
        if (!$performance->getExtProducer() && !$performance->getProducer()) {
31
            $this->context
32
                ->buildViolation($constraint->noProducer)
33
                ->atPath('producer')
34
                ->addViolation();
35
        }
36
    }
37
}
38