/** * Luo paramatrien pohjalta uusi tai tallenna vanha oppilas tietorakenteeseen. * * @param unit Yksikkö, joka tallennetaan. * @param first Etunimet. * @param last Sukunimi. * @param id Hetu. * @return True, jos tallennettiin, muute false. */ public boolean saveStudent(Student unit, String first, String last, String id) { boolean replace = false; if (unit.getRef() != null) { if (!confirmSave()) { return false; } replace = true; } Student edit = unit; if (replace) { edit = getEditable(edit); } try { edit.parseField(FN.STUDENT_FIRSTNAME, first); edit.parseField(FN.STUDENT_LASTNAME, last); edit.parseField(FN.STUDENT_ID, id); } catch (ParseException e) { showParseError(e); return false; } if (replace) { manager.remove(unit); } manager.add(edit); finishSave(); return true; }
/** * Luo paramatrien pohjalta uusi tai tallenna vanha arvosana tietorakenteeseen. * * @param unit Yksikkö, joka tallennetaan. * @param exam Koe, johon arvosana kuuluu. * @param gradeNum Arvosana numerona. * @param student Oppilas, joka arvosanaan liittyy. * @return True, jos tallennettiin, muute false. */ public boolean saveGrade(Grade unit, Exam exam, String gradeNum, Student student) { boolean replace = false; if (unit.getRef() != null) { if (!confirmSave()) { return false; } replace = true; } Grade edit = unit; if (replace) { edit = getEditable(edit); } try { edit.parseField(FN.GRADE_GRADE, gradeNum); edit.setField(FN.GRADE_STUDENT_REF, student.getRef()); edit.setField(FN.GRADE_EXAM_REF, exam.getRef()); } catch (ParseException e) { showParseError(e); return false; } if (replace) { manager.remove(unit); } manager.add(edit); finishSave(); return true; }
/** * Poista oppilas. * * @param unit Poistettava oppilas. * @return True, jos poistettiin, muuten false. */ public boolean remove(Student unit) { Ref ref = unit.getRef(); if (confirmRemove()) { manager.poistaOpiskelija(ref); notifySource(); return true; } return false; }