/// <summary> /// 实现动态对象属性成员访问的方法,得到返回指定属性的值 /// </summary> /// <param name="binder"></param> /// <param name="result"></param> /// <returns></returns> public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result) { var propertyName = binder.Name; var property = DomainProperty.GetProperty(this.ObjectType, propertyName); result = GetValue(property); return(true); }
/// <summary> /// 实现动态对象属性值设置的方法。 /// </summary> /// <param name="binder"></param> /// <param name="value"></param> /// <returns></returns> public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value) { var propertyName = binder.Name; var property = DomainProperty.GetProperty(this.ObjectType, propertyName); SetValue(property, value); return(true); }
private PropertyRepositoryAttribute GetPropertyTip() { var objectType = _constructorTip.Constructor.ReflectedType; var propertyName = this.Original.Name; var property = DomainProperty.GetProperty(objectType, propertyName); return(property.RepositoryTip); }
private object FindObject(RemotableAttribute tip, DTObject arg) { var idProperty = DomainProperty.GetProperty(tip.ObjectType, EntityObject.IdPropertyName); var id = DataUtil.ToValue(arg.GetValue("id"), idProperty.PropertyType); var repository = Repository.Create(tip.ObjectType); return(repository.Find(id, QueryLevel.None)); }
protected void UseDefines(DTObject arg, Action <AggregateRootDefine, object> action) { var typeName = arg.GetValue <string>("typeName"); var defines = RemoteType.GetDefines(typeName); foreach (var define in defines) { var idProperty = DomainProperty.GetProperty(define.MetadataType, EntityObject.IdPropertyName); var id = DataUtil.ToValue(arg.GetValue(EntityObject.IdPropertyName), idProperty.PropertyType); action((AggregateRootDefine)define, id); } }
public bool IsPropertyLoaded(string propertyName) { var property = DomainProperty.GetProperty(this.ObjectType, propertyName); return(this.DataProxy.IsLoaded(property)); }
public bool IsPropertyDirty(string propertyName) { var property = DomainProperty.GetProperty(this.ObjectType, propertyName); return(IsPropertyDirty(property)); }
public object GetIdentity() { var property = DomainProperty.GetProperty(this.Define.MetadataType, EntityObject.IdPropertyName); return(this.GetValue(property)); }