Beispiel #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;
  }
Beispiel #2
0
  /**
   * 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;
  }
Beispiel #3
0
  /**
   * Luo paramatrien pohjalta uusi tai tallenna vanha koe tietorakenteeseen.
   *
   * @param unit Yksikkö, joka tallennetaan.
   * @param date Pvm.
   * @param subject Aine.
   * @return True, jos tallennettiin, muute false.
   */
  public boolean saveExam(Exam unit, String date, String subject) {
    boolean replace = false;
    if (unit.getRef() != null) {
      if (!confirmSave()) {
        return false;
      }
      replace = true;
    }
    Exam edit = unit;
    if (replace) {
      edit = getEditable(edit);
    }
    try {
      edit.parseField(FN.EXAM_DATE, date);

      if (subject != null) {
        List<Subject> match = manager.getSubjects(subject, FN.SUBJECT_NAME);
        Subject s;
        if (match.size() < 1) {
          s = new Subject();
          s.parseField(FN.SUBJECT_NAME, subject);
          manager.add(s);
        } else {
          s = match.get(0);
        }
        Ref subjectRef = s.getRef();

        edit.setField(FN.EXAM_SUBJECT_REF, subjectRef);
      }
    } catch (ParseException e) {
      showParseError(e);
      return false;
    }
    if (replace) {
      manager.remove(unit);
    }
    manager.add(edit);

    finishSave();

    return true;
  }