Ejemplo n.º 1
0
  /**
   * 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;
  }
Ejemplo n.º 2
0
 /**
  * Poista arvosana.
  *
  * @param unit Poistettava arvosana.
  * @return True, jos poistettiin, muuten false.
  */
 public boolean remove(Grade unit) {
   Ref ref = unit.getRef();
   if (confirmRemove()) {
     manager.poistaTulos(ref);
     notifySource();
     return true;
   }
   return false;
 }