public function load(\SimpleXMLElement $xml, $force = false)
{
if ($this->_loaded && !$force) {
throw new Exception('entity has already been loaded');
}
#print_r($xml); exit;
$this->_loaded = true;
$array = (array) $xml;
$id = new Id($array[self::_ID]);
$personId = new Id($array[self::_PERSON_ID]);
$projectId = new Id($array[self::_PROJECT_ID]);
if ($array[self::_TODO_ITEM_ID]['nil'] != 'true') {
$todoItemId = $array[self::_TODO_ITEM_ID];
} else {
$todoItemId = null;
}
$this->_data = array(self::_ID => $id, self::_DATE => $array[self::_DATE], self::_DESCRIPTION => $array[self::_DESCRIPTION], self::_HOURS => $array[self::_HOURS], self::_PERSON_ID => $personId, self::_PROJECT_ID => $projectId, self::_TODO_ITEM_ID => $todoItemId);
return $this;
}