Esempio n. 1
0
        public DbDetailStatListSource(IBaseDbConfig config, IConfigCreator <TableResolver> mainResolver,
                                      ChildTableInfoConfig childInfoConfig)
            : base(childInfoConfig.Stat)
        {
            TkDebug.AssertArgumentNull(config, "config", null);
            TkDebug.AssertArgumentNull(mainResolver, "mainResolver", null);
            TkDebug.AssertArgumentNull(childInfoConfig, "childInfoConfig", null);

            SetConfig(config);
            fChildInfo = new ChildTableInfo(this, childInfoConfig);
            // 子列表不该占有主配置的数据权限
            //if (config.DataRight != null)
            //{
            //    SupportData = config.SupportData;
            //    DataRight = config.DataRight.CreateObject(fChildInfo.Resolver);
            //}
            // 子列表不该占有功能权限
            FunctionType = FunctionRightType.None;

            OrderBy         = fChildInfo.Relation.OrderBy;
            FilterSql       = fChildInfo.Relation.FilterSql;
            MainResolver    = fChildInfo.Resolver;
            fMasterResolver = mainResolver.CreateObject(this);
            if (childInfoConfig.Operators != null)
            {
                Operators = childInfoConfig.Operators.CreateObject();
            }
        }
Esempio n. 2
0
 protected override void FillUpdateTables(TableResolver resolver,
                                          IInputData input, ChildTableInfo childInfo)
 {
     if (FillDetailData || childInfo == null)
     {
         base.FillUpdateTables(resolver, input, childInfo);
     }
 }
Esempio n. 3
0
 protected virtual void FillUpdateTables(TableResolver resolver, IInputData input,
                                         ChildTableInfo childInfo)
 {
     if (childInfo == null)
     {
         fMainRow = resolver.Query(input.QueryString);
     }
     else
     {
         childInfo.FillDetailTables(MainResolver);
     }
 }
Esempio n. 4
0
        protected BaseMultipleDbSource(IBaseDbConfig config)
            : base(config)
        {
            IMultipleResolverConfig multiple = config.Convert <IMultipleResolverConfig>();

            if (multiple.ChildResolvers != null)
            {
                foreach (var item in multiple.ChildResolvers)
                {
                    ChildTableInfo info = new ChildTableInfo(this, item);
                    AddChildTable(info);
                }
            }
        }
Esempio n. 5
0
        public void AddChildTable(ChildTableInfo childTable)
        {
            TkDebug.AssertArgumentNull(childTable, "childTable", this);

            fChildTables.Add(childTable);
        }
Esempio n. 6
0
 protected override void FillUpdateTables(TableResolver resolver, IInputData input, ChildTableInfo childInfo)
 {
     if (childInfo == null)
     {
         DataSet postDataSet = input.PostObject.Convert <DataSet>();
         resolver.Query(postDataSet);
     }
     else
     {
         childInfo.FillDetailTables(MainResolver);
     }
 }