public function saveDmcMarks($data_array) { $member_id = $this->getMember_id(true); $dmc_marks_object = new Acad_Model_Course_DmcMarks(); $dmc_info_id = $data_array['dmc_info_id']; $student_subject_id = $data_array['student_subject_id']; $dmc_marks_object->setDmc_info_id($dmc_info_id); $dmc_marks_object->setStudent_subject_id($student_subject_id); $dmc_marks = $dmc_marks_object->fetchInfo($dmc_info_id, $student_subject_id); if ($dmc_marks == false) { $dmc_marks_object->initSave(); $preparedData = $dmc_marks_object->prepareDataForSaveProcess($data_array); return $dmc_marks_object->getMapper()->save($preparedData); } else { $dmc_marks_object->initSave(); unset($data_array['dmc_info_id']); unset($data_array['student_subject_id']); $prepared_data = $dmc_marks_object->prepareDataForSaveProcess($data_array); return $dmc_marks_object->getMapper()->update($prepared_data, $dmc_info_id, $student_subject_id); } }
/** * Fetches Marks scored by the student in the given Subject, * A student may have studied a Subject more than Once but in Different classes, * Ex - Detained Student,therefore subject_id and class_id are required and must be set in the object.Furthermore, a Subject may have multiple Marks corresponding to Different Result_Type_Ids,therefore result_type_id is also required and must be provided as parameter * @param integer $result_type_id * @param boolean $considered optional * */ public function fetchDMC($result_type_id, $considered = null) { $member_id = $this->getMember_id(true); $subject_id = $this->getSubject_id(true); $class_id = $this->getClass_id(true); $student_subject_id = $this->fetchStudentSubjectId(); if (empty($student_subject_id)) { return false; } else { $dmc_marks_obj = new Acad_Model_Course_DmcMarks(); $dmc_marks_obj->setStudent_subject_id($student_subject_id); $dmc_marks_obj->setResult_type_id($result_type_id); if (isset($considered)) { $dmc_marks_obj->setIs_considered($considered); } $marks = $dmc_marks_obj->fetchInfo(); if ($marks instanceof Acad_Model_Course_DmcMarks) { return $marks; } else { return false; } } }