Example #1
0
        protected override ITableEntity CreateTableEntity(TData data)
        {
            var tableEntity = new EntityTableEntity <TData>(data);
            //Flatten object of type TData and convert it to EntityProperty Dictionary
            Dictionary <string, EntityProperty> flattenedProperties = EntityPropertyConverter.Flatten(data, new OperationContext());

            // Create a DynamicTableEntity and set its PK and RK
            DynamicTableEntity dynamicTableEntity = new DynamicTableEntity(tableEntity.PartitionKey, tableEntity.RowKey)
            {
                Properties = flattenedProperties
            };

            return(dynamicTableEntity);
        }
Example #2
0
        protected override ITableEntity ReplaceValues(TableResult retrievedResult, EntityTableEntity <TData> data)
        {
            ITableEntity tableEntity = (ITableEntity)retrievedResult.Result;
            // Events aren't updated
            var dynamicTableEntity = tableEntity as DynamicTableEntity;

            if (dynamicTableEntity == null)
            {
                base.ReplaceValues(retrievedResult, data);
                return(tableEntity);
            }

            //Flatten object of type TData and convert it to EntityProperty Dictionary
            Dictionary <string, EntityProperty> flattenedProperties = EntityPropertyConverter.Flatten(data.Entity, new OperationContext());

            dynamicTableEntity.Properties = flattenedProperties;

            return(dynamicTableEntity);
        }
Example #3
0
 /// <summary>
 /// Gets a <see cref="TableOperation"/> that calls <see cref="TableOperation.Retrieve{TData}(string,string,System.Collections.Generic.List{string})"/>
 /// for updating.
 /// </summary>
 /// <param name="data">The <see cref="EntityTableEntity{TEntity}"/> containing the <see cref="EntityTableEntity{TEntity}.Entity"/> containing the <see cref="IEntity.Rsn"/> property populated.</param>
 protected override TableOperation GetUpdatableTableEntity(EntityTableEntity <TData> data)
 {
     return(GetUpdatableTableEntity(data.Entity));
 }