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(); }