/** * get default reservation category id * @return string */ public function getDefaultReservationCategoryId() { $condition = ['name' => ModelProductCategory::RESERVATION_CATEGORY_NAME, 'accountId' => $this->accountId]; $category = ModelProductCategory::findOne($condition); $categoryId = ''; if (!empty($category)) { $categoryId = (string) $category->_id; } return $categoryId; }
public static function checkCategoryNameUniqueByName($name, $accountId, $categoryId) { $where = ['accountId' => $accountId, 'name' => $name]; $data = ProductCategory::findOne($where); if (empty($data)) { return true; } if (!empty($categoryId)) { if ($categoryId == $data->_id . '' && $data->name == $name) { return true; } } return false; }
private function checkReversationProperty($id, $propertyId, $accountId) { $condition = ['_id' => new MongoId($id), 'properties.id' => $propertyId, 'accountId' => $accountId]; $category = ProductCategory::findOne($condition); if (!empty($category)) { foreach ($category->properties as $properties) { if ($properties['id'] == $propertyId) { if ($category->name == ProductCategory::RESERVATION_CATEGORY_NAME && $properties['name'] == ProductCategory::RESERVATION_CATEGORY_PROPERTY_NAME) { throw new InvalidParameterException(['categoryPropertyName' => Yii::t("product", "can_not_update")]); } } } } }