Ejemplo n.º 1
0
        public override void Render(object toRender, Stream output)
        {
            AppContentResponder appContentResponder = ContentResponder.AppContentResponders[AppName];
            ITemplateRenderer   dustRenderer        = appContentResponder.AppTemplateRenderer;
            string templateName = GetTemplateName(toRender);
            string templates    = dustRenderer.CompiledTemplates;
            string result       = DustScript.Render(templates, templateName, toRender);

            string layout;

            byte[] data;
            if (HttpArgs.Has("layout", out layout))
            {
                string      absolutePath = ExecutionRequest.Request.Url.AbsolutePath;
                string      extension    = Path.GetExtension(absolutePath);
                string      path         = absolutePath.Truncate(extension.Length);
                LayoutModel layoutModel  = appContentResponder.GetLayoutModelForPath(path);
                layoutModel.LayoutName  = layout;
                layoutModel.PageContent = result;
                MemoryStream ms = new MemoryStream();
                appContentResponder.CommonTemplateRenderer.RenderLayout(layoutModel, ms);
                ms.Seek(0, SeekOrigin.Begin);
                data = ms.GetBuffer();
            }
            else
            {
                data = Encoding.UTF8.GetBytes(result);
            }
            output.Write(data, 0, data.Length);
        }
 public ConsoleEmailSender(MailTemplatingSettings mailSettings, ILogger <ConsoleEmailSender> logger, ITemplateRenderer templateRenderer, IEmailQueue emailQueue)
 {
     _logger           = logger;
     _templateRenderer = templateRenderer;
     _emailQueue       = emailQueue;
     _mailSettings     = mailSettings;
 }
Ejemplo n.º 3
0
 public EmailService(
     IEmailSender emailSender,
     ITemplateRenderer templateRenderer)
 {
     _emailSender      = emailSender;
     _templateRenderer = templateRenderer;
 }
        public void RenderTemplateAsyncWithIntermediaryWithSuccess(ITemplateRenderer renderer, AzureIntegrationServicesModel model, MessagingObject messagingObject, string templateContent, string renderedContent, Exception e)
        {
            "Given a template renderer"
            .x(() => renderer = new LiquidTemplateRenderer(_mockLogger.Object));

            "And a model"
            .x(() => model = _model);

            "And a messaging object"
            .x(() => messagingObject = model.FindMessagingObject("ContosoMessageBus:System:MessageAgent").messagingObject);

            "And a template content"
            .x(() => templateContent = _templateIntermediaryContent);

            "When rendering the template"
            .x(async() => e = await Record.ExceptionAsync(async() => renderedContent = await renderer.RenderTemplateAsync(templateContent, model, messagingObject)));

            "Then the render should succeed"
            .x(() => e.Should().BeNull());

            "And the rendered content should have expected values from the model"
            .x(() =>
            {
                renderedContent.Should().NotBeNull().And.ContainAny("MessageAgent").And.NotContainAny("{{").And.NotContainAny("}}");
            });
        }
Ejemplo n.º 5
0
        public Template(ITemplateRenderer renderer, ITemplatePreprocessor preprocessor)
        {
            if (renderer == null && preprocessor == null)
            {
                throw new ArgumentNullException("Both renderer and preprocessor are null");
            }

            Renderer     = renderer;
            Preprocessor = preprocessor;

            Name       = renderer?.Name ?? preprocessor?.Name;
            ScriptName = preprocessor?.Path;


            var templateInfo = GetTemplateInfo(Name);

            Extension    = templateInfo.Extension;
            Type         = templateInfo.DocumentType;
            TemplateType = templateInfo.TemplateType;

            ContainsGetOptions          = Preprocessor?.ContainsGetOptions == true;
            ContainsModelTransformation = Preprocessor?.ContainsModelTransformation == true;

            Resources = ExtractDependentResources(Name);

            if (Renderer == null && !ContainsGetOptions && !ContainsModelTransformation)
            {
                Logger.LogWarning($"Template {Name} contains neither preprocessor to process model nor template to render model. Please check if the template is correctly defined. Allowed preprocessor functions are [exports.getOptions] and [exports.transform].");
            }
        }
