Ejemplo n.º 1
0
 public static void GetObject(AnyReference obj, MethodReturnEventArgs<Zetbox.API.IDataObject> e, Zetbox.API.IZetboxContext ctx)
 {
     if (obj.ObjClass == null)
     {
         e.Result = null;
     }
     else
     {
         var cls = _frozenCtx.FindPersistenceObject<ObjectClass>(obj.ObjClass.Value);
         var ifType = ctx.GetInterfaceType(cls.GetDataType());
         if (obj.ObjGuid != null)
         {
             e.Result = (IDataObject)ctx.FindPersistenceObject(ifType, obj.ObjGuid.Value);
         }
         else
         {
             e.Result = ctx.Find(ifType, obj.ObjID.Value);
         }
     }
 }
Ejemplo n.º 2
0
 public static void GetObject(AnyReference obj, MethodReturnEventArgs <Zetbox.API.IDataObject> e, Zetbox.API.IZetboxContext ctx)
 {
     if (obj.ObjClass == null)
     {
         e.Result = null;
     }
     else
     {
         var cls    = _frozenCtx.FindPersistenceObject <ObjectClass>(obj.ObjClass.Value);
         var ifType = ctx.GetInterfaceType(cls.GetDataType());
         if (obj.ObjGuid != null)
         {
             e.Result = (IDataObject)ctx.FindPersistenceObject(ifType, obj.ObjGuid.Value);
         }
         else
         {
             e.Result = ctx.Find(ifType, obj.ObjID.Value);
         }
     }
 }
Ejemplo n.º 3
0
 public static void SetObject(AnyReference obj, Zetbox.API.IDataObject newObj)
 {
     if (newObj == null)
     {
         obj.ObjClass = null;
         obj.ObjGuid = null;
         obj.ObjID = null;
     }
     else
     {
         var cls = newObj.GetObjectClass(_frozenCtx);
         obj.ObjClass = cls.ExportGuid;
         if (cls.ImplementsIExportable())
         {
             obj.ObjGuid = ((IExportable)newObj).ExportGuid;
             obj.ObjID = null;
         }
         else
         {
             obj.ObjGuid = null;
             obj.ObjID = newObj.ID;
         }
     }
 }
Ejemplo n.º 4
0
 public static void SetObject(AnyReference obj, Zetbox.API.IDataObject newObj)
 {
     if (newObj == null)
     {
         obj.ObjClass = null;
         obj.ObjGuid  = null;
         obj.ObjID    = null;
     }
     else
     {
         var cls = newObj.GetObjectClass(_frozenCtx);
         obj.ObjClass = cls.ExportGuid;
         if (cls.ImplementsIExportable())
         {
             obj.ObjGuid = ((IExportable)newObj).ExportGuid;
             obj.ObjID   = null;
         }
         else
         {
             obj.ObjGuid = null;
             obj.ObjID   = newObj.ID;
         }
     }
 }
Ejemplo n.º 5
0
 public static void HasObject(AnyReference obj, MethodReturnEventArgs<bool> e)
 {
     e.Result = obj.ObjClass != null;
 }