예제 #1
0
 protected function updateProductAfterAction(Ess_M2ePro_Model_ListingsProducts $listingProduct, $ebayItemsId, $ebayStartDateRaw, $ebayEndDateRaw, $statusChanger, $saveEbayQtySold = false)
 {
     $dataForUpdate = array('ebay_items_id' => (int) $ebayItemsId, 'ebay_start_date' => Ess_M2ePro_Model_Connectors_Ebay_Abstract::ebayTimeToString($ebayStartDateRaw), 'ebay_end_date' => Ess_M2ePro_Model_Connectors_Ebay_Abstract::ebayTimeToString($ebayEndDateRaw), 'status' => Ess_M2ePro_Model_ListingsProducts::STATUS_LISTED, 'status_changer' => $statusChanger);
     if ($saveEbayQtySold) {
         $dataForUpdate['ebay_qty_sold'] = is_null($listingProduct->getEbayQtySold()) ? 0 : $listingProduct->getEbayQtySold();
         $dataForUpdate['ebay_qty'] = $listingProduct->getQty() + $dataForUpdate['ebay_qty_sold'];
     } else {
         $dataForUpdate['ebay_qty_sold'] = 0;
         $dataForUpdate['ebay_qty'] = $listingProduct->getQty();
     }
     if ($listingProduct->isListingTypeFixed()) {
         $dataForUpdate['ebay_start_price'] = NULL;
         $dataForUpdate['ebay_reserve_price'] = NULL;
         $dataForUpdate['ebay_buyitnow_price'] = $listingProduct->getBuyItNowPrice();
         $dataForUpdate['ebay_bids'] = NULL;
     } else {
         $dataForUpdate['ebay_start_price'] = $listingProduct->getStartPrice();
         $dataForUpdate['ebay_reserve_price'] = $listingProduct->getReservePrice();
         $dataForUpdate['ebay_buyitnow_price'] = $listingProduct->getBuyItNowPrice();
         $dataForUpdate['ebay_bids'] = 0;
     }
     $listingProduct->addData($dataForUpdate)->save();
 }