Ejemplo n.º 6
0
 public UmbracoComponentRenderer(IUmbracoContextAccessor umbracoContextAccessor, IMacroRenderer macroRenderer, ITemplateRenderer templateRenderer, HtmlLocalLinkParser linkParser)
 {
     _umbracoContextAccessor = umbracoContextAccessor;
     _macroRenderer          = macroRenderer;
     _templateRenderer       = templateRenderer ?? throw new ArgumentNullException(nameof(templateRenderer));
     _linkParser             = linkParser;
 }
Ejemplo n.º 7
0
        public Template(string template, string templateName, string script, ResourceCollection resourceProvider)
        {
            if (string.IsNullOrEmpty(templateName))
            {
                throw new ArgumentNullException(nameof(templateName));
            }
            if (string.IsNullOrEmpty(template))
            {
                throw new ArgumentNullException(nameof(template));
            }
            Name = templateName;
            var typeAndExtension = GetTemplateTypeAndExtension(templateName);

            Extension = typeAndExtension.Item2;
            Type      = typeAndExtension.Item1;
            IsPrimary = typeAndExtension.Item3;
            _script   = script;
            if (resourceProvider != null)
            {
                if (Path.GetExtension(templateName).Equals(".liquid", StringComparison.OrdinalIgnoreCase))
                {
                    _renderer = LiquidTemplateRenderer.Create(resourceProvider, template);
                }
                else
                {
                    _renderer = new MustacheTemplateRenderer(resourceProvider, template);
                }
            }

            Resources = ExtractDependentResources();
        }
        public void RenderTemplateAsyncWithResourceTemplateWithSuccess(ITemplateRenderer renderer, AzureIntegrationServicesModel model, MessagingObject messagingObject, TargetResourceTemplate resourceTemplate, string templateContent, string renderedContent, Exception e)
        {
            "Given a template renderer"
            .x(() => renderer = new LiquidTemplateRenderer(_mockLogger.Object));

            "And a model"
            .x(() => model = _model);

            "And a messaging object"
            .x(() => messagingObject = model.FindMessagingObject("ContosoMessageBus:System:FtpReceive").messagingObject);

            "And a resource template object"
            .x(() => resourceTemplate = new TargetResourceTemplate()
            {
                ResourceName = "endpointFtpReceiveLogicAppConsumption"
            });

            "And a template content"
            .x(() => templateContent = _templateResourceTemplateContent);

            "When rendering the template"
            .x(async() => e = await Record.ExceptionAsync(async() => renderedContent = await renderer.RenderTemplateAsync(templateContent, model, null, resourceTemplate)));

            "Then the render should succeed"
            .x(() => e.Should().BeNull());

            "And the rendered content should have expected values from the model"
            .x(() =>
            {
                renderedContent.Should().NotBeNull().And.ContainAny("endpointFtpReceiveLogicAppConsumption").And.NotContainAny("{{").And.NotContainAny("}}");
            });
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Add a template engine for binding templates
        /// </summary>
        /// <param name="engine"></param>

        public void Register(ITemplateRenderer engine)
        {
            if (!this._templateRenderers.Contains(engine))
            {
                this._templateRenderers.Add(engine);
            }
        }
Ejemplo n.º 10
0
 public CustomRendererDemo(ServiceProvider?services)
 {
     if (services is null)
     {
         throw new ArgumentNullException(nameof(services));
     }
     _templateRenderer = services.GetServices <ITemplateRenderer>().First(s => s.GetType() == typeof(CustomTemplateRenderer));
 }
Ejemplo n.º 11
0
 public TemplateProcessor(ITemplateRenderer renderer, IObservableConsul client, string templatePath, string outputPath, PropertyBag properties = null)
 {
     _renderer    = renderer;
     _client      = client;
     TemplatePath = templatePath;
     OutputPath   = outputPath;
     Properties   = properties;
 }
Ejemplo n.º 12
0
 public SendEmailTask(IMailMergeService mailMergeService, ITemplateRenderer renderer, ITenantContext tenantContext, IStringLocalizer <EmailResource> localizer, ILogger <SendEmailTask> logger)
 {
     _mailMergeService = mailMergeService;
     _renderer         = renderer;
     _localizer        = localizer;
     _tenantContext    = tenantContext;
     _logger           = logger;
 }
 public static Task <string> RenderAsync([NotNull] this ITemplateRenderer renderer,
                                         string template, CancellationToken cancellationToken = default)
 {
     Check.NotNull(renderer, nameof(renderer));
     return(string.IsNullOrEmpty(template)
         ? Task.FromResult(string.Empty)
         : renderer.RenderAsync(template, null, cancellationToken));
 }
Ejemplo n.º 14
0
 public void Render(TextWriter writer, ConsulState model, ITemplateRenderer renderer, PropertyBag properties)
 {
     Writer     = writer;
     Model      = model;
     Renderer   = renderer;
     Properties = properties ?? new PropertyBag();
     ExecuteAsync().GetAwaiter().GetResult();
 }
Ejemplo n.º 15
0
        /// <summary>
        /// Add a template engine for binding templates
        /// </summary>
        /// <param name="renderer"></param>

        public TemplateManager Register(ITemplateRenderer renderer)
        {
            if (!this._templateRenderers.Contains(renderer))
            {
                this._templateRenderers.Add(renderer);
            }
            return(this);
        }
Ejemplo n.º 16
0
 public AccountEmailVerifySender(
     IEmailSender emailSender,
     ITemplateRenderer templateRenderer,
     IStringLocalizer <AccountResource> stringLocalizer,
     IAppUrlProvider appUrlProvider,
     ICurrentTenant currentTenant)
     : base(emailSender, templateRenderer, stringLocalizer, appUrlProvider, currentTenant)
 {
 }
 /// <summary>
 /// Creates a new instance of a <see cref="TemplateRendererConverter"/> class.
 /// </summary>
 /// <param name="fileRepository">The file repository.</param>
 /// <param name="repository">The repository.</param>
 /// <param name="renderer">The renderer.</param>
 /// <param name="model">The model.</param>
 /// <param name="context">The context.</param>
 /// <param name="logger">A logger.</param>
 public TemplateRendererConverter(IFileRepository fileRepository, ITemplateRepository repository, ITemplateRenderer renderer, IApplicationModel model, MigrationContext context, ILogger logger)
     : base(nameof(TemplateRendererConverter), model, context, logger)
 {
     // Validate and set the member.
     _fileRepository = fileRepository ?? throw new ArgumentNullException(nameof(fileRepository));
     _repository = repository ?? throw new ArgumentNullException(nameof(repository));
     _renderer = renderer ?? throw new ArgumentNullException(nameof(renderer));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Ejemplo n.º 18
0
        public EmailFactory(ITemplateRenderer renderer, ISender sender, IOptions <MailingSettings> settingsOptions)
        {
            _renderer = renderer ?? Email.DefaultRenderer;
            _sender   = sender ?? Email.DefaultSender;

            var settings = settingsOptions?.Value.GuardIsNotNull(nameof(settingsOptions));

            FromAddress = settings.FromAddress.GuardIsNotNull(nameof(settings.FromAddress));
            FromName    = settings.FromName.GuardIsNotNull(nameof(settings.FromName));
        }
Ejemplo n.º 19
0
        public void RenderCommonTemplate(string templateName, object toRender, Stream output)
        {
            Args.ThrowIfNull(AppConf, "AppConf");
            Args.ThrowIfNull(AppConf.BamConf, "AppConf.BamConf");
            Args.ThrowIfNull(AppConf.BamConf.Server, "AppConf.BamConf.Server");
            BamServer         server   = AppConf.BamConf.Server;
            ITemplateRenderer renderer = server.GetAppTemplateRenderer(AppConf.Name);

            renderer.Render(templateName, toRender, output);
        }
Ejemplo n.º 20
0
        public string GetSubjectFromTemplate <T>(string emailName, T model, ITemplateRenderer renderer)
        {
            var template = "";

            using (var reader = new StreamReader(File.OpenRead(GetSubjectTemplateFile(emailName))))
            {
                template = reader.ReadToEnd().Trim();
            }
            return(renderer.Parse(template, model, false));
        }
 public NotificationService(
     IMessagingService messagingService,
     ITemplateRenderer templateRenderer,
     IOptions <NotificationOptions> optionAccessor,
     ILogger <NotificationService> logger)
 {
     _messagingService = messagingService ?? throw new ArgumentNullException(nameof(messagingService));
     _templateRenderer = templateRenderer ?? throw new ArgumentNullException(nameof(templateRenderer));
     _logger           = logger ?? throw new ArgumentNullException(nameof(logger));
     _options          = optionAccessor?.Value ?? throw new ArgumentNullException(nameof(optionAccessor));
 }
Ejemplo n.º 22
0
		public EmailConfirmationService(
			UserManager<DbUser> userManager,
			IAppUrlBuilder appUrlBuilder,
			IEmailSender emailSender,
			ITemplateRenderer templateRenderer)
		{
			_userManager = userManager;
			_appUrlBuilder = appUrlBuilder;
			_emailSender = emailSender;
			_templateRenderer = templateRenderer;
		}
Ejemplo n.º 23
0
 /// <summary>
 ///  Creates a new Email instance using the given engines and mailing address.
 /// </summary>
 /// <param name="renderer">The template rendering engine</param>
 /// <param name="sender">The email sending implementation</param>
 /// <param name="emailAddress">Email address to send from</param>
 /// <param name="name">Name to send from</param>
 public Email(ITemplateRenderer renderer, ISender sender, string emailAddress, string name = "")
 {
     Data = new EmailData
     {
         FromAddress = new Address {
             EmailAddress = emailAddress, Name = name
         }
     };
     Renderer = renderer;
     Sender   = sender;
 }
Ejemplo n.º 24
0
 public UserSecurityCodeSender(
     ISmsSender smsSender,
     IEmailSender emailSender,
     ITemplateRenderer templateRenderer,
     IStringLocalizer <IdentityResource> localizer)
 {
     SmsSender        = smsSender;
     EmailSender      = emailSender;
     TemplateRenderer = templateRenderer;
     Localizer        = localizer;
 }
Ejemplo n.º 25
0
 public NotifyByEmailAutomationActionProvider(
     IAutomationContextProvider automationContextProvider,
     IRecipientResolver recipientResolver,
     ITemplateRenderer templateRenderer,
     IEmailSender emailSender)
 {
     _automationContextProvider = automationContextProvider;
     _recipientResolver         = recipientResolver;
     _templateRenderer          = templateRenderer;
     _emailSender = emailSender;
 }
Ejemplo n.º 26
0
        public IEnumerable <ITemplatePreprocessor> LoadFromRenderer(ITemplateRenderer renderer)
        {
            var viewPath         = renderer.Path;
            var preproceesorPath = Path.ChangeExtension(viewPath, TemplateJintPreprocessor.Extension);
            var res          = _reader.GetResource(preproceesorPath);
            var preprocessor = Load(new ResourceInfo(preproceesorPath, res), renderer.Name);

            if (preprocessor != null)
            {
                yield return(preprocessor);
            }
        }
        public SolutionGeneratorService(IGitService gitService, ITemplateRenderer templateRenderer,
            IProjectTypeConverterService projectTypeConverterService, IReferencesService referencesService)
        {
            Argument.IsNotNull(() => gitService);
            Argument.IsNotNull(() => templateRenderer);
            Argument.IsNotNull(() => projectTypeConverterService);
            Argument.IsNotNull(() => referencesService);

            _gitService = gitService;
            _templateRenderer = templateRenderer;
            _projectTypeConverterService = projectTypeConverterService;
            _referencesService = referencesService;
        }
Ejemplo n.º 28
0
 public ForgotPasswordHandler(
     ILogger <ForgotPasswordHandler> logger,
     UserManager <DbUser> userManager,
     IAppUrlBuilder appUrlBuilder,
     IEmailSender emailSender,
     ITemplateRenderer templateRenderer)
 {
     _logger           = logger;
     _userManager      = userManager;
     _appUrlBuilder    = appUrlBuilder;
     _emailSender      = emailSender;
     _templateRenderer = templateRenderer;
 }
 public AccountMailer(
     IEmailSender emailSender,
     ITemplateRenderer templateRenderer,
     IStringLocalizer <EmailingResource> stringLocalizer,
     IAppUrlProvider appUrlProvider,
     ICurrentTenant currentTenant)
 {
     EmailSender      = emailSender;
     StringLocalizer  = stringLocalizer;
     AppUrlProvider   = appUrlProvider;
     CurrentTenant    = currentTenant;
     TemplateRenderer = templateRenderer;
 }
Ejemplo n.º 30
0
 public SendInvitationsHandler(
     IUnitOfWorkFactory unitOfWorkFactory,
     IDbContextFactory dbContextFactory,
     IAppUrlBuilder appUrlBuilder,
     IEmailSender emailSender,
     ITemplateRenderer templateRenderer)
 {
     _unitOfWorkFactory = unitOfWorkFactory;
     _dbContextFactory  = dbContextFactory;
     _appUrlBuilder     = appUrlBuilder;
     _emailSender       = emailSender;
     _templateRenderer  = templateRenderer;
 }
Ejemplo n.º 31
0
        public SolutionGeneratorService(IGitService gitService, ITemplateRenderer templateRenderer,
                                        IProjectTypeConverterService projectTypeConverterService, IReferencesService referencesService)
        {
            Argument.IsNotNull(() => gitService);
            Argument.IsNotNull(() => templateRenderer);
            Argument.IsNotNull(() => projectTypeConverterService);
            Argument.IsNotNull(() => referencesService);

            _gitService                  = gitService;
            _templateRenderer            = templateRenderer;
            _projectTypeConverterService = projectTypeConverterService;
            _referencesService           = referencesService;
        }
Ejemplo n.º 32
0
 public WorkflowServiceFacade(
     ISecurityService accessItemService,
     ITemplateRenderer renderer,
     IWorkflowServiceResolver serviceResolver,
     IWFObjectInitializer objectInitializer,
     IWorkflowStrategyService strategyService,
     IHelperJsonConverter helperJsonConverter)
 {
     _accessItemService = accessItemService;
     _renderer = renderer;
     _serviceResolver = serviceResolver;
     _objectInitializer = objectInitializer;
     _strategyService = strategyService;
     _helperJsonConverter = helperJsonConverter;
 }
Ejemplo n.º 33
0
        public Template(string template, string templateName, string script, ResourceCollection resourceCollection)
        {
            if (string.IsNullOrEmpty(templateName)) throw new ArgumentNullException(nameof(templateName));
            if (string.IsNullOrEmpty(template)) throw new ArgumentNullException(nameof(template));
            Name = templateName;
            var typeAndExtension = GetTemplateTypeAndExtension(templateName);
            Extension = typeAndExtension.Item2;
            Type = typeAndExtension.Item1;
            IsPrimary = typeAndExtension.Item3;
            _script = script;
            _engine = CreateEngine(script);

            _renderer = CreateRenderer(resourceCollection, templateName, template);
            Resources = ExtractDependentResources();
        }
Ejemplo n.º 34
0
        public Template(string template, string templateName, string script, ResourceCollection resourceProvider)
        {
            if (string.IsNullOrEmpty(templateName)) throw new ArgumentNullException(nameof(templateName));
            if (string.IsNullOrEmpty(template)) throw new ArgumentNullException(nameof(template));
            Name = templateName;
            var typeAndExtension = GetTemplateTypeAndExtension(templateName);
            Extension = typeAndExtension.Item2;
            Type = typeAndExtension.Item1;
            IsPrimary = typeAndExtension.Item3;
            _script = script;
            if (resourceProvider != null)
            {
                if (Path.GetExtension(templateName).Equals(".liquid", StringComparison.OrdinalIgnoreCase))
                {
                    _renderer = LiquidTemplateRenderer.Create(resourceProvider, template);
                }
                else
                {
                    _renderer = new MustacheTemplateRenderer(resourceProvider, template);
                }
            }

            Resources = ExtractDependentResources();
        }
Ejemplo n.º 35
0
 public ControllerWrapper(ContentItem item, ITemplateRenderer renderer)
 {
     ViewData = new ViewDataDictionary(item);
     this.renderer = renderer;
     this.item = item;
 }
Ejemplo n.º 36
0
 public MvcOnWebFormPartAdapter(ITemplateRenderer renderer)
 {
     this.renderer = renderer;
 }