Example #1
0
        private static void CriteriaOperator_UserValueToString(Object sender, UserValueProcessingEventArgs e)
        {
            if (!e.Handled && (e.Value != null))
            {
                ITypeInfo typeInfo = typesInfo.FindTypeInfo(e.Value.GetType());
                if ((typeInfo != null) && typeInfo.IsPersistent)
                {

                    IObjectSpace objectSpace = null;
                    if (e.Value is IObjectSpaceLink)
                    {
                        objectSpace = ((IObjectSpaceLink)e.Value).ObjectSpace;
                    }
                    if (objectSpace == null)
                    {
                        objectSpace = ParseCriteriaScope.currentObjectSpace;
                    }
                    if (objectSpace != null)
                    {
                        e.Data = objectSpace.GetObjectHandle(e.Value);
                        e.Tag = objectTag;
                        e.Handled = true;
                    }
                    else
                    {
                        e.Data = ObjectHandleHelper.CreateObjectHandle(typesInfo, typeInfo.Type, NHObjectSpace.GetKeyValueAsString(typesInfo, e.Value));
                        e.Tag = objectTag;
                        e.Handled = true;
                    }
                }
            }
        }
Example #2
0
 static void CriteriaOperator_UserValueToString(object sender, UserValueProcessingEventArgs e)
 {
     if (e.Value is XPObject) {
         e.Tag = "MyModel";
         e.Data = String.Format("{0}/{1}", e.Value.GetType().Name, (e.Value as XPObject).Oid);
         e.Handled = true;
     }
 }
Example #3
0
        static void CriteriaOperator_UserValueParse(object sender, UserValueProcessingEventArgs e)
        {
            if (currectSession != null && e.Tag == "MyModel") {
                string[] input = e.Data.Split('/');

                Type referencedType = Type.GetType(String.Format("CriteriaOperatorExample.{0}", input[0]));
                e.Value = currectSession.FindObject(referencedType, new BinaryOperator("Oid", Convert.ToInt32(input[1])));
                e.Handled = true;
            }
        }
Example #4
0
 private static void CriteriaOperator_UserValueParse(Object sender, UserValueProcessingEventArgs e)
 {
     if (!e.Handled && !String.IsNullOrWhiteSpace(e.Data) && (e.Tag == objectTag) && (ParseCriteriaScope.currentObjectSpace != null))
     {
         try
         {
             e.Value = ParseCriteriaScope.currentObjectSpace.GetObjectByHandle(e.Data);
             e.Handled = true;
         }
         catch
         {
             e.Value = e.Data;
         }
     }
 }