Пример #1
0
        public void ReportToQueryConverter( )
        {
            IReportToQueryConverter instance = Factory.ReportToQueryConverter;

            Assert.That(instance, Is.TypeOf <CachingReportToQueryConverter>( ));

            CachingReportToQueryConverter cachingConverter = ( CachingReportToQueryConverter )instance;

            Assert.That(cachingConverter.Converter, Is.TypeOf <ReportToQueryConverter>( ));
        }
Пример #2
0
        /// <summary>
        /// Create a new <see cref="CachingReportToQueryConverter"/>.
        /// </summary>
        /// <param name="converter">
        /// The wrapped converter.
        /// </param>
        public CachingReportToQueryConverter([WithKey(Factory.NonCachedKey)] IReportToQueryConverter converter)
        {
            if (converter == null)
            {
                throw new ArgumentNullException("converter");
            }

            Converter         = converter;
            Cache             = CacheFactory.CreateSimpleCache <CachingReportToQueryConverterKey, CachingReportToQueryConverterValue>("Report To Query");
            _cacheInvalidator = new ReportToQueryCacheInvalidator(Cache);
            _syncRoot         = new object();
        }
Пример #3
0
        /// <summary>
        /// Create a new <see cref="QueryRepository" />.
        /// </summary>
        /// <param name="reportToQueryConverter">A <see cref="IReportToQueryConverter" />. This cannot be null.</param>
        /// <param name="ruleRepository">The rule repository.</param>
        /// <param name="entityRepository">The entity repository.</param>
        /// <param name="accessRuleFilter">A filter applied to <see cref="AccessRule" />. This cannot be null.</param>
        /// <exception cref="System.ArgumentNullException">
        /// reportToQueryConverter
        /// or
        /// ruleRepository
        /// or
        /// entityRepository
        /// or
        /// accessRuleFilter
        /// </exception>
        /// <exception cref="ArgumentNullException">No argument can be null.</exception>
        internal QueryRepository(IReportToQueryConverter reportToQueryConverter, IRuleRepository ruleRepository, IEntityRepository entityRepository, Predicate <AccessRule> accessRuleFilter)
        {
            if (reportToQueryConverter == null)
            {
                throw new ArgumentNullException("reportToQueryConverter");
            }
            if (ruleRepository == null)
            {
                throw new ArgumentNullException("ruleRepository");
            }
            if (entityRepository == null)
            {
                throw new ArgumentNullException("entityRepository");
            }
            if (accessRuleFilter == null)
            {
                throw new ArgumentNullException("accessRuleFilter");
            }

            Converter              = reportToQueryConverter;
            RuleRepository         = ruleRepository;
            ReportEntityRepository = entityRepository;
            Filter = accessRuleFilter;
        }
Пример #4
0
        public void ReportToQueryConverter_SameInstanceForCacheViaResolve( )
        {
            IReportToQueryConverter converter = Factory.Current.Resolve <IReportToQueryConverter>();

            Assert.That(converter, Is.SameAs(Factory.ReportToQueryConverter));
        }