package policy.price;
|
|
import java.util.List;
|
|
import foundation.dao.preload.Bucket;
|
import foundation.json.IJSONWriter;
|
|
public class DomainPolicy {
|
|
private String customerId;
|
private Bucket<PriceLine> priceList;
|
private Bucket<OnsiteLine> onsiteList;
|
|
|
public DomainPolicy() {
|
priceList = new Bucket<PriceLine>();
|
onsiteList = new Bucket<OnsiteLine>();
|
}
|
|
public DomainPolicy(String customerId) {
|
this.customerId = customerId;
|
priceList = new Bucket<PriceLine>();
|
onsiteList = new Bucket<OnsiteLine>();
|
}
|
|
public void loadOnePriceListLine(PriceLine priceLine) {
|
priceLine.setDomainPolicy(this);
|
priceList.loadOne(priceLine.getId(), priceLine);
|
}
|
|
public void loadOneOnsiteDiscount(OnsiteLine onsiteLine) {
|
onsiteLine.setDomainPolicy(this);
|
onsiteList.loadOne(onsiteLine.getId(), onsiteLine);
|
}
|
|
public void removeOnePriceListLine(String id) {
|
priceList.remove(id);
|
}
|
|
public void removeOneOnsiteDiscount(String id) {
|
onsiteList.remove(id);
|
}
|
|
public Bucket<PriceLine> getPriceBucket() {
|
return priceList;
|
}
|
|
public List<PriceLine> getPriceList() {
|
return priceList.getList();
|
}
|
|
public void getOnePrice(PriceSelector selector) {
|
for (PriceLine line: priceList) {
|
if (!line.isAlive()) {
|
continue;
|
}
|
|
selector.loadOne(line);
|
}
|
}
|
|
public Bucket<OnsiteLine> getOnsiteBucket() {
|
return onsiteList;
|
}
|
|
public List<OnsiteLine> getOnsiteList() {
|
return onsiteList.getList();
|
}
|
|
public String getCustomerId() {
|
return customerId;
|
}
|
|
public void writeJSONPriceBody(IJSONWriter writer) {
|
for (PriceLine price: priceList) {
|
price.writeJSON(writer);
|
}
|
}
|
|
public void writeJSONOnsiteBody(IJSONWriter writer) {
|
for (OnsiteLine onsite: onsiteList) {
|
onsite.writeJSON(writer);
|
}
|
}
|
|
}
|