示例#1
0
        /// <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);
        }
示例#2
0
        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);
        }