src/AppBundle/EventListener/ObjectListener.php line 1773

Open in your IDE?
  1. <?php
  2. namespace AppBundle\EventListener;
  3.   
  4. use Pimcore\Event\Model\ElementEventInterface;
  5. use Pimcore\Event\Model\DataObjectEvent;
  6. use \Pimcore\Model\DataObject;
  7. use \Pimcore\Model\DataObject\ItemMaster;
  8. use Pimcore\Db;
  9. use Pimcore\Log\ApplicationLogger;
  10. class ObjectListener {
  11.      
  12.      public function onPostUpdateOld (ElementEventInterface $e) {
  13.          
  14.      }
  15.     public function onPostUpdate (ElementEventInterface $e) {
  16.          
  17.        
  18.         if($e instanceof AssetEvent) {
  19.             // do something with the asset
  20.             $foo $e->getAsset(); 
  21.         } else if ($e instanceof DocumentEvent) {
  22.             // do something with the document
  23.             $foo $e->getDocument(); 
  24.         } else if ($e instanceof DataObjectEvent) {
  25.             // do something with the object
  26.             $foo $e->getObject(); 
  27.              $pid =  $foo->getId();
  28.              
  29.           //  $logger = $this->get(ApplicationLogger::class);
  30.                 
  31.  $claname '';
  32.  $userId0;
  33.                 $otype $foo->geto_type();
  34.              if($otype == 'object')
  35.              {
  36.                $o_published =$foo->geto_published();  
  37.                  $claname $foo->geto_className();  
  38.                  $userId $foo->geto_userOwner();    
  39.              }  
  40.               $styleNum '';
  41.                 if( $claname == 'itemMaster' || $claname == 'ItemMaster' )
  42.                 {
  43.                   $styleNum $foo->getstyleNum();
  44.                   $user = \Pimcore\Tool\Admin::getCurrentUser();
  45.                 }   
  46. if( ( $claname == 'itemMaster' || $claname == 'ItemMaster' ) && $otype == 'object' && $user != null && $o_published == && $styleNum)
  47. {
  48.  
  49. $userId $foo->getUserOwner();
  50. $tableOne "object_masterItem";
  51.                             $query "select * from ".$tableOne." where oo_id='".$pid."'";
  52.                             $statment Db::get()->prepare($query);
  53.                             $statment->execute();
  54.                             $dataGet =$statment->fetchAll();
  55.                             $po_published $dataGet[0]['o_published'];
  56.     $table "object_masterItem";
  57.                     $sql "select * from ".$table." where o_parentId='".$pid."'";
  58.                     $stmt Db::get()->prepare($sql);
  59.                     $stmt->execute();
  60.                     $data =$stmt->fetchAll();
  61.                     $childIdArray =array();
  62.                     $m=0;
  63.                     while($m<count($data))
  64.                     {
  65.                         $childIdArray[] = $data[$m]['oo_id'];
  66.                             $srcId $data[$m]['oo_id'];
  67.                         
  68.                         /*  $dqry1 ="DELETE FROM `object_relations_masterItem` WHERE `src_id` = '".$srcId."' and  fieldname  IN ('colorDetails','sizeDetails')";
  69.           $dqrystmt1 = Db::get()->prepare($dqry1);
  70.                               $dqrystmt =  $dqrystmt1->execute();
  71.                                */
  72.                               
  73.                               
  74.                         $m++;
  75.                     }
  76.                     $childIdimplode(',',$childIdArray);
  77.         //throw new \Pimcore\Model\Element\ValidationException($childId."Please select set code 0.", 1234);
  78.                    // throw new \Pimcore\Model\Element\ValidationException($childId."Please select set code 0.", 1234);
  79.                     $totalrec count($data);
  80. $itemShortDesc $foo->getitemShortDesc();
  81. $itemDesc $foo->getitemDesc();
  82. $styleNum $foo->getstyleNum();
  83. $mfrNum $foo->getmfrNum();
  84. $vendorPartNum $foo->getvendorPartNum();
  85. $preventPosDl $foo->getpreventPosDl();
  86. $sku $foo->getsku();
  87. $innerPack $foo->getinnerPack();
  88. $casePack $foo->getcasePack();
  89. $colorDetails=$foo->getcolorDetails();
  90. $sizeDetails=$foo->getsizeDetails();
  91. $totalcolors count($colorDetails);
  92. $totalsizes count($sizeDetails);                               
  93.      
  94.     //throw new \Pimcore\Model\Element\ValidationException($totalsizes."Please select set code 0.".$totalcolors, 1234);  
  95.         
  96. $brandDetails=$foo->getbrandDetails(); 
  97. $extdClassification=$foo->getextdClassification(); 
  98. $cost0.01;
  99. $originalSalePrice=0;
  100. $sellingPrice=0;
  101.            if($foo->getSalesInformation())
  102.  {
  103.     if($foo->getSalesInformation()->getsaleInformation())
  104.     {
  105.  $cost $foo->getsalesInformation()->getSaleInformation()->getcost();
  106.   $originalSalePrice $foo->getsalesInformation()->getSaleInformation()->getoriginalSalePrice();
  107.  $sellingPrice $foo->getsalesInformation()->getSaleInformation()->getsellingPrice();
  108.                         //  else
  109.                           //  $cost= 0;
  110.           
  111.     }
  112.   }
  113.  foreach ($brandDetails as $lists
  114.                     {
  115. $bbrand_id $lists->getId();
  116. $brobjectData DataObject::getById($bbrand_id);
  117. $brand_code1  $brobjectData->getbrandCD();
  118.                         }
  119.                          foreach ($extdClassification as $lists
  120.                     {
  121.                                 $ex_id $lists->getId();
  122.                                 $exobjectData DataObject::getById($ex_id);
  123.                                 $exbrandata  $exobjectData->getbrandCode();
  124.                                 foreach ($exbrandata as $lists2
  125.                                                     {
  126.                                 $exbrand_id $lists2->getId();
  127.                                 $brand_code2  $lists2->getbrandCD();
  128.                     }
  129.                         }
  130.              if($brand_code2!='')
  131.             {
  132.                if($brand_code1 != $brand_code2)
  133.             {
  134.               throw new \Pimcore\Model\Element\ValidationException("Selected Extended Classification brand Code must be the same with Brand Details."1234);
  135.              
  136.             } 
  137.             }
  138.         if($totalcolors || $totalsizes 1)
  139.                 {
  140.                     $setcode $foo->getsetCode();
  141.                   //  throw new \Pimcore\Model\Element\ValidationException($setcode."Please select set code 0.", 1234);
  142.                         if($setcode != '0')
  143.                         {
  144.                             throw new \Pimcore\Model\Element\ValidationException("Please select set code 0."1234);
  145.  
  146.                         }
  147.                 }
  148.                 if($totalcolors && $totalsizes == 0)
  149.                 {
  150.                     $j=1;
  151.                     $pp=0;
  152.                     foreach ($colorDetails as $lists
  153.                     {
  154.             
  155.           $src_id $childIdArray[$pp];
  156.           
  157.           
  158.           
  159.         
  160.         
  161.         
  162.  $colorcode=$lists->getshortDesc();
  163.                         $colorobjectId=$lists->getId();
  164.                                 $pp++;
  165.            $fieldname "colorDetails";
  166.                              $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);        
  167.                      // $logger->error( "Id ->".implode(',',$childIdArray), ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  168.                                 $variantcount $this->checkSingleVariantIsPresentOrNot($src_id,$colorobjectId,$fieldname);
  169.                             if($variantcount 0)
  170.                                 {
  171.                                         $objectColor DataObject::getById($src_id);
  172.                                 }
  173.                                 else
  174.                                 {
  175.                         $objectColor = new DataObject\ItemMaster();
  176.                     }
  177. //$logger->error( "Id ->".$variantcount, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  178.                         $objectColor->setParent(DataObject\ItemMaster::getById($pid));
  179.                        
  180.                         $productname $itemShortDesc." ".$colorcode;
  181.                         $objectColor->setKey(\Pimcore\Model\Element\Service::getValidKey($productname'object'));
  182.                         $objectColor->setType(DataObject\AbstractObject::OBJECT_TYPE_VARIANT);
  183.                         $objectColor->setsetCode('0');
  184. $objectColor->setitemShortDesc($itemShortDesc);
  185.                                     $objectColor->setstyleNum($styleNum);
  186.                                     $objectColor->setmfrNum($mfrNum);
  187.                                     $objectColor->setvendorPartNum($vendorPartNum);
  188.                                     $objectColor->setInVariantsProcess('yes');
  189. $tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectColor);
  190. $tireBrick->setcost($cost);
  191. $tireBrick->setsellingPrice($sellingPrice);
  192. $tireBrick->setoriginalSalePrice($originalSalePrice);
  193. $objectColor->getsalesInformation()->setSaleInformation($tireBrick);
  194.  $objectColor->setitemDesc($productname);
  195.                                       $objectColor->setsetCode('0');
  196.                                     $objectColor->setPublished(true);
  197. $objectColor->setpreventPosDl($preventPosDl);
  198.                                     $objectColor->setitemShortDesc($itemShortDesc);
  199.                                     $objectColor->setstyleNum($styleNum);
  200.                                     $objectColor->setmfrNum($mfrNum);
  201.                                     $objectColor->setvendorPartNum($vendorPartNum);
  202.                                     $objectColor->setInVariantsProcess('yes');
  203. //$myObject->setsku($sku);
  204. $objectColor->setinnerPack($innerPack);
  205. $objectColor->setcasePack($casePack);
  206.  try {
  207.     $objectColor->setsubbrandDetails($foo->getsubbrandDetails());
  208.                                         $objectColor->setskuType($foo->getskuType());
  209.                                         $objectColor->setvendorDetails($foo->getvendorDetails());
  210.                                         $objectColor->setbrandDetails($foo->getbrandDetails());
  211.                                         $objectColor->setbuyerDetails($foo->getbuyerDetails());
  212.                                         $objectColor->setstatusCode($foo->getstatusCode());
  213.                                         $objectColor->setseasonDetails($foo->getseasonDetails());
  214.                                         $objectColor->setextdClassification($foo->getextdClassification());
  215.                                         $objectColor->setattDetails1($foo->getattDetails1());
  216.                                         $objectColor->setattDetails2($foo->getattDetails2());
  217.                                         $objectColor->setattDetails3($foo->getattDetails3());
  218.                                         $objectColor->setattDetails4($foo->getattDetails4());
  219.                                         $objectColor->setattDetails5($foo->getattDetails5());
  220.                                         $objectColor->sethierarchyDetails($foo->gethierarchyDetails());
  221.                                          $objectColor->setbuyUMCD($foo->getbuyUMCD());
  222.                                           $objectColor->setsellUMCD($foo->getsellUMCD());
  223.                                    $newIddata $objectColor->save();
  224.                         $newId $newIddata->getId();
  225.                       //  $logger->error( "saved".$newId, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  226. }
  227. catch(\Exception $e){
  228.             $errorMessage $e->getMessage();
  229.             $logger->error'only color '.$errorMessage, ['relatedObject' => $objectColor"versionNote" => date("Y-m-d")." version"]);
  230.           }
  231. if($totalsizes == 0)
  232. {
  233.     //$logger->error( 'only color '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  234.     $newObject11 = new DataObject\Size\Listing(); 
  235.  $newObject11->setCondition"sizeCode = ?",'9999');
  236.  $newObject11->load();
  237.                                           
  238.                                                                                    foreach ($newObject11 as $entrie
  239.                                          { 
  240.                                       $getsizeObjcetId=$entrie->getId(); 
  241.                                    }
  242.                     
  243.  $variantfornoothercount $this->checkSingleVariantIsPresentOrNot($src_id,$getsizeObjcetId,'sizeDetails');
  244.         
  245.         if($variantfornoothercount 1)
  246.         {
  247.           /*   $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$getsizeObjcetId."', 'object', 'sizeDetails', '".$j."', 'object', '', '0');";
  248.                             $stmt = Db::get()->prepare($qryy);
  249.                              $rdata =  $stmt->execute(); */
  250.         }                           
  251.     
  252.                              
  253.                              
  254. }
  255.                         
  256.                          // $mynewObject1 = DataObject::getById($newId);
  257.                          
  258.                          // $mynewObject1->save();
  259.         // $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$childId.")";
  260.         //  $dqrystmt = Db::get()->prepare($dqry);
  261.         //                      $dqrystmt =  $dqrystmt->execute();
  262. //$logger->error( 'only color1 '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  263. if($variantcount >)
  264.                                 {                        
  265. $newId =  $src_id
  266.                                 }
  267.                                 
  268.                                 
  269.  $relations $this->addRelation($newId,$colorobjectId,'colorDetails',$j);
  270.  
  271.  
  272. if($variantcount 1)
  273.                                 {
  274.                                     
  275.                           
  276.                                $subqty1 "select * from object_relations_masterItem where src_id='".$pid."' and fieldname NOT IN ('colorDetails','sizeDetails')";
  277.                                $subqty Db::get()->prepare($subqty1);
  278.                                  $subqty->execute();
  279.                                 $subqtydata =$subqty->fetchAll();
  280.                                 $mn=0;
  281.                                 while($mn<count($subqtydata))
  282.                                 {
  283.                             //         $subdest_id = $subqtydata[$mn]['dest_id'];
  284.                             //         $subfieldname = $subqtydata[$mn]['fieldname'];
  285.                             //          $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$subdest_id."', 'object', '".$subfieldname."', '".$mn."', 'object', '', '0');";
  286.                             // $stmt = Db::get()->prepare($qryy);
  287.                             //    $stmt->execute();
  288.                                     $mn++;
  289.                                 }
  290. }
  291.       // $logger->error( 'only color '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  292.     
  293.                         $j++;
  294.                     }
  295.           $variantscount count($colorDetails);
  296.             if($j $variantscount)
  297.             {
  298.                $foo->setInVariantsProcess('no');
  299.                                   //  $foo->save();
  300.             }
  301.                 }
  302.                 else if($totalcolors == && $totalsizes 1)
  303.                 {
  304.                      $pp=0;
  305.                         $j=1;
  306.                         foreach ($sizeDetails as $lists
  307.                         {
  308.  $src_id $childIdArray[$pp];
  309.  
  310.  
  311.    
  312.                               
  313.                               
  314.   $sizecode=$lists->getsizeCode();
  315.                             $sizeobjectId=$lists->getId();
  316.  $pp++;
  317.                               $variantcount $this->checkSingleVariantIsPresentOrNot($src_id,$sizeobjectId,'sizeDetails');
  318.                             if($variantcount 0)
  319.                                 {
  320.                                         $objectSize DataObject::getById($src_id);
  321.                                 }
  322.                                 else
  323.                                 {
  324.                             $objectSize = new DataObject\ItemMaster();
  325.                         }
  326.                             $objectSize->setParent(DataObject\ItemMaster::getById($pid));
  327.                            
  328.                             $productname $itemShortDesc." ".$sizecode;
  329.                              $objectSize->setKey(\Pimcore\Model\Element\Service::getValidKey($productname'object'));
  330.                             $objectSize->setType(DataObject\AbstractObject::OBJECT_TYPE_VARIANT);
  331.                             
  332.                              $objectSize->setitemDesc($productname);
  333.                             $objectSize->setsetCode('0');
  334.                                   $objectSize->setitemShortDesc($itemShortDesc);
  335.                                     $objectSize->setstyleNum($styleNum);
  336.                                     $objectSize->setmfrNum($mfrNum);
  337.                                     $objectSize->setvendorPartNum($vendorPartNum);
  338.                                     $objectSize->setInVariantsProcess('yes');
  339. $tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectSize);
  340. $tireBrick->setcost($cost);
  341. $tireBrick->setsellingPrice($sellingPrice);
  342. $tireBrick->setoriginalSalePrice($originalSalePrice);
  343. $objectSize->getsalesInformation()->setSaleInformation($tireBrick);
  344.                             
  345.  $objectSize->setitemDesc($productname);
  346.                                       $objectSize->setsetCode('0');
  347.                                     $objectSize->setPublished(true);
  348. $objectSize->setpreventPosDl($preventPosDl);
  349. //$myObject->setsku($sku);
  350. $objectSize->setinnerPack($innerPack);
  351. $objectSize->setcasePack($casePack);
  352.                                     $objectSize->setitemShortDesc($itemShortDesc);
  353.                                     $objectSize->setstyleNum($styleNum);
  354.                                     $objectSize->setmfrNum($mfrNum);
  355.                                     $objectSize->setvendorPartNum($vendorPartNum);
  356.                                      $objectSize->setInVariantsProcess('yes');
  357.  $objectSize->setsubbrandDetails($foo->getsubbrandDetails());
  358.                                         $objectSize->setskuType($foo->getskuType());
  359.                                         $objectSize->setvendorDetails($foo->getvendorDetails());
  360.                                         $objectSize->setbrandDetails($foo->getbrandDetails());
  361.                                         $objectSize->setbuyerDetails($foo->getbuyerDetails());
  362.                                         $objectSize->setstatusCode($foo->getstatusCode());
  363.                                         $objectSize->setseasonDetails($foo->getseasonDetails());
  364.                                         $objectSize->setextdClassification($foo->getextdClassification());
  365.                                         $objectSize->setattDetails1($foo->getattDetails1());
  366.                                         $objectSize->setattDetails2($foo->getattDetails2());
  367.                                         $objectSize->setattDetails3($foo->getattDetails3());
  368.                                         $objectSize->setattDetails4($foo->getattDetails4());
  369.                                         $objectSize->setattDetails5($foo->getattDetails5());
  370.                                         $objectSize->sethierarchyDetails($foo->gethierarchyDetails());
  371.                                          $objectSize->setbuyUMCD($foo->getbuyUMCD());
  372.                                           $objectSize->setsellUMCD($foo->getsellUMCD());
  373.                                           
  374.                                    $newIddata $objectSize->save();
  375.                             $newId $newIddata->getId();
  376.                             
  377. if($totalcolors == 0)
  378. {
  379.     
  380.      $newObjectColor11 = new DataObject\Color\Listing(); 
  381.  $newObjectColor11->setCondition"colorCD = ?",'9999');
  382.  $newObjectColor11->load();
  383.                                           
  384.                                          foreach ($newObjectColor11 as $entrie
  385.                                          { 
  386.                                       $getColorObjcetId=$entrie->getId(); 
  387.                                    }
  388.                                    
  389.              $variantfornoothercount $this->checkSingleVariantIsPresentOrNot($newId,$getColorObjcetId,'colorDetails');
  390.         
  391.         if($variantfornoothercount 1)
  392.         {                       
  393.     /* $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$getColorObjcetId."', 'object', 'colorDetails', '".$j."', 'object', '', '0');";
  394.                             $stmt = Db::get()->prepare($qryy);
  395.                              $rdata =  $stmt->execute(); */
  396.             }                 
  397.                              
  398. }
  399.                             
  400.                             // $imob  = DataObject::getById($newId);
  401.                             //         $imob->setitemDesc($productname);
  402.                             //          $imob->setsetCode(0);
  403.                             //         $imob->save();
  404.          //                          $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$childId.")";
  405.          // $dqrystmt = Db::get()->prepare($dqry);
  406.          //                     $dqrystmt =  $dqrystmt->execute();   
  407.                             // throw new \Pimcore\Model\Element\ValidationException(".", 1234); 
  408. if($variantcount )
  409.                                 {                        
  410. $newId =  $src_id
  411.                                 }
  412.                         
  413.                             $relations $this->addRelation($newId,$sizeobjectId,'sizeDetails',$j);
  414. if($variantcount 1)
  415.                                 {
  416.                                     
  417. $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);      
  418.                              // $logger->error( 'only size '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  419.                          
  420.                               $subqty1 "select * from object_relations_masterItem where src_id='".$pid."' and fieldname NOT IN ('colorDetails','sizeDetails')";
  421.                               $subqty Db::get()->prepare($subqty1);
  422.                                  $subqty->execute();
  423.                                 $subqtydata =$subqty->fetchAll();
  424.                                 $mn=0;
  425.                                 while($mn<count($subqtydata))
  426.                                 {
  427. //                                     $subdest_id = $subqtydata[$mn]['dest_id'];
  428. //                                     $subfieldname = $subqtydata[$mn]['fieldname'];
  429. //                                      $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$subdest_id."', 'object', '".$subfieldname."', '".$mn."', 'object', '', '0');";
  430. // //$logger->error( 'only size '.$qryy, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  431. //                             $stmt = Db::get()->prepare($qryy);
  432. //                                $stmt->execute();
  433. }
  434. //$logger->error( 'only size '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  435.                                     $mn++;
  436.      
  437.    }
  438.   
  439.       
  440.     
  441.     
  442. $j++;
  443.                         }
  444.             
  445.             $variantscount count($sizeDetails);
  446.             if($j $variantscount)
  447.             {
  448.                $foo->setInVariantsProcess('no');
  449.                                    // $foo->save();
  450.             }
  451.                     }
  452.  else  if( $totalcolors &&  $totalsizes 0)
  453.                 {
  454.                           
  455.                                 $k=0;
  456.                                 $j=1;
  457.                                
  458.                                 $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
  459.                                 //$logger->error( "Id ->".$src_id, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  460.                                 foreach ($colorDetails as $sublists
  461.                                 {
  462.                                     //$colorcode=$sublists->getcolorCD();
  463.                                     $colorcode=$sublists->getshortDesc();
  464.                                     $colorobjectId=$sublists->getId();
  465.                                     //$colorcode=$sublists->getdesc();
  466.                                     
  467.                                     
  468.                                       $r=0;
  469.                             $i=1;
  470.                             $pp=0;
  471.                             foreach ($sizeDetails as $lists
  472.                             {
  473.                                 $sizecode=$lists->getsizeCode();
  474.                                 $sizeId=$lists->getId();
  475.                                 
  476.                                 
  477.                               //$src_id = $childIdArray[$pp];
  478.                               
  479.                               
  480.                                 
  481.                               /// exist data 
  482.                             
  483.                              
  484.                     
  485.                     
  486.                               
  487.    // $logger->error( "Id ->".implode(",",$childIdArray), ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  488.                                 $pp++;
  489.                                     
  490.                                         
  491.                                         
  492.                                     
  493.                                       if($childIdArray)
  494.                               {
  495.                                   $nqury "select * from object_masterItem where o_id IN (".implode(',',$childIdArray).") and colorDetails LIKE  '%,".$colorobjectId.",%' and sizeDetails LIKE  '%,".$sizeId.",%'";
  496.                               
  497.                              // $logger->error( "exist query ".$nqury);
  498.                                $exstmt Db::get()->prepare($nqury);
  499.                          $exstmt->execute();
  500.                     $exdataAll =$exstmt->fetchAll();  
  501.                     $src_id $exdataAll[0]['o_id'];
  502.                               }
  503.                                         
  504.                                    
  505.                                     $fieldname "'sizeDetails','colorDetails'";
  506.                                     
  507.                       //$logger->error( "Id ->".$src_id, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  508.                                 $variantcount $this->checkVariantIsPresentOrNot($src_id,$sizeId,$colorobjectId,$fieldname);
  509.                                     
  510.                                      // $logger->error( $src_id."variat ->".$variantcount, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  511.                                  //  throw new \Pimcore\Model\Element\ValidationException($variantcount."You are not authorised to update the Attribute Code. ", 1234); 
  512.                                     
  513.                                 if($variantcount 0)
  514.                                 {
  515.                                         $objectColor DataObject::getById($src_id);
  516.                                         $ss'1';
  517.                                         
  518.                                         
  519.                                         
  520.                                           
  521.         
  522.         $DBcolorDetails=$objectColor->getcolorDetails();
  523.         $DBsizeDetails=$objectColor->getsizeDetails();
  524.         foreach ($DBsizeDetails as $szlists
  525.                         {
  526.  $DBsizeobjectId=$szlists->getId();
  527.                         }
  528.                         
  529.                         foreach ($DBcolorDetails as $cllists
  530.                         {
  531.  $DBcolorobjectId=$cllists->getId();
  532.                         }
  533.  
  534.    
  535.                               
  536.                               
  537.  
  538.                            
  539.         
  540.           $szData  DataObject::getById($DBsizeobjectId);
  541.                                      $newsizecode=$szData->getsizeCode();
  542.                                      
  543.                                       $clData  DataObject::getById($DBcolorobjectId);
  544.                                      $newcolorcode=$clData->getshortDesc();
  545.                                      
  546.                                      
  547.         
  548.         $productname $itemShortDesc." ".$newsizecode ." ".$newcolorcode;
  549.                                     //$objectColor->setKey(\Pimcore\Model\Element\Service::getValidKey($productname, 'object'));
  550.                                 }
  551.                                 else
  552.                                 {
  553.                                     $objectColor = new DataObject\ItemMaster();
  554.                                      $ss'2';
  555.                                      
  556.                                      
  557.                                     $productname $itemShortDesc." ".$sizecode ." ".$colorcode;
  558.                                     $objectColor->setKey(\Pimcore\Model\Element\Service::getValidKey($productname'object'));
  559.                                 }
  560.                                // $logger->error( $ss."variat ->".$variantcount, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  561.                                 $objectColor->setParentId($pid);
  562.                                      
  563.                                      
  564.                                     
  565.                                       
  566.                                     
  567.                     //$logger->error( $src_id."name ->".$productname, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  568.                                     $objectColor->setType(DataObject\AbstractObject::OBJECT_TYPE_VARIANT);
  569.                                    $objectColor->setitemDesc($productname);
  570.                                       $objectColor->setsetCode('0');
  571.                                     $objectColor->setPublished(true);
  572.                                     $objectColor->setitemShortDesc($itemShortDesc);
  573.                                     $objectColor->setInVariantsProcess('yes');
  574.                                     $objectColor->setstyleNum($styleNum);
  575.                                     $objectColor->setmfrNum($mfrNum);
  576.                                     $objectColor->setvendorPartNum($vendorPartNum);
  577.         $objectColor->setsizeDetails( []);
  578.         $objectColor->setcolorDetails([]);
  579.         
  580. $tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectColor);
  581. $cost str_replace(','''$cost);
  582. $sellingPrice str_replace(','''$sellingPrice);
  583. $originalSalePrice str_replace(','''$originalSalePrice);
  584. $cost str_replace(' '''$cost);
  585. $sellingPrice str_replace(' '''$sellingPrice);
  586. $originalSalePrice str_replace(' '''$originalSalePrice);
  587. $tireBrick->setcost($cost);
  588. $tireBrick->setsellingPrice($sellingPrice);
  589. $tireBrick->setoriginalSalePrice($originalSalePrice);
  590. $objectColor->getsalesInformation()->setSaleInformation($tireBrick);
  591.                                     // $newIddata = $objectColor->save();
  592.                                     // $objectId = $newIddata->getId();
  593. //$myObject = DataObject::getById($objectId);
  594.                                       $objectColor->setsetCode('0');
  595.                                     $objectColor->setPublished(true);
  596. $objectColor->setpreventPosDl($preventPosDl);
  597. //$myObject->setsku($sku);
  598. $objectColor->setinnerPack($innerPack);
  599. $objectColor->setcasePack($casePack);
  600.                                    
  601.                                      try {
  602.                                         $objectColor->setsubbrandDetails($foo->getsubbrandDetails());
  603.                                         $objectColor->setskuType($foo->getskuType());
  604.                                         $objectColor->setvendorDetails($foo->getvendorDetails());
  605.                                         $objectColor->setbrandDetails($foo->getbrandDetails());
  606.                                         $objectColor->setbuyerDetails($foo->getbuyerDetails());
  607.                                         $objectColor->setstatusCode($foo->getstatusCode());
  608.                                         $objectColor->setseasonDetails($foo->getseasonDetails());
  609.                                         $objectColor->setextdClassification($foo->getextdClassification());
  610.                                         $objectColor->setattDetails1($foo->getattDetails1());
  611.                                         $objectColor->setattDetails2($foo->getattDetails2());
  612.                                         $objectColor->setattDetails3($foo->getattDetails3());
  613.                                         $objectColor->setattDetails4($foo->getattDetails4());
  614.                                         $objectColor->setattDetails5($foo->getattDetails5());
  615.                                         $objectColor->sethierarchyDetails($foo->gethierarchyDetails());
  616.                                          $objectColor->setbuyUMCD($foo->getbuyUMCD());
  617.                                           $objectColor->setsellUMCD($foo->getsellUMCD());
  618.                                        
  619.  if($variantcount 0)
  620.                                 {
  621.                                      $objectColor->save();
  622.                                     $objectId $src_id;
  623.                                 }
  624.                                 else
  625.                                 {
  626.                                     $newIddata $objectColor->save();
  627.                                     $objectId $newIddata->getId();
  628.                                 }
  629.                                     
  630.                                 }
  631.                                 catch(\Exception $e){
  632.             $errorMessage $e->getMessage();
  633.           //  $logger->error( 'both color and sizes '.$errorMessage, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
  634.           }
  635.                     
  636. $sql12 "update object_masterItem set colorDetails =',".$colorobjectId.",' , sizeDetails = ',".$sizeId.",' where o_id='".$objectId."'";
  637.         $stmt12 Db::get()->prepare($sql12);
  638.         $stmt12->execute(); 
  639.         
  640.                                     //$ObjectId[] = $objectId;
  641.                                   //  $imob  = DataObject::getById($objectId);
  642.                                    
  643.                                    // $imob->save();
  644.  // $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$childId.")";
  645.  //         $dqrystmt = Db::get()->prepare($dqry);
  646.  //                             $dqrystmt =  $dqrystmt->execute();
  647.  // throw new \Pimcore\Model\Element\ValidationException($dqry.".", 1234); 
  648.                                      
  649.                                       $imob  DataObject::getById($colorobjectId);
  650.                                         $colodesc $imob->getdesc();
  651.                                         if($colodesc '')
  652.                                         {
  653.                                             //$tagdata = $this->AddTag($colodesc,$objectId);
  654.                                         }
  655.                                          
  656.                                     
  657. if($variantcount )
  658.                                 {
  659.                                     
  660.                                     //$logger->error( 'exist'.$src_id);
  661.                                    $objectId $src_id;    
  662.                                 }
  663.                                             //throw new \Pimcore\Model\Element\ValidationException("added", 1234); 
  664.                                             $imob  DataObject::getById($sizeId);
  665.                                         $colodesc $imob->getdescription();
  666.                                         if($colodesc '')
  667.                                         {
  668.                                             //$tagdata = $this->AddTag($colodesc,$objectId);
  669.                                         }
  670.                                         
  671. //if($variantcount < 1 )
  672.                             //   {
  673. if($objectId)
  674. {
  675.     
  676.  $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$objectId.") and fieldname  IN ('colorDetails','sizeDetails') ";
  677.          $dqrystmt Db::get()->prepare($dqry);
  678.                              $dqrystmt =  $dqrystmt->execute();
  679. $relations $this->addRelation($objectId,$colorobjectId,'colorDetails',$j);
  680. $relations $this->addRelation($objectId,$sizeId,'sizeDetails',$i);
  681. }
  682.                                 //}
  683.                                          $subqty1 "select * from object_relations_masterItem where src_id='".$pid."' and fieldname NOT IN ('colorDetails','sizeDetails')";
  684.                                 $subqty Db::get()->prepare($subqty1);
  685.                                  $subqty->execute();
  686.                                 $subqtydata =$subqty->fetchAll();
  687.                                 $mn=0;
  688.                                 while($mn<count($subqtydata))
  689.                                 {
  690.                                     $subdest_id $subqtydata[$mn]['dest_id'];
  691.                                     $subfieldname $subqtydata[$mn]['fieldname'];
  692.                                     $imob  DataObject::getById($subdest_id);
  693.                                         if($subfieldname == 'statusCode')
  694.                                         {
  695.                                                         $desc $imob->getdescription();
  696.                                         }
  697.                                         if($subfieldname == 'skuType')
  698.                                         {
  699.                                                         $desc $imob->getdescription();
  700.                                         }
  701.                                         if($subfieldname == 'vendorDetails')
  702.                                         {
  703.                                                         $desc $imob->getvendorName();
  704.                                         }
  705.                                         if($subfieldname == 'brandDetails')
  706.                                         {
  707.                                                         $desc $imob->getbrandName();
  708.                                                         if($desc '')
  709.                                         {
  710.                                             $tagdata $this->AddTag($desc,$objectId);
  711.                                         }
  712.                                         }
  713.                                         if($subfieldname == 'subbrandDetails')
  714.                                         {
  715.                                                         $desc $imob->getsubbrandName();
  716.                                                         if($desc '')
  717.                                         {
  718.                                             $tagdata $this->AddTag($desc,$objectId);
  719.                                         }
  720.                                         }
  721.                                         if($subfieldname == 'buyerDetails')
  722.                                         {
  723.                                                         $desc $imob->getbuyerName();
  724.                                         }
  725.                                         if($subfieldname == 'seasonDetails')
  726.                                         {
  727.                                                         $desc $imob->getdescription();
  728.                                                         if($desc '')
  729.                                         {
  730.                                             $tagdata $this->AddTag($desc,$objectId);
  731.                                         }
  732.                                         }
  733.                                         if($subfieldname == 'extdClassification')
  734.                                         {
  735.                                                         $desc $imob->getextdClassName();
  736.                                                         if($desc '')
  737.                                         {
  738.                                             $tagdata $this->AddTag($desc,$objectId);
  739.                                         }
  740.                                         }
  741.                                         if($subfieldname == 'attDetails1' || $subfieldname == 'attDetails2' || $subfieldname == 'attDetails3' || $subfieldname == 'attDetails4' || $subfieldname == 'attDetails5')
  742.                                         {
  743.                                                         $desc $imob->getdescription();
  744.                                         }
  745.                                         if($subfieldname == 'buyUMCD' || $subfieldname == 'sellUMCD')
  746.                                         {
  747.                                                         $desc $imob->getdescription();
  748.                                         }
  749.                                        
  750.                                         if($desc '')
  751.                                         {
  752.                                            // $tagdata = $this->AddTag($desc,$objectId);
  753.                                         }
  754.                                          
  755. if($variantcount 1)
  756.                                 {
  757.                             //          $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$objectId."', '".$subdest_id."', 'object', '".$subfieldname."', '".$mn."', 'object', '', '0');";
  758.                             // $stmt = Db::get()->prepare($qryy);
  759.                             //   $stmt->execute();
  760. }
  761.                                     $mn++;
  762.                                 }
  763.                                 
  764.                                 
  765.                                 
  766.                                 
  767.  $r++;
  768.                                 $i++;
  769.                                         
  770.                                 }
  771.                 
  772.                 
  773.                 $variantscount1 count($sizeDetails);
  774.                 $variantscount2 count($colorDetails);
  775.             
  776.             
  777.             $j++;
  778.                                     $k++;
  779.             
  780.                                
  781.                             }
  782.                             if($i 0)
  783.             {
  784.  // $userM = new \Pimcore\Model\User();
  785.  //     $user = $userM->getByName('user');
  786.  //     $userId =  $user->getId();
  787. $foo->setInVariantsProcess('no');
  788.                 $foo->setPublished(true);
  789.                                    // $foo->save();
  790. $table "object_masterItem";
  791.                     $sql "select * from ".$table." where o_parentId='".$pid."'";
  792.                     $stmt Db::get()->prepare($sql);
  793.                     $stmt->execute();
  794.                     $data11 =$stmt->fetchAll();
  795.                     $m1=0;
  796.                     while($m1<count($data11))
  797.                     {
  798.                         $peId $data11[$m1]['oo_id'];
  799.             
  800.                         if($peId != $pid)
  801.                         {
  802.  $subobject DataObject::getById($peId);
  803.               $subobject->setInVariantsProcess('no');
  804.                 // $subobject->setUserOwner($userId);
  805.                 // $subobject->setUserModification($userId);
  806.               $subobject->setPublished(true);
  807.                                             $subobject->save();
  808.             //$subobject1 = DataObject::getById($pid);
  809.              // $subobject1->setInVariantsProcess('no');
  810.                 // $subobject->setUserOwner($userId);
  811.                 // $subobject->setUserModification($userId);
  812.              // $subobject1->setPublished(true);
  813.               //$subobject1->save();
  814.                         }
  815.            
  816.                                            // unset($subobject);
  817.                         $m1++;
  818.                     }
  819.           
  820.           $sql "update object_masterItem set InVariantsProcess ='no' where oo_id='".$pid."'";
  821.         $stmt Db::get()->prepare($sql);
  822.         $stmt->execute();
  823.         // $sql = "update objects set InVariantsProcess ='no' where o_id='".$pid."'";
  824.         // $stmt = Db::get()->prepare($sql);
  825.         // $stmt->execute();
  826.           
  827.           //update  objects set o_published =  '1' where o_id = '80627' 
  828.  /* $peObject = new DataObject\ItemMaster\Listing();
  829.                                            
  830.                           $peObject->setCondition("o_parentId = :o_parentId", ["o_parentId" => $pid]);
  831.                                                 $peObject->load();
  832.                                             
  833.                                             foreach ($peObject as $entry) {
  834.                                                   $peId = $entry->getId();
  835.                                                    $subobject = DataObject::getById($peId);
  836.                                                     $subobject->setInVariantsProcess('no');
  837.                                             $subobject->save();
  838.                                             unset($subobject);
  839.                                               } */
  840.               $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
  841.  //$logger->error(  "in last loop", ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  842.             }
  843.                     }
  844.                
  845.                 
  846.                 else
  847.                 {
  848.                    
  849.                    
  850.                 }
  851.            
  852.     
  853.   $totalvariants =  $totalcolors *  $totalcolors;
  854. if($totalvariants 1)
  855. {
  856. $setCode =  $foo->getsetCode();
  857. if($setCode != '0' || $setCode != 0)
  858. {
  859.    throw new \Pimcore\Model\Element\ValidationException("Please set setcode to 0."1234); 
  860. }
  861. }
  862.                 // $imob1  = DataObject::getById($pid);
  863.                                   
  864.                 //  $imob1->setsetCode(0);
  865.                 //  $imob1->save();
  866.  
  867. if($totalrec 0)
  868. {
  869.     $styleNum $foo->getstyleNum();
  870. $mfrNum $foo->getmfrNum();
  871. $vendorPartNum $foo->getvendorPartNum();
  872. $preventPosDl $foo->getpreventPosDl();
  873. $setCode $foo->getsetCode();
  874. $innerPack $foo->getinnerPack();
  875. $casePack $foo->getcasePack();
  876. $POS12_Desc $foo->getPOS12_Desc();
  877. $itemMasterStatus $foo->getitemMasterStatus();
  878. $publishInBrandCom $foo->getpublishInBrandCom();
  879. $publishInZalora $foo->getpublishInZalora();
  880. $publishInTrunc $foo->getpublishInTrunc();
  881. $publishInLazada $foo->getpublishInLazada();
  882. $prodName $foo->getprodName();
  883. $prodID $foo->getprodID();
  884. $prodStyleID $foo->getprodStyleID();
  885. $handle $foo->gethandle();
  886. $prodLDesc $foo->getprodLDesc();
  887. $prodSDesc $foo->getprodSDesc();
  888. $inlineTextInfo $foo->getinlineTextInfo();
  889. $inlineTextInfo2 $foo->getinlineTextInfo2();
  890. $inlineTextInfo3 $foo->getinlineTextInfo3();
  891. $inlineTextInfo4 $foo->getinlineTextInfo4();
  892. $inlineTextInfo5 $foo->getinlineTextInfo5();
  893. $material $foo->getmaterial();
  894. $primaryCateg $foo->getprimaryCateg();
  895. $secondaryCateg $foo->getsecondaryCateg();
  896. $color $foo->getcolor();
  897. $colorFamily $foo->getcolorFamily();
  898. $size $foo->getsize();
  899. $seasonType $foo->getseasonType();
  900. $seasonYear $foo->getseasonYear();
  901. $gender $foo->getgender();
  902. $ageGroup $foo->getageGroup();
  903. $Vendor $foo->getVendor();
  904. $prodType $foo->getprodType();
  905. $prodTags $foo->getprodTags();
  906. $attributes $foo->getattributes();
  907. $mainAsset $foo->getmainAsset();
  908. $addAssets $foo->getaddAssets();
  909. $fabricAsset $foo->getfabricAsset();
  910. $swatch $foo->getswatch();
  911. $Status $foo->getStatus();
  912. $ZaloraSellerSKU $foo->getZaloraSellerSKU();
  913. $SkuSupplierConfig $foo->getSkuSupplierConfig();
  914. //$ZaloraCategories = $foo->getZaloraCategories();
  915. $ZaloraImages $foo->getZaloraImages();
  916. $Zalora $foo->getZalora();
  917. $TruncCategories $foo->getTruncCategories();
  918. $Trunc $foo->getTrunc();
  919. $LazadaCategories $foo->getLazadaCategories();
  920. $Lazada $foo->getLazada();
  921. $collections $foo->getcollections();
  922. $customCollections $foo->getcustomCollections();
  923. //$BrandsComCategories = $foo->getBrandsComCategories();
  924. $BrandCom $foo->getBrandCom();
  925. $ProcessJDA $foo->getProcessJDA();
  926. $shopifyProdStatus $foo->getshopifyProdStatus();
  927. $tempSuffix =$foo->gettempSuffix();
  928. $handle =$foo->gethandle();
  929. $Vendor =$foo->getVendor();
  930. $prodType =$foo->getprodType();
  931. $collections =$foo->getcollections();
  932. $ShopifyProdTags =$foo->getShopifyProdTags();
  933. $ShopifyprodPromotionalTags =$foo->getShopifyprodPromotionalTags();
  934. $start_date =$foo->getstart_date();
  935. $end_date =$foo->getend_date();
  936. $promotional_tags_status =$foo->getpromotional_tags_status();
  937. $Status =$foo->getStatus();
  938. $ZaloraSellerSKU =$foo->getZaloraSellerSKU();
  939. $SkuSupplierConfig =$foo->getSkuSupplierConfig();
  940. $ZaloraPrimaryCateg =$foo->getZaloraPrimaryCateg();
  941. $ZaloraSecondaryCateg =$foo->getZaloraSecondaryCateg();
  942. $ZaloraImages $foo->getZaloraImages();
  943. $Luxury =$foo->getLuxury();
  944. $MaterialComposition $foo->getMaterialComposition();
  945. $Ocassion $foo->getOcassion();
  946. $Pattern $foo->getPattern();
  947. $ZaloraSellingPrice $foo->getZaloraSellingPrice();
  948. $TruncCategories $foo->getTruncCategories();
  949. $LazadaCategories $foo->getLazadaCategories();
  950.     $k=0;
  951.    
  952.                 $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);    
  953.                     
  954.                     
  955.                    while($k<count($childIdArray))
  956.                    {
  957.                     $objectId $childIdArray[$k];
  958.                     
  959.                     
  960.   
  961.                      
  962. $objectDataI DataObject::getById($objectId);
  963. if($objectDataI)
  964. {
  965.     
  966. if($foo->getBrandCom())
  967. {
  968.     if($foo->getBrandCom()->getDune())
  969.     {
  970.         $templateSuffix $foo->getBrandCom()->getDune()->gettemplateSuffix();
  971.         $title_tag $foo->getBrandCom()->getDune()->gettitle_tag();
  972.         $description_tag $foo->getBrandCom()->getDune()->getdescription_tag();
  973.         $item_code $foo->getBrandCom()->getDune()->getitem_code();
  974.         $variant_fastening $foo->getBrandCom()->getDune()->getvariant_fastening();
  975.         $variant_feature $foo->getBrandCom()->getDune()->getvariant_feature();
  976.         $variant_finish $foo->getBrandCom()->getDune()->getvariant_finish();
  977.         $variant_heel_shape $foo->getBrandCom()->getDune()->getvariant_heel_shape();
  978.         $variant_lining_material $foo->getBrandCom()->getDune()->getvariant_lining_material();
  979.         $variant_material $foo->getBrandCom()->getDune()->getvariant_material();
  980.         $variant_origin $foo->getBrandCom()->getDune()->getvariant_origin();
  981.         $variant_pattern $foo->getBrandCom()->getDune()->getvariant_pattern();
  982.         $variant_sole_material $foo->getBrandCom()->getDune()->getvariant_sole_material();
  983.         $variant_toe_shape $foo->getBrandCom()->getDune()->getvariant_toe_shape();
  984.         $alt_name $foo->getBrandCom()->getDune()->getalt_name();
  985.         $variant_depth $foo->getBrandCom()->getDune()->getvariant_depth();
  986.         $variant_handle_bag_drop $foo->getBrandCom()->getDune()->getvariant_handle_bag_drop();
  987.         $variant_length $foo->getBrandCom()->getDune()->getvariant_length();
  988.         $variant_strap_type $foo->getBrandCom()->getDune()->getvariant_strap_type();
  989.         $variant_width $foo->getBrandCom()->getDune()->getvariant_width();
  990.         $variant__heel_height $foo->getBrandCom()->getDune()->getvariant__heel_height();
  991.         $variant__item_code $foo->getBrandCom()->getDune()->getvariant__item_code();
  992.         $product_toe_shape $foo->getBrandCom()->getDune()->getproduct_toe_shape();
  993.         $variant_short_description $foo->getBrandCom()->getDune()->getvariant_short_description();
  994.         
  995.         
  996.         
  997.         $tireBrick1 = new DataObject\Objectbrick\Data\Dune($objectDataI);
  998.         
  999.         
  1000.         $tireBrick1->settemplateSuffix($templateSuffix);
  1001.         $tireBrick1->settitle_tag($title_tag);
  1002.         $tireBrick1->setdescription_tag($description_tag);
  1003.         $tireBrick1->setvariant_fastening($variant_fastening);
  1004.         $tireBrick1->setitem_code($item_code);
  1005.         $tireBrick1->setvariant_feature($variant_feature);
  1006.         $tireBrick1->setvariant_finish($variant_finish);
  1007.         $tireBrick1->setvariant_heel_shape($variant_heel_shape);
  1008.         $tireBrick1->setvariant_lining_material($variant_lining_material);
  1009.         $tireBrick1->setvariant_material($variant_material);
  1010.         $tireBrick1->setvariant_origin($variant_origin);
  1011.         $tireBrick1->setvariant_pattern($variant_pattern);
  1012.         $tireBrick1->setvariant_sole_material($variant_sole_material);
  1013.         $tireBrick1->setvariant_toe_shape($variant_toe_shape);
  1014.         $tireBrick1->setalt_name($alt_name);
  1015.         $tireBrick1->setvariant_depth($variant_depth);
  1016.         $tireBrick1->setvariant_handle_bag_drop($variant_handle_bag_drop);
  1017.         $tireBrick1->setvariant_length($variant_length);
  1018.         $tireBrick1->setvariant_strap_type($variant_strap_type);
  1019.         $tireBrick1->setvariant_width($variant_width);
  1020.         $tireBrick1->setvariant__heel_height($variant__heel_height);
  1021.         $tireBrick1->setvariant__item_code($variant__item_code);
  1022.         $tireBrick1->setproduct_toe_shape($product_toe_shape);
  1023.         $tireBrick1->setvariant_short_description($variant_short_description);
  1024.         
  1025.         $objectDataI->getBrandCom()->setDune($tireBrick1);
  1026.         
  1027.     }
  1028.     
  1029.     if($foo->getBrandCom()->getLUSH())
  1030.     {
  1031.         
  1032.         
  1033.         $templateSuffix $foo->getBrandCom()->getLUSH()->gettemplateSuffix();
  1034.         $title_tag $foo->getBrandCom()->getLUSH()->gettitle_tag();
  1035.         $description_tag $foo->getBrandCom()->getLUSH()->getdescription_tag();
  1036.         $specs_short_description $foo->getBrandCom()->getLUSH()->getspecs_short_description();
  1037.         $specs_featured_ingredienton1 $foo->getBrandCom()->getLUSH()->getspecs_featured_ingredienton1();
  1038.         $specs_ingredientsdienton2 $foo->getBrandCom()->getLUSH()->getspecs_ingredientsdienton2();
  1039.         $cresco_crescoIdton3 $foo->getBrandCom()->getLUSH()->getcresco_crescoIdton3();
  1040.         $judgeme_badge $foo->getBrandCom()->getLUSH()->getjudgeme_badge();
  1041.         $judgeme_widget $foo->getBrandCom()->getLUSH()->getjudgeme_widget();
  1042.         $specs_banner_image $foo->getBrandCom()->getLUSH()->getspecs_banner_image();
  1043.         $specs_gift_products $foo->getBrandCom()->getLUSH()->getspecs_gift_products();
  1044.         $c_f_specs $foo->getBrandCom()->getLUSH()->getc_f_specs();
  1045.         $specs_gift_products_gift_products $foo->getBrandCom()->getLUSH()->getspecs_gift_products_gift_products();
  1046.         $specs_banner_imgift_products1 $foo->getBrandCom()->getLUSH()->getspecs_banner_imgift_products1();
  1047.         $specs_banner_videoproducts2 $foo->getBrandCom()->getLUSH()->getspecs_banner_videoproducts2();
  1048.         $specs_banner_maintextroducts3 $foo->getBrandCom()->getLUSH()->getspecs_banner_maintextroducts3();
  1049.         $specs_banner_tabImgxtroducts4 $foo->getBrandCom()->getLUSH()->getspecs_banner_tabImgxtroducts4();
  1050.         $sub_description $foo->getBrandCom()->getLUSH()->getsub_description();
  1051.         $natural_ingredient $foo->getBrandCom()->getLUSH()->getnatural_ingredient();
  1052.         $safe_synthetics $foo->getBrandCom()->getLUSH()->getsafe_synthetics();
  1053.         $eo_occurence $foo->getBrandCom()->getLUSH()->geteo_occurence();
  1054.         
  1055.         $tireBrick2 = new DataObject\Objectbrick\Data\LUSH($objectDataI);
  1056.         
  1057.         $tireBrick2->settemplateSuffix($templateSuffix);
  1058.         $tireBrick2->settitle_tag($title_tag);
  1059.         $tireBrick2->setdescription_tag($description_tag);
  1060.         $tireBrick2->setspecs_short_description($specs_short_description);
  1061.         $tireBrick2->setspecs_featured_ingredienton1($specs_featured_ingredienton1);
  1062.         $tireBrick2->setspecs_ingredientsdienton2($specs_ingredientsdienton2);
  1063.         $tireBrick2->setcresco_crescoIdton3($cresco_crescoIdton3);
  1064.         $tireBrick2->setjudgeme_badge($judgeme_badge);
  1065.         $tireBrick2->setjudgeme_widget($judgeme_widget);
  1066.         $tireBrick2->setspecs_banner_image($specs_banner_image);
  1067.         $tireBrick2->setspecs_gift_products($specs_gift_products);
  1068.         $tireBrick2->setc_f_specs($c_f_specs);
  1069.         $tireBrick2->setspecs_gift_products_gift_products($specs_gift_products_gift_products);
  1070.         $tireBrick2->setspecs_banner_imgift_products1($specs_banner_imgift_products1);
  1071.         $tireBrick2->setspecs_banner_videoproducts2($specs_banner_videoproducts2);
  1072.         $tireBrick2->setspecs_banner_maintextroducts3($specs_banner_maintextroducts3);
  1073.         $tireBrick2->setspecs_banner_tabImgxtroducts4($specs_banner_tabImgxtroducts4);
  1074.         $tireBrick2->setsub_description($sub_description);
  1075.         $tireBrick2->seteo_occurence($eo_occurence);
  1076.         $tireBrick2->setnatural_ingredient($natural_ingredient);
  1077.         $tireBrick2->setsafe_synthetics($safe_synthetics);
  1078.         
  1079.         $objectDataI->getBrandCom()->setLUSH($tireBrick2);
  1080.         
  1081.     }
  1082.     
  1083.     if($foo->getBrandCom()->getLacoste())
  1084.     {
  1085.         
  1086.         $templateSuffix $foo->getBrandCom()->getLacoste()->gettemplateSuffix();
  1087.         $title_tag $foo->getBrandCom()->getLacoste()->gettitle_tag();
  1088.         $description_tag $foo->getBrandCom()->getLacoste()->getdescription_tag();
  1089.         $swatch_image $foo->getBrandCom()->getLacoste()->getswatch_image();
  1090.         $spec_swatch_image $foo->getBrandCom()->getLacoste()->getspec_swatch_image();
  1091.         $specs_product_ref $foo->getBrandCom()->getLacoste()->getspecs_product_ref();
  1092.         $specs_care_washing $foo->getBrandCom()->getLacoste()->getspecs_care_washing();
  1093.         $specs_care_bleaching $foo->getBrandCom()->getLacoste()->getspecs_care_bleaching();
  1094.         $specs_care_tumbledrying $foo->getBrandCom()->getLacoste()->getspecs_care_tumbledrying();
  1095.         $specs_care_ironing $foo->getBrandCom()->getLacoste()->getspecs_care_ironing();
  1096.         $specs_care_drycleaning $foo->getBrandCom()->getLacoste()->getspecs_care_drycleaning();
  1097.         $specs_care_drying $foo->getBrandCom()->getLacoste()->getspecs_care_drying();
  1098.         $specs_product_ref_old $foo->getBrandCom()->getLacoste()->getspecs_product_ref_old();
  1099.         $specs_productRef $foo->getBrandCom()->getLacoste()->getspecs_productRef();
  1100.         
  1101.         $tireBrick3 = new DataObject\Objectbrick\Data\Lacoste($objectDataI);
  1102.         
  1103.         
  1104.         $tireBrick3->settemplateSuffix($templateSuffix);
  1105.         $tireBrick3->settitle_tag($title_tag);
  1106.         $tireBrick3->setdescription_tag($description_tag);
  1107.         $tireBrick3->setswatch_image($swatch_image);
  1108.         $tireBrick3->setspec_swatch_image($spec_swatch_image);
  1109.         $tireBrick3->setspecs_product_ref($specs_product_ref);
  1110.         $tireBrick3->setspecs_care_washing($specs_care_washing);
  1111.         $tireBrick3->setspecs_care_bleaching($specs_care_bleaching);
  1112.         $tireBrick3->setspecs_care_tumbledrying($specs_care_tumbledrying);
  1113.         $tireBrick3->setspecs_care_ironing($specs_care_ironing);
  1114.         $tireBrick3->setspecs_care_drycleaning($specs_care_drycleaning);
  1115.         $tireBrick3->setspecs_care_drying($specs_care_drying);
  1116.         $tireBrick3->setspecs_product_ref_old($specs_product_ref_old);
  1117.         $tireBrick3->setspecs_productRef($specs_productRef);
  1118.         
  1119.         $objectDataI->getBrandCom()->setLacoste($tireBrick3);
  1120.         
  1121.         
  1122.         
  1123.     }
  1124.     
  1125.     if($foo->getBrandCom()->getSuperga())
  1126.     {
  1127.         
  1128.         $templateSuffix $foo->getBrandCom()->getSuperga()->gettemplateSuffix();
  1129.         $title_tag $foo->getBrandCom()->getSuperga()->gettitle_tag();
  1130.         $description_tag $foo->getBrandCom()->getSuperga()->getdescription_tag();
  1131.         $specs_style_number $foo->getBrandCom()->getSuperga()->getspecs_style_number();
  1132.         
  1133.         $tireBrick4 = new DataObject\Objectbrick\Data\Superga($objectDataI);
  1134.         
  1135.         
  1136.         $tireBrick4->settemplateSuffix($templateSuffix);
  1137.         $tireBrick4->settitle_tag($title_tag);
  1138.         $tireBrick4->setdescription_tag($description_tag);
  1139.         $tireBrick4->setspecs_style_number($specs_style_number);
  1140.         
  1141.         $objectDataI->getBrandCom()->setSuperga($tireBrick4);
  1142.                                                                 
  1143.     }
  1144.     
  1145.     
  1146. }
  1147. if($foo->getZalora())
  1148. {
  1149.     if($foo->getZalora()->getZAccesories())
  1150.     {
  1151.         $AccessoriesCollection $foo->getZalora()->getZAccesories()->getAccessoriesCollection();
  1152.         $TechnicalFeatures $foo->getZalora()->getZAccesories()->getTechnicalFeatures();
  1153.         
  1154.         $tireBrick5 = new DataObject\Objectbrick\Data\ZAccesories($objectDataI);
  1155.         
  1156.         $tireBrick5->setAccessoriesCollection($AccessoriesCollection);
  1157.         $tireBrick5->setTechnicalFeatures($TechnicalFeatures);
  1158.         
  1159.         $objectDataI->getZalora()->setZAccesories($tireBrick5);
  1160.         
  1161.     }
  1162.     
  1163.     if($foo->getZalora()->getZApparel())
  1164.     {
  1165.         $Details $foo->getZalora()->getZApparel()->getDetails();
  1166.         $Style $foo->getZalora()->getZApparel()->getStyle();
  1167.         $AType $foo->getZalora()->getZApparel()->getAType();
  1168.         $Care $foo->getZalora()->getZApparel()->getCare();
  1169.         $Fitting $foo->getZalora()->getZApparel()->getFitting();
  1170.         $Length $foo->getZalora()->getZApparel()->getLength();
  1171.         $Waist $foo->getZalora()->getZApparel()->getWaist();
  1172.         $Neck $foo->getZalora()->getZApparel()->getNeck();
  1173.         
  1174.         $tireBrick6 = new DataObject\Objectbrick\Data\ZApparel($objectDataI);
  1175.         
  1176.         $tireBrick6->setDetails($Details);
  1177.         $tireBrick6->setStyle($Style);
  1178.         $tireBrick6->setAType($AType);
  1179.         $tireBrick6->setCare($Care);
  1180.         $tireBrick6->setFitting($Fitting);
  1181.         $tireBrick6->setLength($Length);
  1182.         $tireBrick6->setWaist($Waist);
  1183.         $tireBrick6->setNeck($Neck);
  1184.         
  1185.         $objectDataI->getZalora()->setZApparel($tireBrick6);
  1186.         
  1187.     }
  1188.     if($foo->getZalora()->getZFootwear())
  1189.     {
  1190.         $Fastening $foo->getZalora()->getZFootwear()->getFastening();
  1191.         $ToeShape $foo->getZalora()->getZFootwear()->getToeShape();
  1192.         $ShoeWidth $foo->getZalora()->getZFootwear()->getShoeWidth();
  1193.         $HeelHeight $foo->getZalora()->getZFootwear()->getHeelHeight();
  1194.         $Heels $foo->getZalora()->getZFootwear()->getHeels();
  1195.         
  1196.         
  1197.         $tireBrick7 = new DataObject\Objectbrick\Data\ZFootwear($objectDataI);
  1198.         
  1199.         
  1200.         $tireBrick7->setFastening($Fastening);
  1201.         $tireBrick7->setToeShape($ToeShape);
  1202.         $tireBrick7->setShoeWidth($ShoeWidth);
  1203.         $tireBrick7->setHeelHeight($HeelHeight);
  1204.         $tireBrick7->setHeels($Heels);
  1205.         
  1206.         $objectDataI->getZalora()->setZFootwear($tireBrick7);
  1207.     }
  1208.     if($foo->getZalora()->getZUnderwearAndSwimwear())
  1209.     {
  1210.         $USType $foo->getZalora()->getZUnderwearAndSwimwear()->getUSType();
  1211.         
  1212.         $tireBrick8 = new DataObject\Objectbrick\Data\ZUnderwearAndSwimwear($objectDataI);
  1213.         
  1214.         
  1215.         $tireBrick8->setUSType($USType);
  1216.         
  1217.         $objectDataI->getZalora()->setZFootwear($tireBrick8);
  1218.     }
  1219.     
  1220.     if($foo->getZalora()->getZaloraAddFields())
  1221.     {
  1222.         $z_salePrice $foo->getZalora()->getZaloraAddFields()->getz_salePrice();
  1223.         $z_SaleStartDate $foo->getZalora()->getZaloraAddFields()->getz_SaleStartDate();
  1224.         $z_SaleEndDate $foo->getZalora()->getZaloraAddFields()->getz_SaleEndDate();
  1225.         $z_catalogType $foo->getZalora()->getZaloraAddFields()->getz_catalogType();
  1226.         $z_landingPage $foo->getZalora()->getZaloraAddFields()->getz_landingPage();
  1227.         $z_sizeSystem $foo->getZalora()->getZaloraAddFields()->getz_sizeSystem();
  1228.         $z_variants $foo->getZalora()->getZaloraAddFields()->getz_variants();
  1229.         $z_carelabel $foo->getZalora()->getZaloraAddFields()->getz_carelabel();
  1230.         $z_measurementDetails $foo->getZalora()->getZaloraAddFields()->getz_measurementDetails();
  1231.         $z_modeIsWearing $foo->getZalora()->getZaloraAddFields()->getz_modeIsWearing();
  1232.         $z_modeBodyMeasurement $foo->getZalora()->getZaloraAddFields()->getz_modeBodyMeasurement();
  1233.         
  1234.         $tireBrick9 = new DataObject\Objectbrick\Data\ZaloraAddFields($objectDataI);
  1235.         
  1236.         
  1237.         $tireBrick9->setz_salePrice($z_salePrice);
  1238.         $tireBrick9->setz_SaleStartDate($z_SaleStartDate);
  1239.         $tireBrick9->setz_SaleEndDate($z_SaleEndDate);
  1240.         $tireBrick9->setz_catalogType($z_catalogType);
  1241.         $tireBrick9->setz_landingPage($z_landingPage);
  1242.         $tireBrick9->setz_sizeSystem($z_sizeSystem);
  1243.         $tireBrick9->setz_variants($z_variants);
  1244.         $tireBrick9->setz_carelabel($z_carelabel);
  1245.         $tireBrick9->setz_measurementDetails($z_measurementDetails);
  1246.         $tireBrick9->setz_modeIsWearing($z_modeIsWearing);
  1247.         $tireBrick9->setz_modeBodyMeasurement($z_modeBodyMeasurement);
  1248.         
  1249.         $objectDataI->getZalora()->setZaloraAddFields($tireBrick9);
  1250.     }
  1251.     
  1252.     
  1253. }
  1254. if($foo->getTrunc())
  1255. {
  1256.         
  1257.         if($foo->getTrunc()->getTruncAdditionalFields())
  1258.         {
  1259.             $NewsFromDate $foo->getTrunc()->getTruncAdditionalFields()->getNewsFromDate();
  1260.             $NewsToDate $foo->getTrunc()->getTruncAdditionalFields()->getNewsToDate();
  1261.             $RelatedProducts $foo->getTrunc()->getTruncAdditionalFields()->getRelatedProducts();
  1262.             $UpSellProducts $foo->getTrunc()->getTruncAdditionalFields()->getUpSellProducts();
  1263.             $CrossSellProducts $foo->getTrunc()->getTruncAdditionalFields()->getCrossSellProducts();
  1264.             
  1265.             $tireBrick10 = new DataObject\Objectbrick\Data\TruncAdditionalFields($objectDataI);
  1266.             
  1267.             $tireBrick10->setNewsFromDate($NewsFromDate);
  1268.             $tireBrick10->setNewsToDate($NewsToDate);
  1269.             $tireBrick10->setRelatedProducts($RelatedProducts);
  1270.             $tireBrick10->setUpSellProducts($UpSellProducts);
  1271.             $tireBrick10->setCrossSellProducts($CrossSellProducts);
  1272.             
  1273.             $objectDataI->getTrunc()->setTruncAdditionalFields($tireBrick10);
  1274.             
  1275.         }
  1276.     
  1277. }
  1278. $objectDataI->setshopifyProdStatus($shopifyProdStatus);
  1279. $objectDataI->settempSuffix($tempSuffix);
  1280. $objectDataI->sethandle($handle);
  1281. $objectDataI->setVendor($Vendor);
  1282. $objectDataI->setprodType($prodType);
  1283. $objectDataI->setcollections($collections);
  1284. $objectDataI->setShopifyProdTags($ShopifyProdTags);
  1285. $objectDataI->setShopifyprodPromotionalTags($ShopifyprodPromotionalTags);
  1286. $objectDataI->setstart_date($start_date);
  1287. $objectDataI->setend_date($end_date);
  1288. $objectDataI->setpromotional_tags_status($promotional_tags_status);
  1289. $objectDataI->setStatus($Status);
  1290. $objectDataI->setZaloraSellerSKU($ZaloraSellerSKU);
  1291. $objectDataI->setZaloraPrimaryCateg($ZaloraPrimaryCateg);
  1292. $objectDataI->setZaloraSecondaryCateg($ZaloraSecondaryCateg);
  1293. $objectDataI->setZaloraImages($ZaloraImages);
  1294. $objectDataI->setLuxury($Luxury);
  1295. $objectDataI->setMaterialComposition($MaterialComposition);
  1296. $objectDataI->setOcassion($Ocassion);
  1297. $objectDataI->setPattern($Pattern);
  1298. $objectDataI->setZaloraSellingPrice($ZaloraSellingPrice);
  1299. $objectDataI->setTruncCategories($TruncCategories);
  1300. $objectDataI->setLazadaCategories($LazadaCategories);
  1301. $objectDataI->setProcessJDA($ProcessJDA);
  1302. /* $objectDataI->setcolor($color);
  1303. $objectDataI->setsize($size);
  1304.  $objectDataI->setmainAsset($mainAsset);
  1305. $objectDataI->setaddAssets($addAssets); */
  1306.  $objectDataI->setitemMasterStatus($itemMasterStatus);
  1307. /* $objectDataI->setpublishInBrandCom($publishInBrandCom);
  1308. $objectDataI->setpublishInZalora($publishInZalora);
  1309. $objectDataI->setpublishInTrunc($publishInTrunc);
  1310. $objectDataI->setpublishInLazada($publishInLazada); */
  1311. $objectDataI->setprodName($prodName);
  1312. $objectDataI->setprodID($prodID);
  1313. $objectDataI->setprodStyleID($prodStyleID);
  1314. $objectDataI->sethandle($handle);
  1315. $objectDataI->setprodLDesc($prodLDesc);
  1316. $objectDataI->setprodSDesc($prodSDesc);
  1317.  $objectDataI->setinlineTextInfo($inlineTextInfo);
  1318. $objectDataI->setinlineTextInfo2($inlineTextInfo2);
  1319. $objectDataI->setinlineTextInfo3($inlineTextInfo3);
  1320. $objectDataI->setinlineTextInfo4($inlineTextInfo4);
  1321. $objectDataI->setinlineTextInfo5($inlineTextInfo5); 
  1322. $objectDataI->setmaterial($material);
  1323. $objectDataI->setprimaryCateg($primaryCateg);
  1324. $objectDataI->setsecondaryCateg($secondaryCateg); 
  1325. //$objectDataI->setcolorFamily($colorFamily);
  1326. //$objectDataI->setsize(4);
  1327.  $objectDataI->setseasonType($seasonType);
  1328. $objectDataI->setseasonYear($seasonYear);
  1329. //$objectDataI->setgender($gender);
  1330. //$objectDataI->setageGroup($ageGroup);
  1331. //$objectDataI->setVendor($Vendor); 
  1332. //$objectDataI->setprodType($prodType);
  1333. $objectDataI->setprodTags($prodTags);
  1334. //$objectDataI->setattributes($attributes);
  1335. $Accessories $foo->getattributes()->getAccessories();
  1336. $Apparel $foo->getattributes()->getApparel();
  1337. $Bags $foo->getattributes()->getBags();
  1338. $Beauty $foo->getattributes()->getBeauty();
  1339. $Dimensions $foo->getattributes()->getDimensions();
  1340. $Foods $foo->getattributes()->getFoods();
  1341. $Footwear $foo->getattributes()->getFootwear();
  1342. $Gifts $foo->getattributes()->getGifts();
  1343. if($Accessories)
  1344. $objectDataI->getattributes()->setAccessories($Accessories);
  1345. if($Apparel)
  1346. $objectDataI->getattributes()->setApparel($Apparel);
  1347. if($Bags)
  1348. $objectDataI->getattributes()->setBags($Bags);
  1349. if($Beauty)
  1350. $objectDataI->getattributes()->setBeauty($Beauty);
  1351. if($Dimensions)
  1352. $objectDataI->getattributes()->setDimensions($Dimensions);
  1353. if($Foods)
  1354. $objectDataI->getattributes()->setFoods($Foods);
  1355. if($Footwear)
  1356. $objectDataI->getattributes()->setFootwear($Footwear);
  1357. if($Gifts)
  1358. $objectDataI->getattributes()->setGifts($Gifts);
  1359. /*
  1360. $objectDataI->setfabricAsset($fabricAsset);
  1361. $objectDataI->setswatch($swatch); */
  1362. $objectDataI->setStatus($Status);
  1363.  $objectDataI->setZaloraSellerSKU($ZaloraSellerSKU);
  1364. $objectDataI->setSkuSupplierConfig($SkuSupplierConfig);
  1365. //$objectDataI->setZaloraCategories($ZaloraCategories);
  1366. /* $objectDataI->setZaloraImages($ZaloraImages);
  1367. $objectDataI->setZalora($Zalora);
  1368. $objectDataI->setTruncCategories($TruncCategories);
  1369. $objectDataI->setTrunc($Trunc);
  1370. $objectDataI->setLazadaCategories($LazadaCategories);
  1371. $objectDataI->setLazada($Lazada );*/
  1372. //$objectDataI->setcollections($collections);
  1373. //$objectDataI->setcustomCollections($customCollections);
  1374. //$objectDataI->setBrandsComCategories($BrandsComCategories);
  1375. //$objectDataI->setBrandCom(65); 
  1376. $objectDataI->setstyleNum($styleNum);
  1377. $objectDataI->setmfrNum($mfrNum);
  1378. $objectDataI->setvendorPartNum($vendorPartNum);
  1379. $objectDataI->setpreventPosDl($preventPosDl);
  1380. $objectDataI->setsetCode($setCode);
  1381. $objectDataI->setinnerPack($innerPack);
  1382. $objectDataI->setcasePack($casePack);
  1383. $objectDataI->setPOS12_Desc($POS12_Desc);
  1384. $tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectDataI);
  1385. $tireBrick->setcost($cost);
  1386. $tireBrick->setsellingPrice($sellingPrice);
  1387. $tireBrick->setoriginalSalePrice($originalSalePrice);
  1388. $objectDataI->getsalesInformation()->setSaleInformation($tireBrick);
  1389. //$objectDataI->setPublished(true);
  1390. }
  1391.  //$logger->error(  "in last loop", ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  1392. try {
  1393. $objectDataI->save();
  1394. }
  1395.  catch(\Exception $e){
  1396.                                             $errorMessage $e->getMessage();
  1397.                                                $logger->error$errorMessage, ['relatedObject' => $objectDataI"versionNote" => date("Y-m-d")." version"]);
  1398.                                           }
  1399.         unset($objectDataI);                                  
  1400.                                           
  1401.                     $k++;
  1402.                    }     
  1403. }
  1404.             }
  1405.         }
  1406.     }
  1407.     public function onPreAdd(ElementEventInterface $e)
  1408. {
  1409. }
  1410.  public function onPreUpdateold(ElementEventInterface $e)
  1411.  {}
  1412.     public function onPreUpdate(ElementEventInterface $e)
  1413. {
  1414.     
  1415.          
  1416.        
  1417.         if($e instanceof AssetEvent) {
  1418.             // do something with the asset
  1419.             $foo $e->getAsset(); 
  1420.         } else if ($e instanceof DocumentEvent) {
  1421.             // do something with the document
  1422.             $foo $e->getDocument(); 
  1423.         } else if ($e instanceof DataObjectEvent) {
  1424.             // do something with the object
  1425.             $foo $e->getObject(); 
  1426.              $pid =  $foo->getId();
  1427.              
  1428.             
  1429.                 
  1430.  $claname '';
  1431.                 $otype $foo->geto_type();
  1432.              if($otype == 'object')
  1433.              {
  1434.               $o_published =$foo->geto_published();
  1435.               $user = \Pimcore\Tool\Admin::getCurrentUser();
  1436.                  $claname $foo->geto_className();      
  1437.              }  
  1438.          // throw new \Pimcore\Model\Element\ValidationException($otype, 1234);      
  1439. if( ( $claname == 'itemMaster' || $claname == 'ItemMaster' ) && $otype == 'object' && $o_published == && $user != null)
  1440. {
  1441.      // $foo->setPublished(true);
  1442.     //throw new \Pimcore\Model\Element\ValidationException($otype, 1234);
  1443. //throw new \Pimcore\Model\Element\ValidationException("before update.", 1234);
  1444.     $table "object_masterItem";
  1445.                     $sql "select * from ".$table." where o_parentId='".$pid."'";
  1446.                     $stmt Db::get()->prepare($sql);
  1447.                     $stmt->execute();
  1448.                     $data =$stmt->fetchAll();
  1449.                     $totalrec count($data);
  1450. $tableOne "object_masterItem";
  1451.                             $query "select * from ".$tableOne." where oo_id='".$pid."'";
  1452.                             $statment Db::get()->prepare($query);
  1453.                             $statment->execute();
  1454.                             $dataGet =$statment->fetchAll();
  1455.                             $colorDetailsDB $dataGet[0]['colorDetails'];
  1456.                             $sizeDetailsDB $dataGet[0]['sizeDetails'];
  1457.                             
  1458. $colorDetails=$foo->getcolorDetails();
  1459. $sizeDetails=$foo->getsizeDetails();
  1460.  $styleNum $foo->getstyleNum();
  1461.  
  1462.   $dateTimeCreatedJDA $foo->getdateTimeCreatedJDA();
  1463.   
  1464.   
  1465. if(count($colorDetails) > ||  count($sizeDetails) > 1)
  1466. {
  1467.     
  1468.         
  1469.     if($styleNum=='')
  1470.     {
  1471.         //throw new \Pimcore\Model\Element\ValidationException("Please enter Syle Number.", 1234);
  1472.     }
  1473. }
  1474. if($dateTimeCreatedJDA)
  1475. {
  1476.     if($styleNum=='')
  1477.     {
  1478.         //throw new \Pimcore\Model\Element\ValidationException("Please enter Syle Number.", 1234);
  1479.     }
  1480.     
  1481. }
  1482. $newColorsArray =  array();
  1483. $newSizeArray =  array();
  1484. $r=0;
  1485.   foreach ($colorDetails as $lists
  1486.                     {
  1487.             
  1488.  
  1489.                         $newColorsArray[$r]=$lists->getId();
  1490. $r++;
  1491.                         }
  1492. $r=0;
  1493.   foreach ($sizeDetails as $listsx
  1494.                     {
  1495.             
  1496.  
  1497.                         $newSizeArray[$r]=$listsx->getId();
  1498. $r++;
  1499.                         }
  1500. if($styleNum)
  1501. {
  1502.     //print_r($newSizeArray);
  1503.         if(count($newSizeArray) < 1)
  1504.         {
  1505.             throw new \Pimcore\Model\Element\ValidationException("Please select atleast one size."1234);
  1506.         }
  1507.         
  1508.         if(count($newColorsArray) < 1)
  1509.         {
  1510.             throw new \Pimcore\Model\Element\ValidationException("Please select atleast one color."1234);
  1511.         }
  1512. }
  1513.                         $oldColors explode(','$colorDetailsDB);
  1514.                          $oldSizes explode(','$sizeDetailsDB);
  1515.                         $t=0;
  1516.                         while($t<count($oldColors))
  1517.                         {
  1518.                             if($oldColors[$t] != '')
  1519.                             {
  1520.                                  if (!(in_array($oldColors[$t], $newColorsArray)))
  1521.                                 {
  1522.                                     throw new \Pimcore\Model\Element\ValidationException("You are not allowed to remove the existing color."1234);
  1523.                                 }
  1524.                                 else
  1525.                                 {
  1526.                                   
  1527.   
  1528.                                 }
  1529.                             }
  1530.                            
  1531.                             $t++;
  1532.                         }
  1533.                          $t=0;
  1534.                         while($t<count($oldSizes))
  1535.                         {
  1536.                             if($oldSizes[$t] != '')
  1537.                             {
  1538.                                  if (!(in_array($oldSizes[$t], $newSizeArray)))
  1539.                                 {
  1540.                                     throw new \Pimcore\Model\Element\ValidationException("You are not allowed to remove the existing size."1234);
  1541.                                 }
  1542.                                 else
  1543.                                 {
  1544.                                   
  1545.   
  1546.                                 }
  1547.                             }
  1548.                            
  1549.                             $t++;
  1550.                         }
  1551. //61350,61352,61351
  1552. //throw new \Pimcore\Model\Element\ValidationException($totalrec, 1234);
  1553. if($totalrec == 0)
  1554. {
  1555. $itemShortDesc $foo->getitemShortDesc();
  1556. $itemDesc $foo->getitemDesc();
  1557. $colorDetails=$foo->getcolorDetails();
  1558. $sizeDetails=$foo->getsizeDetails();
  1559. $totalcolors count($colorDetails);
  1560. $totalsizes count($sizeDetails);                               
  1561.          
  1562. $brandDetails=$foo->getbrandDetails(); 
  1563. $extdClassification=$foo->getextdClassification(); 
  1564.  foreach ($brandDetails as $lists
  1565.                     {
  1566. $bbrand_id $lists->getId();
  1567. $brobjectData DataObject::getById($bbrand_id);
  1568. $brand_code1  $brobjectData->getbrandCD();
  1569.                         }
  1570.                          foreach ($extdClassification as $lists
  1571.                     {
  1572.                                 $ex_id $lists->getId();
  1573.                                 $exobjectData DataObject::getById($ex_id);
  1574.                                 $exbrandata  $exobjectData->getbrandCode();
  1575.                                 foreach ($exbrandata as $lists2
  1576.                                                     {
  1577.                                 $exbrand_id $lists2->getId();
  1578.                                 $brand_code2  $lists2->getbrandCD();
  1579.                                         }
  1580.                         }
  1581.                          if($brand_code2!='')
  1582.                         {
  1583.                            if($brand_code1 != $brand_code2)
  1584.                         {
  1585.                             throw new \Pimcore\Model\Element\ValidationException("Selected Extended Classification brand Code must be the same with Brand Details."1234);
  1586.                          
  1587.                         } 
  1588.                         }
  1589.                 if($totalcolors || $totalsizes 1)
  1590.                 {
  1591.                     $setcode $foo->getsetCode();
  1592.                   //  throw new \Pimcore\Model\Element\ValidationException($setcode."Please select set code 0.", 1234);
  1593.                         if($setcode != '0')
  1594.                         {
  1595.                             throw new \Pimcore\Model\Element\ValidationException("Please select set code 0."1234);
  1596.  
  1597.                         }
  1598.                 }
  1599.            
  1600.   $totalvariants =  $totalcolors *  $totalcolors;
  1601. if($totalvariants 1)
  1602. {
  1603.   if($foo->gettype() == 'object')
  1604.   {
  1605.    $foo->setInVariantsProcess('yes');
  1606.   }
  1607. $setCode =  $foo->getsetCode();
  1608. if($setCode != '0' || $setCode != 0)
  1609. {
  1610.    throw new \Pimcore\Model\Element\ValidationException("Please set setcode to 0."1234); 
  1611. }
  1612. }
  1613.              
  1614.  
  1615. }
  1616. else
  1617. {
  1618. //throw new \Pimcore\Model\Element\ValidationException("Please select set code 0.", 1234);
  1619. }
  1620.             }
  1621.         }
  1622. }
  1623.  public function AddTag($tagname,$id)
  1624.              {
  1625.               $tags = \Pimcore\Model\Element\Tag::getTagsForElement('object'$id);
  1626. $t=0;
  1627. $tagArray = array();
  1628. while($t<count($tags))
  1629. {
  1630.   $tagArray[] = $tags[$t]->name;
  1631.   $t++;
  1632. }
  1633. if(in_array($tagname$tagArray))
  1634. {
  1635.   //echo "available";
  1636. }
  1637. else
  1638. {
  1639.     $tag =  new \Pimcore\Model\Element\Tag();
  1640.   try {
  1641.       $tag->setName($tagname)->save();
  1642.       \Pimcore\Model\Element\Tag::addTagToElement('object'$id$tag);
  1643.   } catch (Exception $e) {
  1644.   }
  1645. }
  1646. return true;
  1647.              }
  1648.              function checkVariantIsPresentOrNot($src_id,$sizeId,$colorobjectId,$fieldname)
  1649.              {
  1650.               $count=0;
  1651.               if($src_id != '' && $src_id != '0')
  1652.               {
  1653.                  $tablename "object_relations_masterItem";
  1654.                  $sql "select * from ".$tablename." where  src_id  = '".$src_id."'  and   fieldname IN  (".$fieldname.")";
  1655.                 // throw new \Pimcore\Model\Element\ValidationException($sql."", 1234); 
  1656.                   $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
  1657.                                         
  1658.                                     //$logger->error( $sql, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  1659.                            $stmt Db::get()->prepare($sql);
  1660.                          $stmt->execute();
  1661.                     $dataAll =$stmt->fetchAll();
  1662.                     $count count($dataAll);
  1663.               }
  1664.  
  1665.                     return $count;
  1666.              }
  1667.              function addRelation($src_id,$dest_id,$fieldname,$index)
  1668.              {
  1669.                 $tablename "object_relations_masterItem";
  1670.                  $sql "select * from ".$tablename." where  src_id  = '".$src_id."'  and dest_id = '".$dest_id."'  and  fieldname = '".$fieldname."'";
  1671.                  //throw new \Pimcore\Model\Element\ValidationException($sql."", 1234); 
  1672.                            $stmt Db::get()->prepare($sql);
  1673.                          $stmt->execute();
  1674.                     $dataAll =$stmt->fetchAll();
  1675.                     $count count($dataAll);
  1676.                     if($count 1)
  1677.                     {
  1678.                       $qryy "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$src_id."', '".$dest_id."', 'object', '".$fieldname."', '".$index."', 'object', '', '0');";
  1679.                                             $stmt Db::get()->prepare($qryy);
  1680.                                         $rdata =  $stmt->execute();  
  1681.                     } 
  1682.  
  1683.              }
  1684.              function checkSingleVariantIsPresentOrNot($src_id,$dest_id,$fieldname)
  1685.              {
  1686.   $tablename "object_relations_masterItem";
  1687.                  $sql "select * from ".$tablename." where  src_id  = '".$src_id."'  and  dest_id ='".$dest_id."' and  fieldname = '".$fieldname."'";
  1688.                 //throw new \Pimcore\Model\Element\ValidationException($sql."", 1234); 
  1689.                   $logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
  1690.                                         
  1691.                                    // $logger->error( $sql, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
  1692.                            $stmt Db::get()->prepare($sql);
  1693.                          $stmt->execute();
  1694.                     $dataAll =$stmt->fetchAll();
  1695.                     $count count($dataAll);
  1696.                     return $count;
  1697.              }
  1698. }
  1699. ?>