예제 #1
0
 protected override XVar getPageFields()
 {
     if (XVar.Equals(XVar.Pack(this.updSelectedFields), XVar.Pack(null)))
     {
         dynamic denyDuplicateFields = XVar.Array(), updateFields = XVar.Array();
         this.updSelectedFields = XVar.Clone(MVCFunctions.array_diff((XVar)(this.pSet.getUpdateSelectedFields()), (XVar)(this.pSet.getTableKeys())));
         denyDuplicateFields    = XVar.Clone(XVar.Array());
         foreach (KeyValuePair <XVar, dynamic> f in this.updSelectedFields.GetEnumerator())
         {
             if (XVar.Pack(!(XVar)(this.pSet.allowDuplicateValues((XVar)(f.Value)))))
             {
                 denyDuplicateFields.InitAndSetArrayItem(f.Value, null);
             }
         }
         this.updSelectedFields = XVar.Clone(MVCFunctions.array_diff((XVar)(this.updSelectedFields), (XVar)(denyDuplicateFields)));
         updateFields           = XVar.Clone(XVar.Array());
         foreach (KeyValuePair <XVar, dynamic> f in this.updSelectedFields.GetEnumerator())
         {
             dynamic editFormat = null;
             editFormat = XVar.Clone(this.pSet.getEditFormat((XVar)(f.Value)));
             if (editFormat != Constants.EDIT_FORMAT_FILE)
             {
                 updateFields.InitAndSetArrayItem(f.Value, null);
             }
         }
         this.updSelectedFields = XVar.Clone(updateFields);
     }
     return(this.updSelectedFields);
 }