package com.norteksoft.acs.web.sale; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import org.springframework.beans.factory.annotation.Required; import com.norteksoft.acs.base.web.struts2.CRUDActionSupport; import com.norteksoft.acs.entity.sale.PricePolicy; import com.norteksoft.acs.entity.sale.Product; import com.norteksoft.acs.service.sale.PricePolicyManager; import com.norteksoft.acs.service.sale.ProductManager; import com.norteksoft.product.orm.Page; @ParentPackage("default") @Results( { @Result(name = CRUDActionSupport.RELOAD, location = "price-policy?productId=${productId}", type = "redirectAction") }) public class PricePolicyAction extends CRUDActionSupport<PricePolicy>{ private static final long serialVersionUID = 1L; private PricePolicyManager pricePolicyManager; private Long productId; private Page<PricePolicy> page = new Page<PricePolicy>(Page.EACH_PAGE_TWENTY,true); private PricePolicy pricePolicy; private ProductManager productManager; private Long id; @Override public String list() throws Exception { pricePolicyManager.getPricePolicyBySystem(page, productId); return SUCCESS; } @Override protected void prepareModel() throws Exception { if(id == null){ pricePolicy = new PricePolicy(); Product p = new Product(); p.setId(productId); pricePolicy.setProduct(p); }else{ pricePolicy = pricePolicyManager.getPricePolicy(id); } } @Override public String save() throws Exception { Product product = productManager.getProduct(productId); pricePolicy.setProduct(product); pricePolicyManager.savePricePolicy(pricePolicy); return RELOAD; } @Override public String delete() throws Exception { pricePolicyManager.deletePricePolicy(id); return RELOAD; } public PricePolicy getModel() { return pricePolicy; } public Long getProductId() { return productId; } public void setProductId(Long productId) { this.productId = productId; } public Page<PricePolicy> getPage() { return page; } public void setPage(Page<PricePolicy> page) { this.page = page; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Required public void setPricePolicyManager(PricePolicyManager pricePolicyManager) { this.pricePolicyManager = pricePolicyManager; } @Required public void setProductManager(ProductManager productManager) { this.productManager = productManager; } public PricePolicy getPricePolicy() { return pricePolicy; } public void setPricePolicy(PricePolicy pricePolicy) { this.pricePolicy = pricePolicy; } }