public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
        {
            Net.Vpc.Upa.PrimitiveField field = (Net.Vpc.Upa.PrimitiveField)@object;
            Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore persistenceUnitManager = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
            log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
            string q = persistenceUnitManager.GetAlterTableAddColumnStatement(field, executionContext);

            Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
            b.ExecuteNonQuery(q, null, null);
        }
 public PrimitiveFieldStructureCommit(Net.Vpc.Upa.PrimitiveField @object, Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceUnitCommitManager persistenceUnitCommitManager)  : base(persistenceUnitCommitManager, @object, typeof(Net.Vpc.Upa.PrimitiveField), null)
 {
 }
Пример #3
0
 public virtual int IndexOfField(Net.Vpc.Upa.PrimitiveField child)
 {
     return(fields.IndexOf(child));
 }
Пример #4
0
 public virtual Net.Vpc.Upa.PrimitiveField DropFieldAt(int index)
 {
     Net.Vpc.Upa.PrimitiveField child = Net.Vpc.Upa.Impl.Util.ListUtils.Remove <Net.Vpc.Upa.PrimitiveField>(fields, index, this, new Net.Vpc.Upa.Impl.DropPrimitiveFieldItemInterceptor());
     fieldsMap[child.GetName()] = child;
     return(child);
 }
Пример #5
0
 public virtual void AddField(Net.Vpc.Upa.PrimitiveField child, int index) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Impl.Util.ListUtils.Add <Net.Vpc.Upa.PrimitiveField>(fields, child, index, this, this, new Net.Vpc.Upa.Impl.Event.AddPrimitiveFieldItemInterceptor(this));
     fieldsMap[child.GetName()] = child;
 }
Пример #6
0
 public virtual void AddField(Net.Vpc.Upa.PrimitiveField child) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     AddField(child, -1);
 }
Пример #7
0
        public virtual bool AddField(Net.Vpc.Upa.Field f)
        {
            if (inUseFields.Contains(f))
            {
                return(false);
            }
            Net.Vpc.Upa.Formula formula = onPersist ? f.GetPersistFormula() : f.GetUpdateFormula();
            Net.Vpc.Upa.Impl.Persistence.ValidationPass pass = null;
            int formulaPassInteger = onPersist ? f.GetPersistFormulaOrder() : f.GetUpdateFormulaOrder();

            // passIndexes.add(formulaPassInteger);
            Net.Vpc.Upa.Impl.Persistence.ValidationPass[] passArray = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <int?, Net.Vpc.Upa.Impl.Persistence.ValidationPass[]>(orderedPasses, formulaPassInteger);
            if (passArray == null)
            {
                orderedPasses[formulaPassInteger] = passArray = new Net.Vpc.Upa.Impl.Persistence.ValidationPass[((Net.Vpc.Upa.Impl.Persistence.ValidationPassType[])System.Enum.GetValues(typeof(Net.Vpc.Upa.Impl.Persistence.ValidationPassType))).Length];
            }
            int pass1 = formulaPassInteger;

            if (formula is Net.Vpc.Upa.CustomUpdaterFormula)
            {
                pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.MANUAL_VALIDATION)];
                if (pass == null)
                {
                    pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.MANUAL_VALIDATION)] = new Net.Vpc.Upa.Impl.Persistence.ValidationPass(pass1, Net.Vpc.Upa.Impl.Persistence.ValidationPassType.MANUAL_VALIDATION);
                    size++;
                }
            }
            else if (formula is Net.Vpc.Upa.CustomFormula)
            {
                pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.CUSTOM_VALIDATION)];
                if (pass == null)
                {
                    pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.CUSTOM_VALIDATION)] = new Net.Vpc.Upa.Impl.Persistence.ValidationPass(pass1, Net.Vpc.Upa.Impl.Persistence.ValidationPassType.CUSTOM_VALIDATION);
                    size++;
                }
            }
            else if (!entityOperationManager.GetPersistenceStore().IsComplexSelectSupported())
            {
                Net.Vpc.Upa.Expressions.Expression fe = GetFieldExpression(f, onPersist);
                Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression ce = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression)entity.Compile(fe);
                bool found = ce.FindFirstExpression <T>(Net.Vpc.Upa.Impl.Uql.Compiledfilters.CompiledExpressionHelper.QUERY_STATEMENT_FILTER) != default(T);
                if (found)
                {
                    pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.ITERATIVE_VALIDATION)];
                    if (pass == null)
                    {
                        pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.ITERATIVE_VALIDATION)] = new Net.Vpc.Upa.Impl.Persistence.ValidationPass(pass1, Net.Vpc.Upa.Impl.Persistence.ValidationPassType.ITERATIVE_VALIDATION);
                        size++;
                    }
                }
                else
                {
                    pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.DEFAULT_VALIDATION)];
                    if (pass == null)
                    {
                        pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.DEFAULT_VALIDATION)] = new Net.Vpc.Upa.Impl.Persistence.ValidationPass(pass1, Net.Vpc.Upa.Impl.Persistence.ValidationPassType.DEFAULT_VALIDATION);
                        size++;
                    }
                }
            }
            else
            {
                pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.DEFAULT_VALIDATION)];
                if (pass == null)
                {
                    pass = passArray[((int)Net.Vpc.Upa.Impl.Persistence.ValidationPassType.DEFAULT_VALIDATION)] = new Net.Vpc.Upa.Impl.Persistence.ValidationPass(pass1, Net.Vpc.Upa.Impl.Persistence.ValidationPassType.DEFAULT_VALIDATION);
                    size++;
                }
            }
            pass.GetFields().Add(f);
            inUseFields.Add(f);
            System.Collections.Generic.ICollection <Net.Vpc.Upa.PrimitiveField> dependency = (System.Collections.Generic.ICollection <Net.Vpc.Upa.PrimitiveField>)f.GetProperties().GetObject <T>(onPersist ? Net.Vpc.Upa.Impl.DefaultEntity.PERSIST_DEPENDENT_FIELDS : Net.Vpc.Upa.Impl.DefaultEntity.UPDATE_DEPENDENT_FIELDS);
            if (dependency != null)
            {
                foreach (Net.Vpc.Upa.PrimitiveField aDependency in dependency)
                {
                    Net.Vpc.Upa.PrimitiveField df = (Net.Vpc.Upa.PrimitiveField)aDependency;
                    //include only dependent fields from the same entity
                    if (df.GetEntity().GetName().Equals(f.GetEntity().GetName()))
                    {
                        // add only formulas fields that are validateSupported
                        if (onPersist)
                        {
                            Net.Vpc.Upa.Formula ff = df.GetPersistFormula();
                            if (ff != null && df.GetModifiers().Contains(Net.Vpc.Upa.FieldModifier.PERSIST_FORMULA))
                            {
                                AddField(df);
                            }
                        }
                        else
                        {
                            Net.Vpc.Upa.Formula ff = df.GetUpdateFormula();
                            if (ff != null && df.GetModifiers().Contains(Net.Vpc.Upa.FieldModifier.UPDATE_FORMULA))
                            {
                                AddField(df);
                            }
                        }
                    }
                }
            }
            return(true);
        }