/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.delegate.directory.complex;
import cli_fmw.delegate.directory.complex.*;
import beans.directory.packet.list.DirectoryPacketTemplateListBeanRemote;
import cli_fmw.delegate.directory.DirectoryItemRO;
import beans.directory.packet.entity.PacketTemplateItemDetails;
import cli_fmw.delegate.directory.DirectoryItem;
import clips.delegate.directory.filtered.DirectoryService;
import clips.delegate.directory.filtered.DirectoryServiceItem;
import cli_fmw.main.ClipsException;
/**
*
* @author lacoste
*/
public class DirectoryPacketTemplateListItem extends
DirectoryItem<PacketTemplateItemDetails> {
public DirectoryPacketTemplateListItem(PacketTemplateItemDetails details) {
super(details);
}
public int getDefaultDuration() {
return getDetails().defaultDuration;
}
public void setDefaultDuration(int defaultDuration) throws ClipsException {
if(isInDirectory()) {
PacketTemplateItemDetails newDetails = getDetailsCopy();
newDetails.defaultDuration = defaultDuration;
saveDetails(newDetails);
} else {
getDetails().defaultDuration = defaultDuration;
}
}
public int getDiscount() {
return getDetails().discount;
}
public void setDiscount(int discount) throws ClipsException {
if(isInDirectory()) {
PacketTemplateItemDetails newDetails = getDetailsCopy();
newDetails.discount = discount;
saveDetails(newDetails);
} else {
getDetails().discount = discount;
}
}
public int getWeight() {
return getDetails().weight;
}
public void setWeight(int weight) throws ClipsException {
if(isInDirectory()) {
PacketTemplateItemDetails newDetails = getDetailsCopy();
newDetails.weight = weight;
saveDetails(newDetails);
} else {
getDetails().weight = weight;
}
}
public DirectoryPacketTemplateItem getPacketTemplate() throws ClipsException {
DirectoryPacketTemplate directory = (DirectoryPacketTemplate)
DirectoryLocator.getDirectory(DirectoryPacketTemplate.class, false);
DirectoryPacketTemplateItem item =
directory.getItemFromID(getDetails().packetTemplate);
return item;
}
public void setPacketTemplate(DirectoryPacketTemplateItem item) throws ClipsException {
if(isInDirectory()) {
PacketTemplateItemDetails newDetails = getDetailsCopy();
newDetails.packetTemplate = item.getID();
saveDetails(newDetails);
} else {
getDetails().packetTemplate = item.getID();
}
}
public DirectoryServiceItem getService() throws ClipsException {
DirectoryService directory = (DirectoryService)
DirectoryLocator.getDirectory(DirectoryService.class, false);
DirectoryServiceItem item = directory.getItemFromID(getDetails().service);
return item;
}
public void setService(DirectoryServiceItem item) throws ClipsException {
if(isInDirectory()) {
PacketTemplateItemDetails newDetails = getDetailsCopy();
newDetails.service = item.getID();
newDetails.title = item.getTitle();
saveDetails(newDetails);
} else {
getDetails().service = item.getID();
getDetails().title = item.getTitle();
}
}
@Override
public void setTitle(String s) throws ClipsException {
throw new UnsupportedOperationException("Нельзя поменять название у пакетной услуги");
}
@Override
public int compareTo(DirectoryItemRO item) {
int weight = ((DirectoryPacketTemplateListItem)item).getWeight();
if (getWeight() < weight) {
return -1;
} else if (getWeight() == weight) {
return 0;
} else {
return 1;
}
}
}