ProductBeanLocal.java 1.52 KB
package fi.codecrew.moya.beans;

import java.math.BigDecimal;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.ejb.Local;

import fi.codecrew.moya.model.AccountEvent;
import fi.codecrew.moya.model.Discount;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.InventoryEvent;
import fi.codecrew.moya.model.Product;
import fi.codecrew.moya.model.ProductFlag;

@Local
public interface ProductBeanLocal {

	List<Product> listUserShoppableProducts();

	List<Product> findProductsByFlag(ProductFlag... productFlags);

	void create(Product prod);

	List<Product> getProducts();

	Product mergeChanges(Product product);

	Product findCreditProduct();

	// BigDecimal calculateTotal(Product key, BigDecimal value);

	AccountEvent createAccountEvent(Product product, BigDecimal quantity, EventUser user);

	// List<Discount> getActiveDiscounts(Product product, BigDecimal quantity);

	Product findById(int parseInt);

	Product findByBarcode(String barcode);

	List<Product> findForStaffshop();

	Discount findDiscount(Integer discountid);

	Discount save(Discount discount);

	BigDecimal calculateTotal(Product product, BigDecimal quantity, Calendar date);

	HashMap<Integer, BigDecimal> getProductLimit(Map<Integer, BigDecimal> prodCounts, EventUser user);

	BigDecimal getProductLimit(Product product, EventUser user, Map<Integer, BigDecimal> prodCounts);

	void saveInventoryEvent(InventoryEvent ie);

	List<Product> findProductsForEvent();
	
	List<Product> findPlaceProducts();

}