package crmdna.attendance;
import crmdna.client.isha.IshaUtils;
import crmdna.common.api.APIException;
import crmdna.common.api.APIResponse.Status;
import crmdna.program.Program;
import crmdna.program.ProgramProp;
import java.util.List;
public class AttendanceIshaImpl extends AttendanceDefaultImpl implements IAttendance {
AttendanceIshaImpl(String client) {
super(client);
}
@Override
public List<CheckInMemberProp> getMembersForCheckIn(String searchStr, long programId,
int sessionDateYYYYMMDD, int maxResultSize, String login) {
ProgramProp programProp = Program.safeGet(client, programId).toProp("isha");
if (!IshaUtils.isSathsang(programProp.name)) {
throw new APIException().status(Status.ERROR_NOT_IMPLEMENTED).message(
"Check in not available yet for [" + programProp.programTypeProp.displayName + "]");
}
List<CheckInMemberProp> checkInMemberProps =
super.getMembersForCheckIn(searchStr, programId, sessionDateYYYYMMDD, maxResultSize, login);
for (CheckInMemberProp checkInMemberProp : checkInMemberProps) {
if (!IshaUtils.isMeditator(checkInMemberProp.practiceIds)) {
checkInMemberProp.allow = false;
checkInMemberProp.notAllowingReason = "Not meditator";
}
}
return checkInMemberProps;
}
}