/classes/validateur/GestionAbonnement/ListeProduitValid.php

http://zeybux.googlecode.com/ · PHP · 583 lines · 512 code · 18 blank · 53 comment · 76 complexity · 4cf0470299c1313896993eafeba3fdf3 MD5 · raw file

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