use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.
the class ProductNextGenTest method createOptionsSet.
private void createOptionsSet(MerchantStore store) throws Exception {
// add a set of option / values for major sizes
possibleSizes = new ProductOptionSet();
possibleSizes.setCode("majorSizes");
possibleSizes.setStore(store);
possibleSizes.setOption(size);
List<ProductOptionValue> values = new ArrayList<ProductOptionValue>();
values.add(nine);
values.add(ten);
possibleSizes.setValues(values);
productOptionSetService.create(possibleSizes);
}
use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.
the class ProductOptionSetFacadeImpl method delete.
@Override
public void delete(Long id, MerchantStore store) {
Validate.notNull(store, "MerchantStore cannot be null");
Validate.notNull(id, "id cannot be null");
ProductOptionSet opt = productOptionSetService.getById(id);
if (opt == null) {
throw new ResourceNotFoundException("ProductOptionSet not found for id [" + id + "] and store [" + store.getCode() + "]");
}
if (!opt.getStore().getCode().equals(store.getCode())) {
throw new ResourceNotFoundException("ProductOptionSet not found for id [" + id + "] and store [" + store.getCode() + "]");
}
try {
productOptionSetService.delete(opt);
} catch (ServiceException e) {
throw new ServiceRuntimeException("Exception while deleting ProductOptionSet", e);
}
}
use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.
the class ProductOptionSetFacadeImpl method create.
@Override
public void create(PersistableProductOptionSet optionSet, MerchantStore store, Language language) {
Validate.notNull(store, "MerchantStore cannot be null");
Validate.notNull(language, "Language cannot be null");
Validate.notNull(optionSet, "PersistableProductOptionSet cannot be null");
if (this.exists(optionSet.getCode(), store)) {
throw new OperationNotAllowedException("Option set with code [" + optionSet.getCode() + "] already exist");
}
ProductOptionSet opt = persistableProductOptionSetMapper.convert(optionSet, store, language);
try {
opt.setStore(store);
productOptionSetService.create(opt);
} catch (ServiceException e) {
throw new ServiceRuntimeException("Exception while creating ProductOptionSet", e);
}
}
use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.
the class ProductOptionSetFacadeImpl method list.
@Override
public List<ReadableProductOptionSet> list(MerchantStore store, Language language) {
Validate.notNull(store, "MerchantStore cannot be null");
Validate.notNull(language, "Language cannot be null");
try {
List<ProductOptionSet> optionSets = productOptionSetService.listByStore(store, language);
return optionSets.stream().map(opt -> this.convert(opt, store, language)).collect(Collectors.toList());
} catch (ServiceException e) {
throw new ServiceRuntimeException("Exception while listing ProductOptionSet", e);
}
}
use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.
the class ProductOptionSetFacadeImpl method update.
@Override
public void update(Long id, PersistableProductOptionSet optionSet, MerchantStore store, Language language) {
Validate.notNull(store, "MerchantStore cannot be null");
Validate.notNull(language, "Language cannot be null");
Validate.notNull(optionSet, "PersistableProductOptionSet cannot be null");
ProductOptionSet opt = productOptionSetService.getById(store, id, language);
if (opt == null) {
throw new ResourceNotFoundException("ProductOptionSet not found for id [" + id + "] and store [" + store.getCode() + "]");
}
optionSet.setId(id);
optionSet.setCode(opt.getCode());
ProductOptionSet model = persistableProductOptionSetMapper.convert(optionSet, store, language);
try {
model.setStore(store);
productOptionSetService.save(model);
} catch (ServiceException e) {
throw new ServiceRuntimeException("Exception while creating ProductOptionSet", e);
}
}
Aggregations