public static IJEntity Alter <TAspect>(this IJEntity entity, string name, Action <TAspect> action) where TAspect : new() { TAspect obj = entity.Properties.TryGetValue(name, out JToken value) ? value.ToObject <TAspect>() : new TAspect(); action?.Invoke(obj); entity.Put(name, obj); return(entity); }
public static T As <T>(this IJEntity entity) { return(entity.As <T>(typeof(T).Name)); }
public static IJEntity Put <T>(this IJEntity entity, T aspect) where T : new() { return(entity.Put(typeof(T).Name, aspect)); }
public static IJEntity Put(this IJEntity entity, string name, object property) { entity.Properties[name] = JObject.FromObject(property); return(entity); }
public static T As <T>(this IJEntity entity, string name) { return(entity.Properties.TryGetValue(name, out JToken value) ? value.ToObject <T>() : default(T)); }