Exemple #1
0
 /**
  * @param null|Entity  $entity
  * @param string|array $include List of keys to include in the output record
  * @param array        $record
  *
  * @return array
  */
 protected static function parseEntityToRecord($entity, $include = ApiOptions::FIELDS_ALL, $record = [])
 {
     if (!empty($entity)) {
         if (empty($include)) {
             $record[static::PARTITION_KEY] = $entity->getPartitionKey();
             $record[static::ROW_KEY] = $entity->getRowKey();
         } elseif (ApiOptions::FIELDS_ALL == $include) {
             // return all properties
             /** @var Property[] $properties */
             $properties = $entity->getProperties();
             foreach ($properties as $key => $property) {
                 $record[$key] = $property->getValue();
             }
         } else {
             if (!is_array($include)) {
                 $include = array_map('trim', explode(',', trim($include, ',')));
             }
             foreach ($include as $key) {
                 $record[$key] = $entity->getPropertyValue($key);
             }
         }
     }
     return $record;
 }
 private function getProperties(Entity $entity)
 {
     $properties = array();
     foreach ($entity->getProperties() as $name => $property) {
         if ($name === 'PartitionKey') {
             $name = 'dist';
         } elseif ($name === 'RowKey') {
             $name = 'range';
         }
         $properties[$name] = $property->getValue();
     }
     return $properties;
 }
 /**
  * @covers WindowsAzure\Table\Models\Entity::setProperties
  * @covers WindowsAzure\Table\Models\Entity::getProperties
  * @covers WindowsAzure\Table\Models\Entity::_validateProperties
  */
 public function testSetProperties()
 {
     // Setup
     $entity = new Entity();
     $expected = array('name' => new Property(EdmType::STRING, null));
     // Test
     $entity->setProperties($expected);
     // Assert
     $this->assertEquals($expected, $entity->getProperties());
 }