if (req.getParameter("changeCardId")!=null) return defaultMethodChangeQuestionCard(am, af, req, res, g, gh, ag);
String levelIdParameter=req.getParameter("levelId");
long levelId=Long.parseLong(levelIdParameter);
AOGGameCardHiber ach=new AOGGameCardHiber();
//fill data
ach.setCardType(AOGGameCardDao.CARD_TYPE_QUESTION);
//get max card number
int max=-1;
ArrayList<AOGGameCardHiber> cards=AOGGameCardDao.getOrderedCardsForLevel(levelId, session);
for (AOGGameCardHiber gameLevelHiber : cards) {
if (gameLevelHiber.getCardNumber()>max) max=gameLevelHiber.getCardNumber();
}
ach.setCardNumber(max+1);
//fill question specific data
ach.setPicture(req.getParameter("selectedPicture")+"");
ach.setAnsA(req.getParameter("opt1"));
ach.setExpA(req.getParameter("exp1"));
try {
ach.setAnsAScore(Integer.parseInt(req.getParameter("poin1")));
} catch (Exception e) {
ach.setAnsAScore(0);
}
ach.setAnsAIsCorrect(req.getParameter("corr1").equals("Y"));
ach.setAnsB(req.getParameter("opt2"));
ach.setExpB(req.getParameter("exp2"));
try {
ach.setAnsBScore(Integer.parseInt(req.getParameter("poin2")));
} catch (Exception e) {
ach.setAnsBScore(0);
}
ach.setAnsBIsCorrect(req.getParameter("corr2").equals("Y"));
ach.setAnsC(req.getParameter("opt3"));
ach.setExpC(req.getParameter("exp3"));
try {
ach.setAnsCScore(Integer.parseInt(req.getParameter("poin3")));
} catch (Exception e) {
ach.setAnsCScore(0);
}
ach.setAnsCIsCorrect(req.getParameter("corr3").equals("Y"));
ach.setAnsD(req.getParameter("opt4"));
ach.setExpD(req.getParameter("exp4"));
try {
ach.setAnsDScore(Integer.parseInt(req.getParameter("poin4")));
} catch (Exception e) {
ach.setAnsDScore(0);
}
ach.setAnsDIsCorrect(req.getParameter("corr4").equals("Y"));
try {
ach.setTimeAvailable(Integer.parseInt(req.getParameter("timeavailable")));
} catch (Exception e) {
ach.setTimeAvailable(0);
}
ach.setCardText(req.getParameter("qetxt"));
ach.setMultiChoice(req.getParameter("multi").equals("Y"));
ach.setHintText(req.getParameter("hint"));
try {
ach.setHintScore(Integer.parseInt(req.getParameter("hintp")));
} catch (Exception e) {
ach.setHintScore(0);
}
ach.setCardText(req.getParameter("qetxt"));
ag.setRepublishNeeded(true);
AOGGameDao.updateGame(ag, session);
//persist
AOGGameCardDao.persistAOGGameCardHiber(ach, session);
AOGGameLevelHiber lvl=AOGGameLevelDao.findGameLevelHiber(levelId, session);
lvl.getCards().add(ach);
AOGGameLevelDao.updateGameLevel(lvl, session);
MessageBean.setMyMessage(req, "Question card inserted");
try {
res.sendRedirect("authAOG.do?id="+req.getParameter("id")+"#card"+ach.getId());
} catch (Exception e) {
}
return null;
}