Esempio n. 1
0
        public string ProcessDatabaseTemplateContext(string processed, string startContextDelimiter, IDatabaseContext databaseContext)
        {
            if (processed == null)
            {
                throw new ArgumentNullException(nameof(processed));
            }
            if (string.IsNullOrWhiteSpace(startContextDelimiter))
            {
                throw new ArgumentException($"{nameof(startContextDelimiter)} cannot be null or white space");
            }
            if (databaseContext == null)
            {
                throw new ArgumentNullException(nameof(databaseContext));
            }
            if (databaseContext.Database == null)
            {
                throw new ArgumentException($"{nameof(databaseContext)}.{nameof(databaseContext.Database)} cannot be null");
            }

            var databaseTemplateContextHandlerByStartContext = databaseTemplateContextHandlerProvider.GetContextHandlerByStartContextSignature();

            if (!databaseTemplateContextHandlerByStartContext.TryGetValue(startContextDelimiter, out var handler))
            {
                throw new ArgumentException($"{nameof(startContextDelimiter)} is not contained in the database template start delimiter context register");
            }
            var processedContext = handler.ProcessContext(processed, databaseContextCopier.CopyWithOverride(databaseContext, databaseContext.Database));

            return(processedContext);
        }
Esempio n. 2
0
        public void PreProcess(IEnumerable <ITemplateModel> templateModels)
        {
            if (templateModels == null)
            {
                return;
            }
            if (!templateModels.Any())
            {
                return;
            }
            var handlers          = preprocessorContextHandlerRegister.GetContextHandlerByStartContextSignature();
            var templateModelList = templateModels.ToList();

            templateModelList.ForEach(template => PreProcess(template, handlers));
        }