}
@Override
public void readIncomingInInterval() {
MainForm mainForm = MainForm.getInstance();
SmsMessageHandler messageHandler = new SmsMessageHandler();
try {
List<InboundMessage> msgList = messageHandler.readMessages();
for (InboundMessage inboundMessage : msgList) {
String content = inboundMessage.getText().trim();
String identifier = content.substring(0, 1);
int seqId = Integer.parseInt(content.substring(2).trim());
Mother m = motherDao.getMother(seqId);
if (identifier.equals("1") || identifier.equals("2")) {
mainForm.setLogText("\n\n" + new DateTime().toString());
}
if (identifier.equals("1")) {
Reminder reminder = reminderDao.getLatestReminder(m);
if (reminder.getStatus().equals("UNCONFIRMED")) {
reminder.setConfirmationArrivedOn(DateTime.now().toDate());
reminder.setStatus("CONFIRMED");
reminderDao.update(reminder);
}
mainForm.setLogText("\n1 Reminder Confirmed.");
} else if (identifier.equals("2")) {
//SmsMessageHandler messageHandler = new SmsMessageHandler();
String r = emergencyDao.getEmergencyPhone();
messageHandler.setRecipient(r);
Emergency emergency = new Emergency();
emergency.setArrivedOn(new DateTime().toDate());
String workerName = m.getHealthWorker().getFullName();
String messageContent = "Emergency\n" + m.getMotherId() + "\n" + m.getFullName()
+ "\n" + workerName + "\n" + m.getGott();
emergency.setContent(messageContent);
messageHandler.setContent(messageContent);
messageHandler.setStatusReportEnabled(false);
emergency.setMother(m);
emergencyDao.saveEmergency(emergency);
try {
messageHandler.sendMessage();
mainForm.setLogText("\n1 emergency sent to HC");
} catch (Exception e) {
mainForm.setLogText("\nError: " + "\n" + e.getMessage());
}
}