/**
  * Entra un arrya de Descomptes del curs
  * @param array('Nom','Preu','Percentatge')
  * */
 public static function saveDescomptes($AD, $idC, $idS, $Tipus)
 {
     //Agafem tots els descomptes entrats
     foreach ($AD as $idD => $D) {
         //Si tenim totes les dades bàsiques
         if (!empty($D['Nom']) && (!empty($D['Preu']) || !empty($D['Percentatge']))) {
             //Mirem si existeix i sinó el creem de nou
             $OD = self::retrieveByPK($idD);
             if (!$OD instanceof Descomptes) {
                 $OD = new Descomptes();
             }
             $OD->setIdextern($idC);
             $OD->setPreu($D['Preu']);
             $OD->setPercentatge($D['Percentatge']);
             $OD->setNom($D['Nom']);
             $OD->setTipus($Tipus);
             $OD->setSiteId($idS);
             $OD->setActiu(isset($D['Actiu']));
             $OD->save();
         }
     }
 }
 /**
  * Per cada curs, recarreguem els descomptes i els treballem
  * @deprecated 
  * */
 public function executeMigraCursos(sfWebRequest $request)
 {
     $C = new Criteria();
     $C->add(CursosPeer::ADESCOMPTES, null, CRITERIA::ISNOTNULL);
     $A = array();
     foreach (CursosPeer::doSelect($C) as $OC) {
         $i = 0;
         foreach (explode('@', $OC->getADescomptesVell()) as $A) {
             //Agafo un descompte, creo el que toqui a descomptes i els assigno a les matrícules
             $OD = DescomptesPeer::retrieveByPK($A);
             if ($A > 0) {
                 if ($OD instanceof Descomptes) {
                     $ODN = new Descomptes();
                     $ODN->setIdextern($OC->getIdcursos());
                     $ODN->setNom($OD->getNom());
                     $ODN->setPercentatge($OD->getPercentatge());
                     $ODN->setPreu(null);
                     $ODN->setTipus(DescomptesPeer::TIPUS_CURS);
                     $ODN->setActiu(true);
                     $ODN->setSiteId($OD->getSiteId());
                     $ODN->save();
                     echo 'OK: ' . $OC->getIdcursos() . ' <br />';
                     //Un cop guardat, carrego totes les matrícules que el tenen d'aquest curs i ho modifico
                     $CM = new Criteria();
                     $CM->add(MatriculesPeer::TREDUCCIO, $A);
                     $CM->add(MatriculesPeer::CURSOS_IDCURSOS, $OC->getIdcursos());
                     foreach (MatriculesPeer::doSelect($CM) as $OM) {
                         $OM->setTreduccio($ODN->getIddescompte());
                         $OM->save();
                     }
                 } else {
                     echo 'Error: ' . $OC->getIdcursos() . ' - ' . $A . ' <br />';
                 }
             }
         }
     }
     return sfView::NONE;
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      Descomptes $value A Descomptes object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(Descomptes $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getIddescompte();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }