package ca.uwaterloo.uwfoodservices;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import android.content.Context;
public class ParseWatcardData {
Document doc;
private WatcardHolder holder;
Context context;
WatcardObject[] objects;
private float totalFlex = 0;
private float mealPlan = 0;
private String total;
private String name;
public ParseWatcardData(Document doc, Context context){
this.doc = doc;
this.context = context;
objects = new WatcardObject[13];
}
public boolean parse(){
int i = 0;
if(doc.getElementById("oneweb_message_invalid_login") != null){
return false;
}
String name = doc.getElementById("oneweb_account_name").text();
for(Element table : this.doc.select("table[id=oneweb_balance_information_table]")){
for (Element row : table.select("tr:gt(1)")) {
objects[i] = new WatcardObject(row.getElementById("oneweb_balance_information_td_number").text(),
row.getElementById("oneweb_balance_information_td_type").text(),
row.getElementById("oneweb_balance_information_td_name").text(),
row.getElementById("oneweb_balance_information_td_percent").text(),
row.getElementById("oneweb_balance_information_td_price").text(),
row.getElementById("oneweb_balance_information_td_amount").text(),
row.getElementById("oneweb_balance_information_td_credit").text());
if(objects[i].getID().equals("1") || objects[i].getID().equals("2") || objects[i].getID().equals("3")){
mealPlan += Float.parseFloat(row.getElementById("oneweb_balance_information_td_amount").text());
}
if(objects[i].getID().equals("4") || objects[i].getID().equals("5") || objects[i].getID().equals("6")){
totalFlex += Float.parseFloat(row.getElementById("oneweb_balance_information_td_amount").text());
}
if(i == 12){
total = row.getElementById("oneweb_balance_information_td_amount").text();
}
i++;
}
}
WatcardHolder.getInstance(objects).setMealplan(mealPlan);
WatcardHolder.getInstance().setTotal(total);
WatcardHolder.getInstance().setFlex(totalFlex);
WatcardHolder.getInstance().setName(name);
return true;
}
}