public function saveRate($tarifaTO)
 {
     $em = $this->getEntityManager();
     $nextDate = true;
     // asigna primera fecha a guardar
     $fechaActual = $tarifaTO->getFechaInicio();
     // Elimina las tarifas en el rango de fechas seleccionadas
     $eliminado = $this->deleteRateByDates($tarifaTO->getIdContrato(), $tarifaTO->getIdHabitacion(), $tarifaTO->getIdHotel(), $tarifaTO->getFechaInicio(), $tarifaTO->getFechaFin());
     // Si se eliminaron los registro procede a guardar los nuevos
     if ($eliminado) {
         // Mientras no se llege a la fecha final se crean o modifican los registros
         while ($nextDate) {
             // Crea la fecha con la informacion capturada
             $this->createRateHotel($tarifaTO->getIdContrato(), $tarifaTO->getIdHabitacion(), $tarifaTO->getIdHotel(), $fechaActual, $tarifaTO->getSencillo(), $tarifaTO->getDoble(), $tarifaTO->getTriple(), $tarifaTO->getCuadruple());
             // Si la fecha actual es la misma a la fecha final sale del ciclo, termina
             if (DateUtil::isSammeDate($fechaActual, $tarifaTO->getFechaFin())) {
                 $nextDate = false;
             } else {
                 // Si no es igual le suma un dia a la fecha actual
                 $fechaActual = DateUtil::summOneDayToDate($fechaActual);
             }
         }
     }
 }
 public static function getArrayClosingDates($fechasCierre)
 {
     $closingDate = new ArrayCollection();
     // Trato la información si tiene fechas
     if (count($fechasCierre) > Generalkeys::NUMBER_ZERO) {
         foreach ($fechasCierre as $fecha) {
             $fechaInicio = $fecha['fechainicio'];
             $fechaFin = $fecha['fechafin'];
             $isLastDate = false;
             while (!$isLastDate) {
                 $closingDate->add($fechaInicio);
                 if (DateUtil::isSammeDate($fechaInicio, $fechaFin)) {
                     $isLastDate = true;
                 } else {
                     $fechaInicio = DateUtil::summOneDayToDate($fechaInicio);
                 }
             }
         }
     }
     return $closingDate;
 }