Beispiel #1
0
 protected override bool InternalDefault(Program program, IRow oldRow, IRow newRow, BitArray valueFlags, string columnName, bool isDescending)
 {
     if (isDescending)
     {
         BitArray localValueFlags = newRow.GetValueFlags();
         bool     changed         = false;
         if (PropagateDefaultLeft)
         {
             changed = LeftNode.Default(program, oldRow, newRow, valueFlags, columnName);
         }
         if (PropagateDefaultRight)
         {
             changed = RightNode.Default(program, oldRow, newRow, valueFlags, columnName) || changed;
         }
         if (changed)
         {
             for (int index = 0; index < newRow.DataType.Columns.Count; index++)
             {
                 if (!localValueFlags[index] && newRow.HasValue(index))
                 {
                     Change(program, oldRow, newRow, valueFlags, newRow.DataType.Columns[index].Name);
                 }
             }
         }
         return(changed);
     }
     return(false);
 }