/classes/validateur/GestionCommande/ProduitMarcheValid.php

http://zeybux.googlecode.com/ · PHP · 546 lines · 467 code · 18 blank · 61 comment · 80 complexity · 12625678107096b8cfdcb446502075c8 MD5 · raw file

  1. <?php
  2. //****************************************************************
  3. //
  4. // Createur : Julien PIERRE
  5. // Date de creation : 08/11/2011
  6. // Fichier : ProduitMarcheValid.php
  7. //
  8. // Description : Classe ProduitMarcheValid
  9. //
  10. //****************************************************************
  11. // Inclusion des classes
  12. include_once(CHEMIN_CLASSES_UTILS . "TestFonction.php" );
  13. include_once(CHEMIN_CLASSES_MANAGERS . "NomProduitManager.php");
  14. include_once(CHEMIN_CLASSES_MANAGERS . "ProducteurManager.php");
  15. include_once(CHEMIN_CLASSES_UTILS . "MessagesErreurs.php" );
  16. include_once(CHEMIN_CLASSES_VR . "VRerreur.php" );
  17. include_once(CHEMIN_CLASSES_VR . MOD_GESTION_COMMANDE . "/ProduitMarcheVR.php" );
  18. include_once(CHEMIN_CLASSES_VALIDATEUR . MOD_GESTION_COMMANDE . "/DetailCommandeValid.php" );
  19. /**
  20. * @name ProduitMarcheVR
  21. * @author Julien PIERRE
  22. * @since 08/11/2011
  23. * @desc Classe représentant une ProduitMarcheValid
  24. */
  25. class ProduitMarcheValid
  26. {
  27. /**
  28. * @name validAjout($pData)
  29. * @return ProduitMarcheVR
  30. * @desc Test la validite de l'élément
  31. */
  32. public static function validAjout($pData) {
  33. $lVr = new ProduitMarcheVR();
  34. //Tests Techniques
  35. if(!isset($pData['idNom'])) {
  36. $lVr->setValid(false);
  37. $lVr->getIdNom()->setValid(false);
  38. $lErreur = new VRerreur();
  39. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  40. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  41. $lVr->getIdNom()->addErreur($lErreur);
  42. }
  43. if(!isset($pData['unite'])) {
  44. $lVr->setValid(false);
  45. $lVr->getUnite()->setValid(false);
  46. $lErreur = new VRerreur();
  47. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  48. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  49. $lVr->getUnite()->addErreur($lErreur);
  50. }
  51. if(!isset($pData['qteMaxCommande'])) {
  52. $lVr->setValid(false);
  53. $lVr->getQteMaxCommande()->setValid(false);
  54. $lErreur = new VRerreur();
  55. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  56. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  57. $lVr->getQteMaxCommande()->addErreur($lErreur);
  58. }
  59. if(!isset($pData['qteRestante'])) {
  60. $lVr->setValid(false);
  61. $lVr->getQteRestante()->setValid(false);
  62. $lErreur = new VRerreur();
  63. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  64. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  65. $lVr->getQteRestante()->addErreur($lErreur);
  66. }
  67. if(!isset($pData['lots'])) {
  68. $lVr->setValid(false);
  69. $lVr->getLog()->setValid(false);
  70. $lErreur = new VRerreur();
  71. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  72. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  73. $lVr->getLog()->addErreur($lErreur);
  74. }
  75. if(!isset($pData['type'])) {
  76. $lVr->setValid(false);
  77. $lVr->getType()->setValid(false);
  78. $lErreur = new VRerreur();
  79. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  80. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  81. $lVr->getType()->addErreur($lErreur);
  82. }
  83. if($lVr->getValid()) {
  84. if(!TestFonction::checkLength($pData['idNom'],0,11)) {
  85. $lVr->setValid(false);
  86. $lVr->getIdNom()->setValid(false);
  87. $lErreur = new VRerreur();
  88. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  89. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  90. $lVr->getIdNom()->addErreur($lErreur);
  91. }
  92. if(!is_int((int)$pData['idNom'])) {
  93. $lVr->setValid(false);
  94. $lVr->getIdNom()->setValid(false);
  95. $lErreur = new VRerreur();
  96. $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
  97. $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
  98. $lVr->getIdNom()->addErreur($lErreur);
  99. }
  100. if(!TestFonction::checkLength($pData['unite'],0,20)) {
  101. $lVr->setValid(false);
  102. $lVr->getUnite()->setValid(false);
  103. $lErreur = new VRerreur();
  104. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  105. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  106. $lVr->getUnite()->addErreur($lErreur);
  107. }
  108. if(!TestFonction::checkLength($pData['qteMaxCommande'],0,12)) {
  109. $lVr->setValid(false);
  110. $lVr->getQteMaxCommande()->setValid(false);
  111. $lErreur = new VRerreur();
  112. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  113. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  114. $lVr->getQteMaxCommande()->addErreur($lErreur);
  115. }
  116. if(!is_float((float)$pData['qteMaxCommande'])) {
  117. $lVr->setValid(false);
  118. $lVr->getQteMaxCommande()->setValid(false);
  119. $lErreur = new VRerreur();
  120. $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
  121. $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
  122. $lVr->getQteMaxCommande()->addErreur($lErreur);
  123. }
  124. if(!TestFonction::checkLength($pData['qteRestante'],0,12)) {
  125. $lVr->setValid(false);
  126. $lVr->getQteRestante()->setValid(false);
  127. $lErreur = new VRerreur();
  128. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  129. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  130. $lVr->getQteRestante()->addErreur($lErreur);
  131. }
  132. if(!is_float((float)$pData['qteRestante'])) {
  133. $lVr->setValid(false);
  134. $lVr->getQteRestante()->setValid(false);
  135. $lErreur = new VRerreur();
  136. $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
  137. $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
  138. $lVr->getQteRestante()->addErreur($lErreur);
  139. }
  140. if(!is_array($pData['lots'])) {
  141. $lVr->setValid(false);
  142. $lVr->getLog()->setValid(false);
  143. $lErreur = new VRerreur();
  144. $lErreur->setCode(MessagesErreurs::ERR_110_CODE);
  145. $lErreur->setMessage(MessagesErreurs::ERR_110_MSG);
  146. $lVr->getLog()->addErreur($lErreur);
  147. }
  148. if(!TestFonction::checkLength($pData['type'],0,11)) {
  149. $lVr->setValid(false);
  150. $lVr->getType()->setValid(false);
  151. $lErreur = new VRerreur();
  152. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  153. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  154. $lVr->getType()->addErreur($lErreur);
  155. }
  156. if(!is_int((int)$pData['type'])) {
  157. $lVr->setValid(false);
  158. $lVr->getType()->setValid(false);
  159. $lErreur = new VRerreur();
  160. $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
  161. $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
  162. $lVr->getType()->addErreur($lErreur);
  163. }
  164. //Tests Fonctionnels
  165. if(empty($pData['idNom'])) {
  166. $lVr->setValid(false);
  167. $lVr->getIdNom()->setValid(false);
  168. $lErreur = new VRerreur();
  169. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  170. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  171. $lVr->getIdNom()->addErreur($lErreur);
  172. }
  173. if(empty($pData['unite'])) {
  174. $lVr->setValid(false);
  175. $lVr->getUnite()->setValid(false);
  176. $lErreur = new VRerreur();
  177. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  178. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  179. $lVr->getUnite()->addErreur($lErreur);
  180. }
  181. if(empty($pData['lots'])) {
  182. $lVr->setValid(false);
  183. $lVr->getLog()->setValid(false);
  184. $lErreur = new VRerreur();
  185. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  186. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  187. $lVr->getLog()->addErreur($lErreur);
  188. }
  189. if($pData['type'] == '') {
  190. $lVr->setValid(false);
  191. $lVr->getType()->setValid(false);
  192. $lErreur = new VRerreur();
  193. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  194. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  195. $lVr->getType()->addErreur($lErreur);
  196. }
  197. // Test de l'existance du produit
  198. if($lVr->getIdNom()->getValid()) {
  199. $lNomProduit = NomProduitManager::select($pData['idNom']);
  200. $lId = $lNomProduit->getId();
  201. if(empty($lId)) {
  202. $lVr->setValid(false);
  203. $lVr->getLog()->setValid(false);
  204. $lErreur = new VRerreur();
  205. $lErreur->setCode(MessagesErreurs::ERR_210_CODE);
  206. $lErreur->setMessage(MessagesErreurs::ERR_210_MSG);
  207. $lVr->getLog()->addErreur($lErreur);
  208. }
  209. }
  210. // Les quantités sont positives
  211. if($pData['qteMaxCommande'] != -1 && $pData['qteMaxCommande'] < 0) {
  212. $lVr->setValid(false);
  213. $lVr->getQteMaxCommande()->setValid(false);
  214. $lErreur = new VRerreur();
  215. $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
  216. $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
  217. $lVr->getQteMaxCommande()->addErreur($lErreur);
  218. }
  219. if($pData['qteRestante'] != -1 && $pData['qteRestante'] < 0) {
  220. $lVr->setValid(false);
  221. $lVr->getQteRestante()->setValid(false);
  222. $lErreur = new VRerreur();
  223. $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
  224. $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
  225. $lVr->getQteRestante()->addErreur($lErreur);
  226. }
  227. if($pData['qteMaxCommande'] != -1 && $pData['qteRestante'] != -1 && $pData['qteMaxCommande'] > $pData['qteRestante']) {
  228. $lVr->setValid(false);
  229. $lVr->getQteRestante()->setValid(false);
  230. $lVr->getQteMaxCommande()->setValid(false);
  231. $lErreur = new VRerreur();
  232. $lErreur->setCode(MessagesErreurs::ERR_205_CODE);
  233. $lErreur->setMessage(MessagesErreurs::ERR_205_MSG);
  234. $lVr->getQteRestante()->addErreur($lErreur);
  235. $lVr->getQteMaxCommande()->addErreur($lErreur);
  236. }
  237. if(is_array($pData['lots'])) {
  238. $lValidLot = new DetailCommandeValid();
  239. $i = 0;
  240. while(isset($pData['lots'][$i])) {
  241. $lVrLot = $lValidLot->validAjout($pData['lots'][$i]);
  242. if(!$lVrLot->getValid()){
  243. $lVr->setValid(false);
  244. }
  245. /*if(!empty($pData['qteMaxCommande'])) {
  246. if(floatval($pData['lots'][$i]['taille']) > floatval($pData['qteMaxCommande'])) {
  247. $lVr->setValid(false);
  248. $lVrLot->setValid(false);
  249. $lVrLot->getTaille()->setValid(false);
  250. $lErreur = new VRerreur();
  251. $lErreur->setCode(MessagesErreurs::ERR_206_CODE);
  252. $lErreur->setMessage(MessagesErreurs::ERR_206_MSG);
  253. $lVrLot->getTaille()->addErreur($lErreur);
  254. }
  255. }*/
  256. $lVr->addLots($lVrLot);
  257. $i++;
  258. }
  259. }
  260. }
  261. return $lVr;
  262. }
  263. /**
  264. * @name validDelete($pData)
  265. * @return ProduitMarcheVR
  266. * @desc Test la validite de l'élément
  267. */
  268. public static function validDelete($pData) {
  269. $lVr = new ProduitMarcheVR();
  270. if(!isset($pData['id'])) {
  271. $lVr->setValid(false);
  272. $lVr->getId()->setValid(false);
  273. $lErreur = new VRerreur();
  274. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  275. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  276. $lVr->getId()->addErreur($lErreur);
  277. }
  278. if($lVr->getValid()) {
  279. if(!TestFonction::checkLength($pData['id'],0,11)) {
  280. $lVr->setValid(false);
  281. $lVr->getId()->setValid(false);
  282. $lErreur = new VRerreur();
  283. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  284. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  285. $lVr->getId()->addErreur($lErreur);
  286. }
  287. if(!is_int((int)$pData['id'])) {
  288. $lVr->setValid(false);
  289. $lVr->getId()->setValid(false);
  290. $lErreur = new VRerreur();
  291. $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
  292. $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
  293. $lVr->getId()->addErreur($lErreur);
  294. }
  295. if(empty($pData['id'])) {
  296. $lVr->setValid(false);
  297. $lVr->getId()->setValid(false);
  298. $lErreur = new VRerreur();
  299. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  300. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  301. $lVr->getId()->addErreur($lErreur);
  302. }
  303. // Le produit doit exister
  304. $lProduit = ProduitManager::select($pData['id']);
  305. if($lProduit->getId() != $pData['id']) {
  306. $lVr->setValid(false);
  307. $lVr->getId()->setValid(false);
  308. $lErreur = new VRerreur();
  309. $lErreur->setCode(MessagesErreurs::ERR_210_CODE);
  310. $lErreur->setMessage(MessagesErreurs::ERR_210_MSG);
  311. $lVr->getId()->addErreur($lErreur);
  312. }
  313. }
  314. return $lVr;
  315. }
  316. /**
  317. * @name validUpdate($pData)
  318. * @return ProduitMarcheVR
  319. * @desc Test la validite de l'élément
  320. */
  321. public static function validUpdate($pData) {
  322. $lTestId = ProduitMarcheValid::validDelete($pData);
  323. if($lTestId->getValid()) {
  324. $lVr = new ProduitMarcheVR();
  325. //Tests Techniques
  326. if(!isset($pData['unite'])) {
  327. $lVr->setValid(false);
  328. $lVr->getUnite()->setValid(false);
  329. $lErreur = new VRerreur();
  330. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  331. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  332. $lVr->getUnite()->addErreur($lErreur);
  333. }
  334. if(!isset($pData['qteMaxCommande'])) {
  335. $lVr->setValid(false);
  336. $lVr->getQteMaxCommande()->setValid(false);
  337. $lErreur = new VRerreur();
  338. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  339. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  340. $lVr->getQteMaxCommande()->addErreur($lErreur);
  341. }
  342. if(!isset($pData['qteRestante'])) {
  343. $lVr->setValid(false);
  344. $lVr->getQteRestante()->setValid(false);
  345. $lErreur = new VRerreur();
  346. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  347. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  348. $lVr->getQteRestante()->addErreur($lErreur);
  349. }
  350. if(!isset($pData['lots'])) {
  351. $lVr->setValid(false);
  352. $lVr->getLog()->setValid(false);
  353. $lErreur = new VRerreur();
  354. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  355. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  356. $lVr->getLog()->addErreur($lErreur);
  357. }
  358. if(!isset($pData['type'])) {
  359. $lVr->setValid(false);
  360. $lVr->getType()->setValid(false);
  361. $lErreur = new VRerreur();
  362. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  363. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  364. $lVr->getType()->addErreur($lErreur);
  365. }
  366. if(!isset($pData['lotRemplacement'])) {
  367. $lVr->setValid(false);
  368. $lVr->getLog()->setValid(false);
  369. $lErreur = new VRerreur();
  370. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  371. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  372. $lVr->getLog()->addErreur($lErreur);
  373. }
  374. if($lVr->getValid()) {
  375. if(!TestFonction::checkLength($pData['unite'],0,20)) {
  376. $lVr->setValid(false);
  377. $lVr->getUnite()->setValid(false);
  378. $lErreur = new VRerreur();
  379. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  380. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  381. $lVr->getUnite()->addErreur($lErreur);
  382. }
  383. if(!TestFonction::checkLength($pData['qteMaxCommande'],0,12)) {
  384. $lVr->setValid(false);
  385. $lVr->getQteMaxCommande()->setValid(false);
  386. $lErreur = new VRerreur();
  387. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  388. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  389. $lVr->getQteMaxCommande()->addErreur($lErreur);
  390. }
  391. if(!is_float((float)$pData['qteMaxCommande'])) {
  392. $lVr->setValid(false);
  393. $lVr->getQteMaxCommande()->setValid(false);
  394. $lErreur = new VRerreur();
  395. $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
  396. $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
  397. $lVr->getQteMaxCommande()->addErreur($lErreur);
  398. }
  399. if(!TestFonction::checkLength($pData['qteRestante'],0,12)) {
  400. $lVr->setValid(false);
  401. $lVr->getQteRestante()->setValid(false);
  402. $lErreur = new VRerreur();
  403. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  404. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  405. $lVr->getQteRestante()->addErreur($lErreur);
  406. }
  407. if(!is_float((float)$pData['qteRestante'])) {
  408. $lVr->setValid(false);
  409. $lVr->getQteRestante()->setValid(false);
  410. $lErreur = new VRerreur();
  411. $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
  412. $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
  413. $lVr->getQteRestante()->addErreur($lErreur);
  414. }
  415. if(!is_array($pData['lots'])) {
  416. $lVr->setValid(false);
  417. $lVr->getLog()->setValid(false);
  418. $lErreur = new VRerreur();
  419. $lErreur->setCode(MessagesErreurs::ERR_110_CODE);
  420. $lErreur->setMessage(MessagesErreurs::ERR_110_MSG);
  421. $lVr->getLog()->addErreur($lErreur);
  422. }
  423. if(!TestFonction::checkLength($pData['type'],0,11)) {
  424. $lVr->setValid(false);
  425. $lVr->getType()->setValid(false);
  426. $lErreur = new VRerreur();
  427. $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
  428. $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
  429. $lVr->getType()->addErreur($lErreur);
  430. }
  431. if(!is_int((int)$pData['type'])) {
  432. $lVr->setValid(false);
  433. $lVr->getType()->setValid(false);
  434. $lErreur = new VRerreur();
  435. $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
  436. $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
  437. $lVr->getType()->addErreur($lErreur);
  438. }
  439. if(!is_array($pData['lotRemplacement'])) {
  440. $lVr->setValid(false);
  441. $lVr->getLog()->setValid(false);
  442. $lErreur = new VRerreur();
  443. $lErreur->setCode(MessagesErreurs::ERR_110_CODE);
  444. $lErreur->setMessage(MessagesErreurs::ERR_110_MSG);
  445. $lVr->getLog()->addErreur($lErreur);
  446. }
  447. //Tests Fonctionnels
  448. if(empty($pData['unite'])) {
  449. $lVr->setValid(false);
  450. $lVr->getUnite()->setValid(false);
  451. $lErreur = new VRerreur();
  452. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  453. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  454. $lVr->getUnite()->addErreur($lErreur);
  455. }
  456. if(empty($pData['lots'])) {
  457. $lVr->setValid(false);
  458. $lVr->getLog()->setValid(false);
  459. $lErreur = new VRerreur();
  460. $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
  461. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  462. $lVr->getLog()->addErreur($lErreur);
  463. }
  464. if($pData['type'] == '' && $pData['type'] != 0) {
  465. $lVr->setValid(false);
  466. $lVr->getType()->setValid(false);
  467. $lErreur = new VRerreur();
  468. $lErreur->setCode(MessagesErreurs::ERR_202_CODE);
  469. $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
  470. $lVr->getType()->addErreur($lErreur);
  471. }
  472. // Les quantités sont positives
  473. if($pData['qteMaxCommande'] != -1 && $pData['qteMaxCommande'] < 0) {
  474. $lVr->setValid(false);
  475. $lVr->getQteMaxCommande()->setValid(false);
  476. $lErreur = new VRerreur();
  477. $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
  478. $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
  479. $lVr->getQteMaxCommande()->addErreur($lErreur);
  480. }
  481. if($pData['qteRestante'] != -1 && $pData['qteRestante'] < 0) {
  482. $lVr->setValid(false);
  483. $lVr->getQteRestante()->setValid(false);
  484. $lErreur = new VRerreur();
  485. $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
  486. $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
  487. $lVr->getQteRestante()->addErreur($lErreur);
  488. }
  489. if($pData['qteMaxCommande'] != -1 && $pData['qteRestante'] != -1 && $pData['qteMaxCommande'] > $pData['qteRestante']) {
  490. $lVr->setValid(false);
  491. $lVr->getQteRestante()->setValid(false);
  492. $lVr->getQteMaxCommande()->setValid(false);
  493. $lErreur = new VRerreur();
  494. $lErreur->setCode(MessagesErreurs::ERR_205_CODE);
  495. $lErreur->setMessage(MessagesErreurs::ERR_205_MSG);
  496. $lVr->getQteRestante()->addErreur($lErreur);
  497. $lVr->getQteMaxCommande()->addErreur($lErreur);
  498. }
  499. if(is_array($pData['lots'])) {
  500. $lValidLot = new DetailCommandeValid();
  501. $i = 0;
  502. while(isset($pData['lots'][$i])) {
  503. $lVrLot = $lValidLot->validAjout($pData['lots'][$i]);
  504. if(!$lVrLot->getValid()){
  505. $lVr->setValid(false);
  506. }
  507. /*if(!empty($pData['qteMaxCommande'])) {
  508. if(floatval($pData['lots'][$i]['taille']) > floatval($pData['qteMaxCommande'])) {
  509. $lVr->setValid(false);
  510. $lVrLot->setValid(false);
  511. $lVrLot->getTaille()->setValid(false);
  512. $lErreur = new VRerreur();
  513. $lErreur->setCode(MessagesErreurs::ERR_206_CODE);
  514. $lErreur->setMessage(MessagesErreurs::ERR_206_MSG);
  515. $lVrLot->getTaille()->addErreur($lErreur);
  516. }
  517. }*/
  518. $lVr->addLots($lVrLot);
  519. $i++;
  520. }
  521. }
  522. }
  523. return $lVr;
  524. }
  525. return $lTestId;
  526. }
  527. }
  528. ?>