public function loadModel($id) { $model = ProjetoOrcamento::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
/** * Retorna o quanto foi orcamentado para data rubrica * @param integer $cod_rubrica * @return real */ public function getOrcamentado($cod_rubrica) { $criteria = new CDbCriteria(); $criteria->compare('cod_rubrica', $cod_rubrica); $criteria->compare('cod_projeto', $this->cod_projeto); $criteria->select = "valor"; $orcamento = ProjetoOrcamento::model()->find($criteria); if ($orcamento == null) { return 0; } return $orcamento->valor; }
/** * Salva todas as pessoas do projeto * @param integer $cod_projeto * @param Array $rubricas - Array associativo array('valor'=>X,'cod_rubrica'=>Y) * @return boolean - caso todas as alterações tenham sido efetivas. Util para fazer transactions */ private function salvaOrcamento($cod_projeto, $rubricas) { $rows = ProjetoOrcamento::model()->deleteAll('cod_projeto = ' . $cod_projeto); if ($rubricas === null) { return true; } foreach ($rubricas as $r) { $orc = new ProjetoOrcamento(); $orc->cod_rubrica = $r['cod_rubrica']; $orc->cod_projeto = $cod_projeto; $orc->valor = $r['valor']; //erro ao salvar -> retorna false if (!$orc->save()) { return false; } unset($orc); } return true; }