use of com.salesmanager.core.model.catalog.catalog.Catalog in project shopizer by shopizer-ecommerce.
the class PersistableCatalogCategoryEntryMapper method merge.
@Override
public CatalogCategoryEntry merge(PersistableCatalogCategoryEntry source, CatalogCategoryEntry destination, MerchantStore store, Language language) {
Validate.notNull(source, "CatalogEntry must not be null");
Validate.notNull(store, "MerchantStore must not be null");
Validate.notNull(source.getProductCode(), "ProductCode must not be null");
Validate.notNull(source.getCategoryCode(), "CategoryCode must not be null");
Validate.notNull(source.getCatalog(), "Catalog must not be null");
if (destination == null) {
destination = new CatalogCategoryEntry();
}
destination.setId(source.getId());
destination.setVisible(source.isVisible());
try {
String catalog = source.getCatalog();
Catalog catalogModel = catalogFacade.getCatalog(catalog, store);
if (catalogModel == null) {
throw new ConversionRuntimeException("Error while converting CatalogEntry product [" + source.getCatalog() + "] not found");
}
destination.setCatalog(catalogModel);
/* Product productModel = productFacade.getProduct(source.getProductCode(), store);
if(productModel == null) {
throw new ConversionRuntimeException("Error while converting CatalogEntry product [" + source.getProductCode() + "] not found");
}*/
// destination.setProduct(productModel);
Category categoryModel = categoryFacade.getByCode(source.getCategoryCode(), store);
if (categoryModel == null) {
throw new ConversionRuntimeException("Error while converting CatalogEntry category [" + source.getCategoryCode() + "] not found");
}
destination.setCategory(categoryModel);
} catch (Exception e) {
throw new ConversionRuntimeException("Error while converting CatalogEntry", e);
}
return destination;
}
use of com.salesmanager.core.model.catalog.catalog.Catalog in project shopizer by shopizer-ecommerce.
the class CatalogFacadeImpl method deleteCatalog.
@Override
public void deleteCatalog(Long catalogId, MerchantStore store, Language language) {
Validate.notNull(catalogId, "Catalog id cannot be null");
Validate.isTrue(catalogId > 0, "Catalog id cannot be null");
Validate.notNull(store, "MerchantStore cannot be null");
Catalog c = catalogService.getById(catalogId);
if (Objects.isNull(c)) {
throw new ResourceNotFoundException("Catalog with id [" + catalogId + "] not found");
}
if (Objects.nonNull(c.getMerchantStore()) && !c.getMerchantStore().getCode().equals(store.getCode())) {
throw new ResourceNotFoundException("Catalog with id [" + catalogId + "] not found for merchant [" + store.getCode() + "]");
}
try {
catalogService.delete(c);
} catch (ServiceException e) {
throw new ServiceRuntimeException("Error while deleting catalog id [" + catalogId + "]", e);
}
}
use of com.salesmanager.core.model.catalog.catalog.Catalog in project shopizer by shopizer-ecommerce.
the class CatalogFacadeImpl method updateCatalog.
@Override
public void updateCatalog(Long catalogId, PersistableCatalog catalog, MerchantStore store, Language language) {
Validate.notNull(catalogId, "Catalog id cannot be null");
Validate.isTrue(catalogId > 0, "Catalog id cannot be null");
Validate.notNull(store, "MerchantStore cannot be null");
Validate.notNull(language, "Language cannot be null");
Catalog c = Optional.ofNullable(catalogService.getById(catalogId)).orElseThrow(() -> new ResourceNotFoundException("Catalog with id [" + catalogId + "] not found"));
if (Objects.nonNull(c.getMerchantStore()) && !c.getMerchantStore().getCode().equals(store.getCode())) {
throw new ResourceNotFoundException("Catalog with id [" + catalogId + "] not found for merchant [" + store.getCode() + "]");
}
c.setDefaultCatalog(catalog.isDefaultCatalog());
c.setVisible(catalog.isVisible());
catalogService.saveOrUpdate(c, store);
}
use of com.salesmanager.core.model.catalog.catalog.Catalog in project shopizer by shopizer-ecommerce.
the class CatalogFacadeImpl method listCatalogEntry.
@Override
public ReadableEntityList<ReadableCatalogCategoryEntry> listCatalogEntry(Optional<String> product, Long id, MerchantStore store, Language language, int page, int count) {
Validate.notNull(store, "MerchantStore cannot be null");
String productCode = product.orElse(null);
Catalog catalog = catalogService.getById(id, store).orElseThrow(() -> new ResourceNotFoundException("Catalog with id [" + id + "] not found for store [" + store.getCode() + "]"));
Page<CatalogCategoryEntry> entries = catalogEntryService.list(catalog, store, language, productCode, page, count);
if (entries.isEmpty()) {
return new ReadableEntityList<>();
}
List<ReadableCatalogCategoryEntry> readableList = entries.getContent().stream().map(cat -> readableCatalogEntryMapper.convert(cat, store, language)).collect(Collectors.toList());
return createReadableList(entries, readableList);
}
use of com.salesmanager.core.model.catalog.catalog.Catalog in project shopizer by shopizer-ecommerce.
the class CatalogFacadeImpl method saveCatalog.
@Override
public ReadableCatalog saveCatalog(PersistableCatalog catalog, MerchantStore store, Language language) {
Validate.notNull(catalog, "Catalog cannot be null");
Validate.notNull(store, "MerchantStore cannot be null");
Validate.notNull(language, "Language cannot be null");
Catalog catalogToSave = persistableCatalogMapper.convert(catalog, store, language);
boolean existByCode = uniqueCatalog(catalog.getCode(), store);
if (existByCode) {
throw new OperationNotAllowedException("Catalog [" + catalog.getCode() + "] already exists");
}
catalogService.saveOrUpdate(catalogToSave, store);
Catalog savedCatalog = catalogService.getByCode(catalogToSave.getCode(), store).get();
return readableCatalogMapper.convert(savedCatalog, store, language);
}
Aggregations