package com.salesmanager.core.business.services.merchant; import java.util.List; import javax.inject.Inject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.salesmanager.core.business.exception.ServiceException; import com.salesmanager.core.business.repositories.merchant.MerchantRepository; import com.salesmanager.core.business.services.catalog.product.manufacturer.ManufacturerService; import com.salesmanager.core.business.services.catalog.product.type.ProductTypeService; import com.salesmanager.core.business.services.common.generic.SalesManagerEntityServiceImpl; import com.salesmanager.core.business.services.tax.TaxClassService; import com.salesmanager.core.model.catalog.category.Category; import com.salesmanager.core.model.catalog.product.manufacturer.Manufacturer; import com.salesmanager.core.model.customer.Customer; import com.salesmanager.core.model.merchant.MerchantStore; import com.salesmanager.core.model.order.Order; import com.salesmanager.core.model.system.MerchantConfiguration; import com.salesmanager.core.model.tax.taxclass.TaxClass; import com.salesmanager.core.model.user.User; @Service("merchantService") public class MerchantStoreServiceImpl extends SalesManagerEntityServiceImpl<Integer, MerchantStore> implements MerchantStoreService { @Inject protected ProductTypeService productTypeService; @Inject private TaxClassService taxClassService; /* @Inject private ContentService contentService; @Inject private MerchantConfigurationService merchantConfigurationService; @Inject private CategoryService categoryService; @Inject private UserService userService; @Inject private OrderService orderService; @Inject private CustomerService customerService;*/ @Inject private ManufacturerService manufacturerService; private MerchantRepository merchantRepository; @Inject public MerchantStoreServiceImpl(MerchantRepository merchantRepository) { super(merchantRepository); this.merchantRepository = merchantRepository; } public MerchantStore getMerchantStore(String merchantStoreCode) throws ServiceException { return merchantRepository.findByCode(merchantStoreCode); } @Override public void saveOrUpdate(MerchantStore store) throws ServiceException { super.save(store); } @Override public MerchantStore getByCode(String code) throws ServiceException { return merchantRepository.findByCode(code); } /* @Override public void delete(MerchantStore merchant) throws ServiceException { merchant = this.getById(merchant.getId()); //reference List<Manufacturer> manufacturers = manufacturerService.listByStore(merchant); for(Manufacturer manufacturer : manufacturers) { manufacturerService.delete(manufacturer); } List<MerchantConfiguration> configurations = merchantConfigurationService.listByStore(merchant); for(MerchantConfiguration configuration : configurations) { merchantConfigurationService.delete(configuration); } //TODO taxService List<TaxClass> taxClasses = taxClassService.listByStore(merchant); for(TaxClass taxClass : taxClasses) { taxClassService.delete(taxClass); } //content contentService.removeFiles(merchant.getCode()); //TODO staticContentService.removeImages //category / product List<Category> categories = categoryService.listByStore(merchant); for(Category category : categories) { categoryService.delete(category); } //users List<User> users = userService.listByStore(merchant); for(User user : users) { userService.delete(user); } //customers List<Customer> customers = customerService.listByStore(merchant); for(Customer customer : customers) { customerService.delete(customer); } //orders List<Order> orders = orderService.listByStore(merchant); for(Order order : orders) { orderService.delete(order); } super.delete(merchant); }*/ }