/// <summary> /// Points object's key fields. This information is used to assemble /// local key comparison function and compare local objects in runtime. /// It is used to proform update of local objects set /// </summary> /// <param name="conf">Column configuration</param> /// <param name="columns"></param> public static Configurator <TSourceData, TTableData> PrimaryKey <TSourceData, TTableData> (this Configurator <TSourceData, TTableData> conf, Action <ColumnListBuilder <TSourceData, TTableData> > columns) where TTableData : new() { ColumnListBuilder <TSourceData, TTableData> clb = new ColumnListBuilder <TSourceData, TTableData>(conf); columns(clb); conf.TableConfiguration.KeyFields = clb.Names.ToArray(); return(conf); }
HideoutMenu <TSourceData, TTableData>( this Configurator <TSourceData, TTableData> conf, Action <ColumnListBuilder <TSourceData, TTableData> > columns, Action <PluginConfigurationWrapper <HideoutPluginConfiguration> > ui = null, string where = null ) where TTableData : new() { ColumnListBuilder <TSourceData, TTableData> bldr = new ColumnListBuilder <TSourceData, TTableData>(conf); columns(bldr); conf.TableConfiguration.UpdatePluginConfig <HideoutPluginConfiguration>(PluginId, a => { if (ui != null) { ui(a); } a.Configuration.HideableColumnsNames = bldr.Names.ToList(); }, where); return(conf); }