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); }