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

ProducerValidator   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 3
dl 0
loc 29
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A validate() 0 22 5
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