Пример #1
0
 /// <summary>
 /// 指定一个实例,设置指定属性的值。
 /// </summary>
 /// <param name="property">动态属性。</param>
 /// <param name="instance">一个实例,null 值表示静态属性。</param>
 /// <param name="value">属性的值。</param>
 public void SetValue(DynamicProperty property, object instance, object value)
 {
     if(value is string)
     {
         value = ObjectFactory.Context.Get<IJsonProvider>().Deserialize(value.ToString(), property.Property.PropertyType);
     }
     property.SetValue(instance, value, false);
 }
        public void SetUp()
        {
            SetUpDomainFactory();

            cut = (DynamicProperty) DomainFactory.Create("DynamicProperty", false);
            cut.SetValue("DefaultValue", DEFAULT_VALUE);

            // Set up the effective values and the value criteria for the test
            CollectionRelationship evRel = (CollectionRelationship) cut.GetRelationship("EffectiveValues");

            Domain ev = evRel.AddNewObject();
            ev.SetValue("EffectiveStartDate", JULY_DATE);
            ev.SetValue("EffectiveEndDate", AUG_DATE);

            CollectionRelationship vcRel = (CollectionRelationship) ev.GetRelationship("ValueCriteria");

            Domain vc = vcRel.AddNewObject();
            vc.SetValue("Value", JUNE_VALUE);
            vc.SetValue("RawCriteria", "* * * jun *");

            vc = vcRel.AddNewObject();
            vc.SetValue("Value", JULY_VALUE);
            vc.SetValue("RawCriteria", "* * * jul *");

            ev = evRel.AddNewObject();
            ev.SetValue("EffectiveStartDate", AUG_DATE);
            ev.SetValue("EffectiveEndDate", SEP_DATE);

            vcRel = (CollectionRelationship) ev.GetRelationship("ValueCriteria");

            vc = vcRel.AddNewObject();
            vc.SetValue("Value", AUG_VALUE);
            vc.SetValue("RawCriteria", "* * * aug *");

            vc = vcRel.AddNewObject();
            vc.SetValue("Value", SEP_VALUE);
            vc.SetValue("RawCriteria", "* * * sep *");
        }