Exemplo n.º 1
0
 /**
  * @param $params
  * @param $apartmentId
  * @return bool
  */
 public function linkRoomRate($params, $apartmentId)
 {
     if (is_array($params) && isset($params['product_rates']) && isset($params['product_room'])) {
         if (isset($params['product_room']['room_id']) && isset($params['product_room']['cubilis_room_id'])) {
             $productTypeDao = new Room($this->getServiceLocator());
             $productTypeDao->updateCubilisLink($params['product_room']['room_id'], $params['product_room']['cubilis_room_id']);
         } else {
             return ['status' => 'error', 'msg' => TextConstants::BAD_REQUEST];
         }
         if (count($params['product_rates'])) {
             /** @var \DDD\Dao\Apartment\Rate  $productRateDao */
             $productRateDao = $this->getServiceLocator()->get('dao_apartment_rate');
             $productRateDao->clearCubilisLinks($params['product_room']['room_id']);
             foreach ($params['product_rates'] as $room) {
                 if (isset($room['rate_id']) && isset($room['cubilis_rate_id']) && (int) $room['rate_active']) {
                     $productRateDao->updateCubilisLink($room['rate_id'], $room['cubilis_rate_id']);
                 }
             }
         } else {
             return ['status' => 'error', 'msg' => TextConstants::BAD_REQUEST];
         }
     } else {
         return ['status' => 'error', 'msg' => TextConstants::BAD_REQUEST];
     }
     /**
      * @var \DDD\Service\Queue\InventorySynchronizationQueue $syncService
      * @var \DDD\Dao\Apartment\Inventory $inventoryDao
      */
     $inventoryDao = $this->getServiceLocator()->get('dao_apartment_inventory');
     $syncService = $this->getServiceLocator()->get('service_queue_inventory_synchronization_queue');
     // get min max date from inventory
     $dates = $inventoryDao->getMinMaxDate();
     // sync to queue
     $syncService->push($apartmentId, $dates['min_date'], $dates['max_date']);
     return ['status' => 'success', 'msg' => TextConstants::SUCCESS_UPDATE];
 }