TaxService.java
Home
/
sm-core /
src /
main /
java /
com /
salesmanager /
core /
business /
tax /
service /
TaxService.java
package com.salesmanager.core.business.tax.service;
import java.util.List;
import java.util.Locale;
import com.salesmanager.core.business.customer.model.Customer;
import com.salesmanager.core.business.generic.exception.ServiceException;
import com.salesmanager.core.business.merchant.model.MerchantStore;
import com.salesmanager.core.business.order.model.OrderSummary;
import com.salesmanager.core.business.reference.language.model.Language;
import com.salesmanager.core.business.tax.model.TaxConfiguration;
import com.salesmanager.core.business.tax.model.TaxItem;
public interface TaxService {
/**
* Retrieves tax configurations (TaxConfiguration) for a given MerchantStore
* @param store
* @return
* @throws ServiceException
*/
TaxConfiguration getTaxConfiguration(MerchantStore store)
throws ServiceException;
/**
* Saves ShippingConfiguration to MerchantConfiguration table
* @param shippingConfiguration
* @param store
* @throws ServiceException
*/
void saveTaxConfiguration(TaxConfiguration shippingConfiguration,
MerchantStore store) throws ServiceException;
/**
* Calculates tax over an OrderSummary
* @param orderSummary
* @param customer
* @param store
* @param locale
* @return
* @throws ServiceException
*/
List<TaxItem> calculateTax(OrderSummary orderSummary, Customer customer,
MerchantStore store, Language language) throws ServiceException;
}