| 1 | <?php  | 
            ||
| 7 | class Subject  | 
            ||
| 8 | { | 
            ||
| 9 | |||
| 10 |     public function __construct($data) { | 
            ||
| 19 | |||
| 20 | /**  | 
            ||
| 21 |      * @Assert\NotNull(groups={"calculate", "calculateAll", "check"}) | 
            ||
| 22 | */  | 
            ||
| 23 | private $name;  | 
            ||
| 24 | |||
| 25 | /**  | 
            ||
| 26 |      * @Assert\NotNull(groups={"calculate", "calculateAll", "check"}) | 
            ||
| 27 | */  | 
            ||
| 28 | private $surname;  | 
            ||
| 29 | |||
| 30 | |||
| 31 | /**  | 
            ||
| 32 | * @Assert\Choice(  | 
            ||
| 33 |      *      groups={"calculate", "calculateAll", "check"}, | 
            ||
| 34 |      *      choices={"M", "F"}, | 
            ||
| 35 | * message="Choose a valid gender (M or F)."  | 
            ||
| 36 | * )  | 
            ||
| 37 | */  | 
            ||
| 38 | private $gender;  | 
            ||
| 39 | |||
| 40 | /**  | 
            ||
| 41 |      * @Assert\Date(groups={"calculate", "calculateAll", "check"}) | 
            ||
| 42 | */  | 
            ||
| 43 | private $birthDate;  | 
            ||
| 44 | |||
| 45 | /**  | 
            ||
| 46 |      * @Assert\Sequentially({ | 
            ||
| 47 |      *     @Assert\NotBlank(groups={"calculate", "calculateAll", "check"}), | 
            ||
| 48 | * @Assert\Length(  | 
            ||
| 49 |      *      groups={"calculate", "calculateAll", "check"}, | 
            ||
| 50 | * min = 4,  | 
            ||
| 51 | * max = 4  | 
            ||
| 52 | * )  | 
            ||
| 53 | * })  | 
            ||
| 54 | */  | 
            ||
| 55 | private $belfioreCode;  | 
            ||
| 56 | |||
| 57 | /**  | 
            ||
| 58 | * @Assert\Type(  | 
            ||
| 59 |      *      groups={"calculate", "check"}, | 
            ||
| 60 | * type="numeric"  | 
            ||
| 61 | * )  | 
            ||
| 62 | */  | 
            ||
| 63 | private $omocodiaLevel;  | 
            ||
| 64 | |||
| 65 | /**  | 
            ||
| 66 |      * @Assert\NotNull(groups={"check"}) | 
            ||
| 67 | */  | 
            ||
| 68 | private $codiceFiscale;  | 
            ||
| 69 | }  |