public override void ToJSON( JObject ParentObject ) { ParentObject[_SelectedViewIdsSubField.ToXmlNodeName()] = SelectedViewIds.ToString(); ParentObject["selectmode"] = SelectMode.ToString(); ParentObject[_CachedViewNameSubField.ToXmlNodeName()] = CachedViewNames.ToString(); ParentObject[ElemName_Options] = new JObject(); CswCheckBoxArrayOptions CBAOptions = new CswCheckBoxArrayOptions(); CBAOptions.Columns.Add( "Include" ); DataTable ViewsTable = ViewsForCBA(); foreach( DataRow ViewRow in ViewsTable.Rows ) { bool isSelected = SelectedViewIds.Contains( ViewRow[KeyColumn] ); if( IsEditModeEditable || isSelected ) { CswCheckBoxArrayOptions.Option Option = new CswCheckBoxArrayOptions.Option(); Option.Key = ViewRow[KeyColumn].ToString(); Option.Label = ViewRow[NameColumn].ToString(); Option.Values.Add( CswConvert.ToBoolean( ViewRow[ValueColumn] ) ); CBAOptions.Options.Add( Option ); } } CBAOptions.ToJSON( (JObject) ParentObject[ElemName_Options] ); } // ToJSON()
public DataTable ViewsForCBA() { DataTable _ViewsForCBA = new CswDataTable( "viewpicklistdatatable", "" ); _ViewsForCBA.Columns.Add( KeyColumn, typeof( Int32 ) ); _ViewsForCBA.Columns.Add( NameColumn, typeof( string ) ); _ViewsForCBA.Columns.Add( ValueColumn, typeof( bool ) ); foreach( CswNbtView ThisView in Views.Values ) { DataRow NewViewRow = _ViewsForCBA.NewRow(); NewViewRow[NameColumn] = ThisView.ViewName; NewViewRow[KeyColumn] = ThisView.ViewId.get(); NewViewRow[ValueColumn] = ( ( SelectedViewIds.Contains( ThisView.ViewId.get() ) ) || ( ( Views.Values.First() == ThisView ) && Required && SelectedViewIds.Count == 0 ) ); _ViewsForCBA.Rows.Add( NewViewRow ); } return _ViewsForCBA; } // ViewsForCBA