package clips.delegate.directory.complex;
import beans.directory.expenditure.DirectoryExpenditureTypeBeanRemote;
import beans.directory.expenditure.entity.ExpenditureTypeDetails;
import cli_fmw.delegate.directory.DirectoryItem;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.main.ClipsException;
import clips.delegate.directory.simple.expenditureMetric.DirectoryExpenditureMetric;
import clips.delegate.directory.simple.expenditureMetric.DirectoryExpenditureMetricItem;
/**
* Делегат, предоставляющий доступ к одной строке таблицы ExpenditureType (справочник дисконтов)
* @author Axe
*/
public class DirectoryExpenditureTypeItem extends
DirectoryItem<ExpenditureTypeDetails> {
public DirectoryExpenditureTypeItem(ExpenditureTypeDetails details) {
super(details);
}
/**
* Возвращает метрику расходных материалов
* @return
* @throws ClipsException
*/
public DirectoryExpenditureMetricItem getMetrics() throws ClipsException {
DirectoryExpenditureMetric directory = DirectoryLocator.getDirectory(DirectoryExpenditureMetric.class);
return directory.getItemFromID(getDetails().metricID);
}
/**
* Назанчает метрику
* @param metric
* @throws ClipsException
*/
public void setMetrics(DirectoryExpenditureMetricItem metric) throws ClipsException {
if(isInDirectory()) {
ExpenditureTypeDetails newDetails = getDetailsCopy();
newDetails.metricID = metric.getID();
saveDetails(newDetails);
} else {
getDetails().metricID = metric.getID();
}
}
}