Line data Source code
1 : using System.Runtime.Serialization;
2 : using Cqrs.Entities;
3 :
4 : namespace Cqrs.Azure.BlobStorage
5 : {
6 : public class EntityTableEntity<TEntity>
7 : : TableEntity<TEntity>
8 : , IEntityTableEntity<TEntity>
9 : where TEntity : IEntity
10 0 : {
11 0 : public EntityTableEntity(TEntity entity)
12 : {
13 : PartitionKey = StorageStore<object, object>.GetSafeStorageKey(entity.GetType().FullName);
14 : RowKey = StorageStore<object, object>.GetSafeStorageKey(entity.Rsn.ToString("N"));
15 : _entity = entity;
16 : _entityContent = Serialise(Entity);
17 : }
18 :
19 0 : public EntityTableEntity()
20 : {
21 : }
22 :
23 : private TEntity _entity;
24 :
25 : [DataMember]
26 : public TEntity Entity
27 : {
28 : get { return _entity; }
29 : set { _entity = value; }
30 : }
31 :
32 : private string _entityContent;
33 :
34 : [DataMember]
35 : public string EntityContent
36 : {
37 : get
38 : {
39 : return _entityContent;
40 : }
41 : set
42 : {
43 : _entityContent = value;
44 : _entity = Deserialise(value);
45 : }
46 : }
47 : }
48 : }
|