public ViewResult <T> DeserializeList <T>(string json) { if (string.IsNullOrEmpty(json)) { return(new ViewResult <T>()); } var type = typeof(T); var viewType = typeof(ViewResult <T>); ViewResult <T> viewResult = null; using (var reader = new StringReader(json)) viewResult = (ViewResult <T>)DocumentSerializer.Deserialize(reader, viewType); using (var reader = new StringReader(json)) if (!type.IsInstanceOfType(typeof(BaseDocument))) { var metadataView = (ViewResult <DocumentMetadata>) MetadataSerialzier.Deserialize(reader, typeof(ViewResult <DocumentMetadata>)); for (int i = 0; i < viewResult.Rows.Length; i++) { var metadata = metadataView.Rows[i]; var document = viewResult.Rows[i]; var key = KeyAccessor.GetId(document.Model, type); MetadataProvider.SetMetadata(key, metadata.Model); } } return(viewResult); }
public virtual object GetDocumentId(object instance) { var doc = instance as IHaveDocumentId; if (doc != null) { return(doc.GetDocumentId()); } else { return(KeyAccessor.GetId(instance, instance.GetType())); } }
public virtual string GetDocumentRevision(object instance) { var doc = instance as IHaveDocumentRevision; if (doc != null) { return(doc.DocumentRevision); } else { var key = KeyAccessor.GetId(instance, instance.GetType()); var metadata = MetadataProvider.GetMetadata(key); return(metadata == null ? null : metadata._rev); } }
public virtual void SetDocumentRevision(string revision, object instance) { var doc = instance as IHaveDocumentRevision; if (doc != null) { doc.UpdateRevFromJson(revision); } else { var key = KeyAccessor.GetId(instance, instance.GetType()); var metadata = MetadataProvider.GetMetadata(key) ?? new DocumentMetadata() { _id = key, _rev = revision }; MetadataProvider.SetMetadata(key, metadata); } }
public T Deserialize <T>(string json) { if (string.IsNullOrEmpty(json)) { return(default(T)); } var type = typeof(T); object document = null; using (var reader = new StringReader(json)) document = DocumentSerializer.Deserialize(reader, type); using (var reader = new StringReader(json)) if (!type.IsInstanceOfType(typeof(BaseDocument))) { var key = KeyAccessor.GetId(document, type); var metadata = (DocumentMetadata)MetadataSerialzier.Deserialize(reader, typeof(DocumentMetadata)); MetadataProvider.SetMetadata(key, metadata); } return((T)document); }
public void Store(IMemento <T> actor) { store[KeyAccessor.GetId(actor.Retrieve())] = actor; }
protected void PopulateDefaultEventFields(IEvent baseEvent) { baseEvent.ActorId = KeyAccessor.GetId(Actor); baseEvent.ActorType = Actor.GetType().FullName; baseEvent.UtcTimeStamp = DateTime.UtcNow; }
public bool Persist <T>(T instance) where T : class { return(Client.Set(KeyAccessor.GetId(instance), instance)); }
public bool Delete <T>(T instance) where T : class { return(Client.Remove(KeyAccessor.GetId(instance))); }
public bool Persist <T>(T instance) where T : class { return(Repository.Save(KeyAccessor.GetId(instance), instance)); }
public bool Delete <T>(T instance) where T : class { return(Repository.DeleteDocument <T>(KeyAccessor.GetId(instance))); }