Ejemplo n.º 1
0
 public virtual void Inject(object instance, string property, object @value)
 {
     Net.Vpc.Upa.Record r = (Net.Vpc.Upa.Record)instance;
     if (entity.Contains(property))
     {
         r.SetObject(property, @value);
     }
 }
Ejemplo n.º 2
0
 /**
  * @param oldId
  * @param newId
  * @throws net.vpc.upa.exceptions.UPAException
  * CloneRecordNotAllowedException, CloneRecordNotAllowedException,
  * CloneRecordNotAllowedException, CloneRecordOldKeyNotFoundException,
  * CloneRecordNewKeyInUseException
  */
 public virtual void CheckClone(object oldId, object newId) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     if (!entity.GetPersistenceUnit().GetSecurityManager().IsAllowedClone(entity))
     {
         throw new Net.Vpc.Upa.Exceptions.CloneRecordNotAllowedException(entity);
     }
     if (!IsCloneSupported())
     {
         throw new Net.Vpc.Upa.Exceptions.CloneRecordNotAllowedException(entity);
     }
     if (oldId != null)
     {
         Net.Vpc.Upa.Expressions.Expression e = GetFullNonCloneableRecordsExpression();
         if (e != null && e.IsValid())
         {
             Net.Vpc.Upa.Expressions.And a = new Net.Vpc.Upa.Expressions.And(entity.GetBuilder().IdToExpression(oldId, null), e);
             if (entity.GetEntityCount(a) > 0)
             {
                 throw new Net.Vpc.Upa.Exceptions.CloneRecordNotAllowedException(entity);
             }
         }
         object o = entity.CreateQueryBuilder().ById(oldId).SetFieldFilter(Net.Vpc.Upa.Impl.Util.Filters.Fields2.PERSISTENT_NON_FORMULA).GetEntity <R>();
         if (o == null)
         {
             throw new Net.Vpc.Upa.Exceptions.CloneRecordOldKeyNotFoundException(entity);
         }
     }
     if (newId != null)
     {
         if (entity.Contains(newId))
         {
             throw new Net.Vpc.Upa.Exceptions.CloneRecordNewKeyInUseException(entity);
         }
     }
     CheckVeto(Net.Vpc.Upa.VetoableOperation.checkClone, oldId, newId);
 }