public static string Serialize(PersistentId id) { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.AppendFormat("\"Id\": {0}", Serialize(id.Id)); sb.Append("}"); return(sb.ToString()); }
public object GetPropertyValue(string property) { object res = properties[property]; if (res is PersistentId) { PersistentId id = res as PersistentId; res = Context.Get(id.Id); } return(res); }
private object ConvertFromId(object item) { if (item is PersistentId) { PersistentId id = item as PersistentId; object res = owner.Context.Get(id.Id); return(res); } else { return(item); } }
private object ConvertToId(object item) { if (item is IPersistentObject) { string id = ((IPersistentObject)item).Id; PersistentId persId = new PersistentId(); persId.Id = id; return(persId); } else { return(item); } }
public void SetReference(string property, object value) { if (Mute) { return; } //drop old references object currentValue = null; properties.TryGetValue(property, out currentValue); if (currentValue is PersistentId) { PersistentId id = (PersistentId)currentValue; if (Context.IsLoaded(id.Id)) { IPersistentObject oldRef = Context.Get(id.Id); ObjectReference reference = new ObjectReference(); reference.Property = property; reference.ObjectId = target.Id; ((IPersistentObject)oldRef).RemoveReference(reference); } } //create new reference if (value is IPersistentObject) { ObjectReference reference = new ObjectReference(); reference.Property = property; reference.ObjectId = target.Id; ((IPersistentObject)value).AddReference(reference); PersistentId id = new PersistentId(); id.Id = ((IPersistentObject)value).Id; value = id; } properties[property] = value; }
public static string Serialize(PersistentId id) { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.AppendFormat("\"Id\": {0}",Serialize (id.Id)); sb.Append("}"); return sb.ToString(); }
public void SetReference(string property, object value) { if (Mute) return; //drop old references object currentValue = null; properties.TryGetValue(property, out currentValue); if (currentValue is PersistentId) { PersistentId id = (PersistentId)currentValue; if (Context.IsLoaded(id.Id)) { IPersistentObject oldRef = Context.Get(id.Id); ObjectReference reference = new ObjectReference(); reference.Property = property; reference.ObjectId = target.Id; ((IPersistentObject)oldRef).RemoveReference(reference); } } //create new reference if (value is IPersistentObject) { ObjectReference reference = new ObjectReference(); reference.Property = property; reference.ObjectId = target.Id; ((IPersistentObject)value).AddReference(reference); PersistentId id = new PersistentId(); id.Id = ((IPersistentObject)value).Id; value = id; } properties[property] = value; }