Example #1
0
 public function initExecution($questionnaireId, $userId)
 {
     $execution = $this->getExecutionByUserAndQuestionnaire($questionnaireId, $userId);
     $programaId = Zend_Registry::get('configDb')->competitionId;
     if (!$execution) {
         $executionNew = DbTable_Execution::getInstance()->createRow()->setUserId($userId)->setQuestionnaireId($questionnaireId)->setProgramaId($programaId)->setStart(date('Y-m-d H:i:s'))->setStatus('E');
         $executionNew->save();
     }
     return true;
 }
Example #2
0
 public function setExecutionProgress($QstnId, $UserId)
 {
     $qtdTotal = DbTable_Questionnaire::getInstance()->getQuestionnaireTotalQuestions($QstnId)->getQtdTotal();
     $qtdFaltante = count(DbTable_Questionnaire::getInstance()->needToFinish($QstnId, $UserId)->toArray());
     $qtdRealizado = $qtdTotal - $qtdFaltante;
     $pctRealizado = round($qtdRealizado / $qtdTotal * 100, 0);
     $executionRow = DbTable_Execution::getInstance()->fetchRow(array('UserId = ?' => $UserId, 'QuestionnaireId = ?' => $QstnId));
     if (!$executionRow) {
         $Execution = new Model_Execution();
         $executionRow = $Execution->initExecution($QstnId, $UserId);
     }
     $executionRow->setProgress($pctRealizado);
     $executionRow->save();
     return true;
 }