package crmdna.programtype;
import com.googlecode.objectify.annotation.Cache;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;
import com.googlecode.objectify.annotation.Index;
import crmdna.practice.Practice;
import crmdna.practice.PracticeEntity;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@Entity
@Cache
public class ProgramTypeEntity {
@Id
Long programTypeId;
@Index
String name;
String displayName;
@Index
Set<Long> practiceIds = new HashSet<>();
public ProgramTypeProp toProp(String client) {
ProgramTypeProp prop = new ProgramTypeProp();
prop.programTypeId = programTypeId;
prop.name = name;
prop.displayName = displayName;
Map<Long, PracticeEntity> map = Practice.getEntities(client, practiceIds);
for (Entry<Long, PracticeEntity> entry : map.entrySet()) {
prop.practiceProps.add(entry.getValue().toProp());
}
Collections.sort(prop.practiceProps);
return prop;
}
}