/**
* Most of the code in the Qalingo project is copyrighted Hoteia and licensed
* under the Apache License Version 2.0 (release version 0.8.0)
* http://www.apache.org/licenses/LICENSE-2.0
*
* Copyright (c) Hoteia, 2012-2014
* http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com
*
*/
package org.hoteia.qalingo.core.service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.hoteia.qalingo.core.dao.ProductDao;
import org.hoteia.qalingo.core.domain.Asset;
import org.hoteia.qalingo.core.domain.CatalogCategoryMasterProductSkuRel;
import org.hoteia.qalingo.core.domain.CatalogCategoryVirtual;
import org.hoteia.qalingo.core.domain.CatalogCategoryVirtualProductSkuRel;
import org.hoteia.qalingo.core.domain.ProductBrand;
import org.hoteia.qalingo.core.domain.ProductBrandCustomerComment;
import org.hoteia.qalingo.core.domain.ProductBrandCustomerRate;
import org.hoteia.qalingo.core.domain.ProductBrandStoreRel;
import org.hoteia.qalingo.core.domain.ProductMarketing;
import org.hoteia.qalingo.core.domain.ProductMarketingCustomerComment;
import org.hoteia.qalingo.core.domain.ProductMarketingCustomerRate;
import org.hoteia.qalingo.core.domain.ProductSku;
import org.hoteia.qalingo.core.domain.ProductSkuCustomerComment;
import org.hoteia.qalingo.core.domain.ProductSkuOptionDefinition;
import org.hoteia.qalingo.core.domain.ProductSkuOptionDefinitionType;
import org.hoteia.qalingo.core.domain.ProductSkuStorePrice;
import org.hoteia.qalingo.core.domain.ProductSkuStoreRel;
import org.hoteia.qalingo.core.domain.Store;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service("productService")
@Transactional
public class ProductService {
@Autowired
protected ProductDao productDao;
@Autowired
protected CatalogCategoryService catalogCategoryService;
// PRODUCT MARKETING
public ProductMarketing getProductMarketingById(final Long productMarketingId, Object... params) {
return productDao.getProductMarketingById(productMarketingId, params);
}
public ProductMarketing getProductMarketingById(final String rawProductMarketingId, Object... params) {
long productMarketingId = -1;
try {
productMarketingId = Long.parseLong(rawProductMarketingId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductMarketingById(productMarketingId, params);
}
public ProductMarketing getProductMarketingByCode(final String productMarketingCode, Object... params) {
return productDao.getProductMarketingByCode(productMarketingCode, params);
}
public CatalogCategoryVirtual getDefaultVirtualCatalogCategory(final ProductMarketing productMarketing, final List<CatalogCategoryVirtual> catalogCategories, boolean withFallback) {
return getDefaultVirtualCatalogCategory(productMarketing.getDefaultProductSku(), catalogCategories, withFallback);
}
public CatalogCategoryVirtual getDefaultVirtualCatalogCategory(final ProductSku productSku, final List<CatalogCategoryVirtual> catalogCategories, boolean withFallback) {
if(catalogCategories != null){
for (Iterator<CatalogCategoryVirtual> iteratorCatalogCategoryVirtual = catalogCategories.iterator(); iteratorCatalogCategoryVirtual.hasNext();) {
CatalogCategoryVirtual catalogCategoryVirtual = (CatalogCategoryVirtual) iteratorCatalogCategoryVirtual.next();
for (Iterator<CatalogCategoryVirtualProductSkuRel> iteratorCatalogCategoryProductSkuRel = catalogCategoryVirtual.getCatalogCategoryProductSkuRels().iterator(); iteratorCatalogCategoryProductSkuRel.hasNext();) {
CatalogCategoryVirtualProductSkuRel catalogCategoryVirtualProductSkuRel = (CatalogCategoryVirtualProductSkuRel) iteratorCatalogCategoryProductSkuRel.next();
if(productSku.getCode().equals(catalogCategoryVirtualProductSkuRel.getProductSku().getCode())
&& catalogCategoryVirtualProductSkuRel.isDefaultCategory()){
return catalogCategoryVirtual;
}
}
}
if(withFallback
&& catalogCategories.size() > 0){
return catalogCategories.iterator().next();
}
}
return null;
}
public Long countProductMarketing() {
return productDao.countProductMarketing();
}
public List<ProductMarketing> findProductMarketings(Object... params) {
return findAllProductMarketings(params);
}
public List<ProductMarketing> findAllProductMarketings(Object... params) {
List<ProductMarketing> productMarketings = productDao.findAllProductMarketings(params);
return productMarketings;
}
public List<Long> findAllProductMarketingIds() {
return findAllProductMarketingIds(0);
}
public List<Long> findAllProductMarketingIds(int maxResults) {
List<Long> productMarketings = productDao.findAllProductMarketingIds(maxResults);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingByRandom(int maxResults, Object... params) {
List<ProductMarketing> productMarketings = productDao.findProductMarketingByRandom(maxResults, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingEnableB2CByRandom(int maxResults, Object... params) {
List<ProductMarketing> productMarketings = productDao.findProductMarketingEnableB2CByRandom(maxResults, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketings(final String text, Object... params) {
List<ProductMarketing> productMarketings = productDao.findProductMarketings(text, params);
return productMarketings;
}
public List<Long> findProductMarketingIdsByBrandId(final Long brandId, Object... params) {
List<Long> productMarketings = productDao.findProductMarketingIdsByBrandId(brandId, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsByBrandId(final Long brandId, Object... params) {
List<ProductMarketing> productMarketings = productDao.findProductMarketingsByBrandId(brandId, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsByBrandCode(final String brandCode, Object... params) {
List<ProductMarketing> productMarketings = productDao.findProductMarketingsByBrandCode(brandCode, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsNotInThisMasterCatalogCategoryId(final Long categoryId, Object... params){
List<ProductMarketing> productMarketings = productDao.findProductMarketingsNotInThisMasterCatalogCategoryId(categoryId, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsByMasterCatalogCategoryId(final Long categoryId, Object... params){
List<ProductMarketing> productMarketings = productDao.findProductMarketingsByMasterCatalogCategoryId(categoryId, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsNotInThisVirtualCatalogCategoryId(final Long categoryId, Object... params){
List<ProductMarketing> productMarketings = productDao.findProductMarketingsNotInThisVirtualCatalogCategoryId(categoryId, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsByVirtualCatalogCategoryId(final Long categoryId, Object... params){
List<ProductMarketing> productMarketings = productDao.findProductMarketingsByVirtualCatalogCategoryId(categoryId, params);
return productMarketings;
}
public List<ProductMarketing> findProductMarketingsByVirtualCatalogCategoryCode(final String catalogVirtualCode, final String categoryCode, Object... params){
CatalogCategoryVirtual catalogCategoryVirtual = catalogCategoryService.getVirtualCatalogCategoryByCode(categoryCode, catalogVirtualCode, categoryCode, params);
List<ProductMarketing> productMarketings = productDao.findProductMarketingsByVirtualCatalogCategoryId(catalogCategoryVirtual.getId(), params);
return productMarketings;
}
public ProductMarketing saveOrUpdateProductMarketing(final ProductMarketing productMarketing) {
return productDao.saveOrUpdateProductMarketing(productMarketing);
}
public ProductMarketing createProductMarketing(final ProductMarketing productMarketing) {
return productDao.createProductMarketing(productMarketing);
}
public ProductMarketing updateProductMarketing(final ProductMarketing productMarketing) {
return productDao.updateProductMarketing(productMarketing);
}
public void deleteProductMarketing(final ProductMarketing productMarketing) {
productDao.deleteProductMarketing(productMarketing);
}
// PRODUCT MARKETING COMMENT/RATE
public ProductMarketingCustomerRate saveOrUpdateProductMarketingCustomerRate(final ProductMarketingCustomerRate customerRate) {
return productDao.saveOrUpdateProductMarketingCustomerRate(customerRate);
}
public void deleteProductMarketingCustomerRate(final ProductMarketingCustomerRate customerRate) {
productDao.deleteProductMarketingCustomerRate(customerRate);
}
public ProductMarketingCustomerComment saveOrUpdateProductMarketingCustomerComment(final ProductMarketingCustomerComment customerRate) {
return productDao.saveOrUpdateProductMarketingCustomerComment(customerRate);
}
public List<ProductMarketingCustomerComment> findProductMarketingCustomerCommentsByProductMarketingId(final Long productMarketingId, Object... params){
List<ProductMarketingCustomerComment> customerComments = productDao.findProductMarketingCustomerCommentsByProductMarketingId(productMarketingId, params);
return customerComments;
}
public List<ProductMarketingCustomerComment> findProductMarketingCustomerCommentsByProductMarketingIdAndMarketAreaId(final Long productMarketingId, final Long marketAreaId, Object... params){
List<ProductMarketingCustomerComment> customerComments = productDao.findProductMarketingCustomerCommentsByProductMarketingIdAndMarketAreaId(productMarketingId, marketAreaId, params);
return customerComments;
}
public List<ProductMarketingCustomerComment> findProductMarketingCustomerCommentsByCustomerId(final Long customerId, Object... params){
List<ProductMarketingCustomerComment> customerComments = productDao.findProductMarketingCustomerCommentsByCustomerId(customerId, params);
return customerComments;
}
public List<ProductSkuCustomerComment> findProductSkuCustomerCommentsByCustomerId(final Long customerId, Object... params){
List<ProductSkuCustomerComment> customerComments = productDao.findProductSkuCustomerCommentsByCustomerId(customerId, params);
return customerComments;
}
public List<ProductMarketingCustomerRate> findProductMarketingCustomerRatesByProductMarketingId(final Long productMarketingId, final String type, Object... params) {
List<ProductMarketingCustomerRate> customerRates = productDao.findProductMarketingCustomerRatesByProductMarketingId(productMarketingId, type, params);
return customerRates;
}
public Float calculateProductMarketingCustomerRatesByProductMarketingId(final Long productMarketingId) {
Float customerRate = productDao.calculateProductMarketingCustomerRatesByProductMarketingId(productMarketingId);
return customerRate;
}
public void deleteProductMarketingCustomerComment(final ProductMarketingCustomerComment customerRate) {
productDao.deleteProductMarketingCustomerComment(customerRate);
}
// PRODUCT MARKETING ASSET
public Asset getProductMarketingAssetById(final Long assetId, Object... params) {
return productDao.getProductMarketingAssetById(assetId, params);
}
public Asset getProductMarketingAssetById(final String rawAssetId, Object... params) {
long assetId = -1;
try {
assetId = Long.parseLong(rawAssetId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductMarketingAssetById(assetId, params);
}
public Asset saveOrUpdateProductMarketingAsset(final Asset productMarketingAsset) {
return productDao.saveOrUpdateProductMarketingAsset(productMarketingAsset);
}
public void deleteProductMarketingAsset(final Asset productMarketingAsset) {
productDao.deleteProductMarketingAsset(productMarketingAsset);
}
// PRODUCT SKU
public ProductSku getProductSkuById(final Long productSkuId, Object... params) {
return productDao.getProductSkuById(productSkuId, params);
}
public ProductSku getProductSkuById(final String rawProductSkuId, Object... params) {
long productSkuId = -1;
try {
productSkuId = Long.parseLong(rawProductSkuId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductSkuById(productSkuId, params);
}
public ProductSku getProductSkuByCode(final String skuCode, Object... params) {
return productDao.getProductSkuByCode(skuCode, params);
}
public ProductSku getProductSkuByEAN(final String skuEAN, Object... params) {
return productDao.getProductSkuByEAN(skuEAN, params);
}
public Long countProductSku() {
return productDao.countProductSku();
}
public List<Long> findAllProductSkuIds() {
return findProductSkuIds(0);
}
public List<Long> findProductSkuIds(int maxResults){
return productDao.findProductSkuIds(maxResults);
}
public List<String> findAllProductSkuCode() {
return findProductSkuCode(0);
}
public List<String> findProductSkuCode(int maxResults){
return productDao.findProductSkuCode(maxResults);
}
public List<Long> findProductSkuIdsEnableB2COrderByDateUpdate(int maxResults){
return productDao.findProductSkuIdsEnableB2COrderByDateUpdate(maxResults);
}
public List<Long> findProductSkuIdsByBrandId(final Long brandId, Object... params) {
return productDao.findProductSkuIdsByBrandId(brandId, params);
}
public List<Long> findProductSkuIdsByBrandIdOrderByDateUpdate(final Long brandId, int maxResults, Object... params){
return productDao.findProductSkuIdsByBrandIdOrderByDateUpdate(brandId, maxResults, params);
}
public List<ProductSku> findProductSkusByProductMarketingId(final Long productMarketingId, Object... params) {
List<ProductSku> skus = productDao.findProductSkusByproductMarketingId(productMarketingId, params);
return skus;
}
public List<ProductSku> findProductSkusByProductMarketingCode(final String productMarketingCode, Object... params) {
ProductMarketing productMarketing = getProductMarketingByCode(productMarketingCode, params);
List<ProductSku> skus = productDao.findProductSkusByproductMarketingId(productMarketing.getId(), params);
return skus;
}
public List<ProductSku> findProductSkus(final String text, Object... params) {
List<ProductSku> skus = productDao.findProductSkus(text, params);
return skus;
}
public List<ProductSku> findProductSkusByMasterCatalogCategoryId(Long categoryId, Object... params) {
List<ProductSku> skus = productDao.findProductSkusByMasterCatalogCategoryId(categoryId, params);
return skus;
}
public List<ProductSku> findProductSkusNotInThisMasterCatalogCategoryId(Long categoryId, Object... params) {
List<ProductSku> skus = productDao.findProductSkusNotInThisMasterCatalogCategoryId(categoryId, params);
return skus;
}
public List<ProductSku> findProductSkusByVirtualCatalogCategoryId(Long categoryId, Object... params) {
List<ProductSku> skus = productDao.findProductSkusByVirtualCatalogCategoryId(categoryId, params);
return skus;
}
public List<ProductSku> findProductSkusNotInThisVirtualCatalogCategoryId(Long categoryId, Object... params) {
List<ProductSku> skus = productDao.findProductSkusNotInThisVirtualCatalogCategoryId(categoryId, params);
return skus;
}
public List<Long> getProductIds(List<ProductSku> productSkus) {
List<Long> productSkuIds = new ArrayList<Long>();
for (ProductSku productSku : productSkus) {
productSkuIds.add(productSku.getId());
}
return productSkuIds;
}
public List<ProductSku> findProductSkusByStoreId(final Long storeId, Object... params) {
List<ProductSku> skus = productDao.findProductSkusByStoreId(storeId, params);
return skus;
}
public List<Long> findProductSkuIdsActiveByStoreId(final Long storeId, Object... params) {
List<Long> skuIds = productDao.findProductSkuIdsActiveByStoreId(storeId, params);
return skuIds;
}
public ProductSku saveOrUpdateProductSku(final ProductSku productSku) {
return productDao.saveOrUpdateProductSku(productSku);
}
public ProductSku createProductSku(final ProductSku productSku) {
return productDao.createProductSku(productSku);
}
public ProductSku updateProductSku(final ProductSku productSku) {
return productDao.updateProductSku(productSku);
}
public void deleteProductSku(final ProductSku productSku) {
productDao.deleteProductSku(productSku);
}
// PRODUCT SKU STORE
public ProductSkuStoreRel findProductSkuStoreRelByStoreIdAndSpecificCode(final Long storeId, final String specificCode, Object... params) {
return productDao.findProductSkuStoreRelByStoreIdAndSpecificCode(storeId, specificCode, params);
}
public List<ProductSkuStoreRel> findProductSkuStoreRelByProductSkuId(final Long productSkuId, Object... params) {
return productDao.findProductSkuStoreRelByProductSkuId(productSkuId, params);
}
public List<ProductSkuStoreRel> findProductSkuPriceBySkuIdAndMarketAreaId(final Long productSkuId, final Long marketAreaId, Object... params){
return productDao.findProductSkuPriceBySkuIdAndMarketAreaId(productSkuId, marketAreaId, params);
}
public ProductSkuStoreRel findProductSkuStoreRelByStoreIdAndProductId(final Long storeId, final Long productSkuId, Object... params) {
return productDao.findProductSkuStoreRelByStoreIdAndProductId(storeId, productSkuId, params);
}
public List<ProductSkuStoreRel> findProductSkuStoreRelByStoreId(final Long storeId, Object... params) {
return productDao.findProductSkuStoreRelByStoreId(storeId, params);
}
public List<ProductSkuStoreRel> getProductSkuStoreRelB2B(Object... params) {
return productDao.getProductSkuStoreRelB2B(params);
}
public ProductSkuStoreRel saveNewProductSkuStoreRel(final ProductSkuStoreRel productSkuStoreRel) {
return productDao.saveNewProductSkuStoreRel(productSkuStoreRel);
}
public ProductSkuStoreRel updateProductSkuStoreRel(final ProductSkuStoreRel productSkuStoreRel) {
return productDao.updateProductSkuStoreRel(productSkuStoreRel);
}
public void deleteProductSkuStoreRel(final ProductSkuStoreRel productSkuStoreRel) {
productDao.deleteProductSkuStoreRel(productSkuStoreRel);
}
// PRODUCT SKU ASSET
public Asset getProductSkuAssetById(final Long assetId, Object... params) {
return productDao.getProductSkuAssetById(assetId, params);
}
public Asset getProductSkuAssetById(final String rawAssetId, Object... params) {
long assetId = -1;
try {
assetId = Long.parseLong(rawAssetId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductSkuAssetById(assetId);
}
public Asset saveOrUpdateProductSkuAsset(final Asset productSkuAsset) {
return productDao.saveOrUpdateProductSkuAsset(productSkuAsset);
}
public void deleteProductSkuAsset(final Asset productSkuAsset) {
productDao.deleteProductSkuAsset(productSkuAsset);
}
// PRODUCT SKU OPTION DEFINITION
public ProductSkuOptionDefinition getProductSkuOptionDefinitionById(final Long productSkuOptionDefinitionId, Object... params) {
return productDao.getProductSkuOptionDefinitionById(productSkuOptionDefinitionId, params);
}
public ProductSkuOptionDefinition getProductSkuOptionDefinitionById(final String rawProductSkuOptionDefinitionId, Object... params) {
long productSkuOptionDefinitionId = -1;
try {
productSkuOptionDefinitionId = Long.parseLong(rawProductSkuOptionDefinitionId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductSkuOptionDefinitionById(productSkuOptionDefinitionId, params);
}
public ProductSkuOptionDefinition getProductSkuOptionDefinitionByCode(final String productSkuOptionDefinitionCode, Object... params) {
return productDao.getProductSkuOptionDefinitionByCode(productSkuOptionDefinitionCode, params);
}
public List<ProductSkuOptionDefinition> findAllProductSkuOptionDefinitions(Object... params) {
return productDao.findAllProductSkuOptionDefinitions(params);
}
public ProductSkuOptionDefinition saveOrUpdateProductSkuOptionDefinition(final ProductSkuOptionDefinition productSkuOptionDefinition) {
return productDao.saveOrUpdateProductSkuOptionDefinition(productSkuOptionDefinition);
}
public void deleteProductSkuOptionDefinition(final ProductSkuOptionDefinition productSkuOptionDefinition) {
productDao.deleteProductSkuOptionDefinition(productSkuOptionDefinition);
}
public ProductSkuOptionDefinitionType getProductSkuOptionDefinitionTypeById(final Long productSkuOptionDefinitionTypeId, Object... params) {
return productDao.getProductSkuOptionDefinitionTypeById(productSkuOptionDefinitionTypeId, params);
}
public ProductSkuOptionDefinitionType getProductSkuOptionDefinitionTypeById(final String rawProductSkuOptionDefinitionTypeId, Object... params) {
long productSkuOptionDefinitionTypeId = -1;
try {
productSkuOptionDefinitionTypeId = Long.parseLong(rawProductSkuOptionDefinitionTypeId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductSkuOptionDefinitionTypeById(productSkuOptionDefinitionTypeId, params);
}
public ProductSkuOptionDefinitionType getProductSkuOptionDefinitionTypeByCode(final String productSkuOptionDefinitionTypeCode, Object... params) {
return productDao.getProductSkuOptionDefinitionTypeByCode(productSkuOptionDefinitionTypeCode, params);
}
public List<ProductSkuOptionDefinitionType> findAllProductSkuOptionDefinitionTypes(Object... params) {
return productDao.findAllProductSkuOptionDefinitionTypes(params);
}
public ProductSkuOptionDefinitionType saveOrUpdateProductSkuOptionDefinitionType(final ProductSkuOptionDefinitionType productSkuOptionDefinitionType) {
return productDao.saveOrUpdateProductSkuOptionDefinitionType(productSkuOptionDefinitionType);
}
public void deleteProductSkuOptionDefinitionType(final ProductSkuOptionDefinitionType productSkuOptionDefinitionType) {
productDao.deleteProductSkuOptionDefinitionType(productSkuOptionDefinitionType);
}
// PRODUCT BRAND
public ProductBrand getProductBrandById(final Long productBrandId, Object... params) {
return productDao.getProductBrandById(productBrandId, params);
}
public ProductBrand getProductBrandById(final String rawProductBrandId, Object... params) {
long productBrandId = -1;
try {
productBrandId = Long.parseLong(rawProductBrandId);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
return getProductBrandById(productBrandId, params);
}
public ProductBrand getProductBrandByCode(final String productBrandCode, Object... params) {
return productDao.getProductBrandByCode(productBrandCode, params);
}
public Long countProductBrand() {
return productDao.countProductBrand();
}
public List<ProductBrand> findAllProductBrands(Object... params) {
return productDao.findAllProductBrands(params);
}
public List<Long> findAllProductBrandIds() {
return productDao.findAllProductBrandIds();
}
public List<Long> findAllProductBrandIdsEnabled(Object... params) {
return productDao.findAllProductBrandIdsEnabled(params);
}
public List<Long> findAllProductBrandIdsEnabledB2B(Object... params) {
return productDao.findAllProductBrandIdsEnabledB2B(params);
}
public List<Long> findAllProductBrandIdsEnabledB2C(Object... params) {
return productDao.findAllProductBrandIdsEnabledB2C(params);
}
public List<ProductBrand> findAllProductBrandsEnabled(Object... params) {
return productDao.findAllProductBrandsEnabled(params);
}
public List<ProductBrand> findProductBrandsByCatalogCategoryCode(final String categoryCode, Object... params) {
return productDao.findProductBrandsByCatalogCategoryCode(categoryCode, params);
}
public List<ProductBrand> findProductBrandsByText(String text, Object... params) {
return productDao.findProductBrandsByText(text, params);
}
public ProductBrand saveOrUpdateProductBrand(final ProductBrand productBrand) {
return productDao.saveOrUpdateProductBrand(productBrand);
}
public ProductBrand updateProductBrand(final ProductBrand productBrand) {
return productDao.updateProductBrand(productBrand);
}
public void deleteProductBrand(final ProductBrand productBrand) {
productDao.deleteProductBrand(productBrand);
}
public ProductBrandStoreRel getProductBrandStoreRelById(final ProductBrand productBrand, final Store store, Object... params) {
return productDao.getProductBrandStoreRelById(productBrand, store);
}
public List<Long> findStoreIdsByBrandId(final Long productBrandId, int maxResults, Object... params) {
List<Long> storeIds = productDao.findStoreIdsByBrandId(productBrandId, maxResults, params);
return storeIds;
}
public boolean salableBrandInStore(final Long storeId, final Long productBrandId, Object... params) {
ProductBrandStoreRel productBrandStoreRel = productDao.findProductBrandStoreRelByStoreIdAndBrandId(storeId, productBrandId, params);
if(productBrandStoreRel != null){
return true;
} else {
return false;
}
}
public List<Long> findProductBrandIdsByStoreId(final Long storeId, int maxResults, Object... params) {
List<Long> productBrandIds = productDao.findProductBrandIdsByStoreId(storeId, maxResults, params);
return productBrandIds;
}
public ProductBrandStoreRel saveOrUpdateProductBrandStoreRel(final ProductBrand productBrand, final Store store) {
ProductBrandStoreRel productBrandStoreRel = new ProductBrandStoreRel(productBrand, store);
return productDao.saveOrUpdateProductBrandStoreRel(productBrandStoreRel);
}
public void deleteProductBrandStoreRel(final ProductBrand productBrand, final Store store) {
ProductBrandStoreRel productBrandStoreRel = getProductBrandStoreRelById(productBrand, store);
productDao.deleteProductBrandStoreRel(productBrandStoreRel);
}
public void deleteAllProductBrandStoreRelByBrandId(final Long productBrandId) {
productDao.deleteAllProductBrandStoreRelByBrandId(productBrandId);
}
// PRODUCT BRAND COMMENT/RATE
public ProductBrandCustomerRate saveOrUpdateProductBrandCustomerRate(final ProductBrandCustomerRate customerRate) {
return productDao.saveOrUpdateProductBrandCustomerRate(customerRate);
}
public void deleteProductBrandCustomerRate(final ProductBrandCustomerRate customerRate) {
productDao.deleteProductBrandCustomerRate(customerRate);
}
public ProductBrandCustomerComment saveOrUpdateProductBrandCustomerComment(final ProductBrandCustomerComment customerRate) {
return productDao.saveOrUpdateProductBrandCustomerComment(customerRate);
}
public List<ProductBrandCustomerComment> findProductBrandCustomerCommentsByProductBrandId(final Long productMarketingId, Object... params){
List<ProductBrandCustomerComment> customerComments = productDao.findProductBrandCustomerCommentsByProductBrandId(productMarketingId, params);
return customerComments;
}
public List<ProductBrandCustomerComment> findProductBrandCustomerCommentsByProductBrandIdAndMarketAreaId(final Long productMarketingId, final Long marketAreaId, Object... params){
List<ProductBrandCustomerComment> customerComments = productDao.findProductBrandCustomerCommentsByProductBrandIdAndMarketAreaId(productMarketingId, marketAreaId, params);
return customerComments;
}
public List<ProductBrandCustomerComment> findProductBrandCustomerCommentsByCustomerId(final Long customerId, Object... params){
List<ProductBrandCustomerComment> customerComments = productDao.findProductBrandCustomerCommentsByCustomerId(customerId, params);
return customerComments;
}
public List<ProductBrandCustomerRate> findProductBrandCustomerRatesByProductBrandId(final Long productMarketingId, final String type, Object... params) {
List<ProductBrandCustomerRate> customerRates = productDao.findProductBrandCustomerRatesByProductBrandId(productMarketingId, type, params);
return customerRates;
}
public void deleteProductBrandCustomerComment(final ProductBrandCustomerComment customerRate) {
productDao.deleteProductBrandCustomerComment(customerRate);
}
// CATALOG CATEGORY MASTER PRODUCT SKU REL
public void createCatalogCategoryMasterProductSkuRel(final CatalogCategoryMasterProductSkuRel catalogCategoryMasterProductSkuRel) {
productDao.createCatalogCategoryMasterProductSkuRel(catalogCategoryMasterProductSkuRel);
}
// CATALOG CATEGORY VIRTUAL PRODUCT SKU REL
public void createCatalogCategoryVirtualProductSkuRel(final CatalogCategoryVirtualProductSkuRel catalogCategoryVirtualProductSkuRel) {
productDao.createCatalogCategoryVirtualProductSkuRel(catalogCategoryVirtualProductSkuRel);
}
public List<ProductSkuStorePrice> findProductSkuStorePrices(final Long storeId, final Long productSkuCode) {
return productDao.findProductSkuStorePrices(storeId, productSkuCode);
}
}