/**
  * @param Calendar $calendar
  * @return Calendar
  */
 public function saveCalendar(Calendar $calendar)
 {
     $id = $calendar->getCalendarId();
     $data = $calendar->getArrayCopy();
     if ($id > 0) {
         $this->update($data, array('calendarId' => $id));
     } else {
         unset($data['calendarId']);
         $this->insert($data);
     }
     if (!$calendar->getCalendarId()) {
         $calendar->setCalendarId($this->getLastInsertValue());
     }
     return $calendar;
 }