public InvoiceApiController(IRepository <Order> orderRepository, IWorkContext workContext, IRazorViewRenderer viewRender, IPdfConverter pdfConverter) { _orderRepository = orderRepository; _workContext = workContext; _viewRender = viewRender; _pdfConverter = pdfConverter; }
public EmailSender( IRazorViewRenderer viewRenderer, IOptions <EmailOptions> emailOptions) { _viewRenderer = viewRenderer; _emailOptions = emailOptions; }
/// <summary> /// Initializes a new instance of the <see cref="RazorViewEngine"/> class. /// </summary> /// <param name="configuration">The <see cref="IRazorConfiguration"/> that should be used by the engine.</param> /// <param name="environment">An <see cref="INancyEnvironment"/> instance.</param> /// <param name="assemblyCatalog">An <see cref="IAssemblyCatalog"/> instance.</param> public RazorViewEngine(IRazorConfiguration configuration, INancyEnvironment environment, IAssemblyCatalog assemblyCatalog) { this.razorAssemblyProvider = new RazorAssemblyProvider(configuration, assemblyCatalog); this.viewRenderer = new CSharpRazorViewRenderer(this.razorAssemblyProvider); this.razorConfiguration = configuration; this.traceConfiguration = environment.GetValue<TraceConfiguration>(); this.AddDefaultNameSpaces(this.viewRenderer.Host); }
public MessageService(IEmailSender emailSender, ISmsSender smsSender, IRazorViewRenderer razorViewRenderer, IOptions <AppSettings> appSettings, ILogger <MessageService> logger) { _emailSender = emailSender; _smsSender = smsSender; _razorViewRenderer = razorViewRenderer; _appSettings = appSettings; _logger = logger; }
public PageBlockRenderer( IPageBlockTypeViewFileLocator pageBlockTypeViewFileLocator, IRazorViewRenderer razorViewRenderer ) { _pageBlockTypeViewFileLocator = pageBlockTypeViewFileLocator; _razorViewRenderer = razorViewRenderer; }
/// <summary> /// Initializes a new instance of the <see cref="RazorViewEngine"/> class. /// </summary> /// <param name="configuration">The <see cref="IRazorConfiguration"/> that should be used by the engine.</param> /// <param name="environment">An <see cref="INancyEnvironment"/> instance.</param> /// <param name="assemblyCatalog">An <see cref="IAssemblyCatalog"/> instance.</param> public RazorViewEngine(IRazorConfiguration configuration, INancyEnvironment environment, IAssemblyCatalog assemblyCatalog) { this.razorAssemblyProvider = new RazorAssemblyProvider(configuration, assemblyCatalog); this.viewRenderer = new CSharpRazorViewRenderer(this.razorAssemblyProvider); this.razorConfiguration = configuration; this.traceConfiguration = environment.GetValue <TraceConfiguration>(); this.AddDefaultNameSpaces(this.viewRenderer.Host); }
public AppService(IServiceProvider services) { _mapper = services.GetRequiredService <IMapper>(); _appSettings = services.GetRequiredService <IOptions <AppSettings> >().Value; _webHostEnvironment = services.GetRequiredService <IWebHostEnvironment>(); _razorViewRenderer = services.GetRequiredService <IRazorViewRenderer>(); _cacheManager = services.GetRequiredService <ICacheManager>(); _productService = services.GetRequiredService <ProductService>(); _tagService = services.GetRequiredService <TagService>(); _categoryService = services.GetRequiredService <CategoryService>(); _bannerService = services.GetRequiredService <BannerService>(); _cartService = services.GetRequiredService <CartService>(); _orderService = services.GetRequiredService <OrderService>(); _orderItemService = services.GetRequiredService <OrderItemService>(); _reviewService = services.GetRequiredService <ReviewService>(); }
public AccountController( UserManager <User> userManager, SignInManager <User> signInManager, IStringLocalizerFactory stringLocalizerFactory, IRazorViewRenderer viewRender, IEmailSender emailSender, ISmsSender smsSender, ILoggerFactory loggerFactory) { _userManager = userManager; _signInManager = signInManager; _localizer = stringLocalizerFactory.Create(null); _viewRender = viewRender; _emailSender = emailSender; _smsSender = smsSender; _logger = loggerFactory.CreateLogger <AccountController>(); }
public VisualEditorActionResultFactory( IStaticResourceReferenceRenderer staticResourceReferenceRenderer, IAdminRouteLibrary adminRouteLibrary, IPageResponseDataCache pageResponseDataCache, IJsonSerializerSettingsFactory jsonSerializerSettingsFactory, IRazorViewRenderer razorViewRenderer, IResourceLocator resourceLocator, IPermissionValidationService permissionValidationService ) { _staticResourceReferenceRenderer = staticResourceReferenceRenderer; _adminRouteLibrary = adminRouteLibrary; _pageResponseDataCache = pageResponseDataCache; _jsonSerializerSettingsFactory = jsonSerializerSettingsFactory; _resourceLocator = resourceLocator; _razorViewRenderer = razorViewRenderer; _permissionValidationService = permissionValidationService; }
private Func <INancyRazorView> GenerateRazorViewFactory(IRazorViewRenderer renderer, GeneratorResults generatorResults, Type passedModelType, ViewLocationResult viewLocationResult) { var modelType = GetModelTypeFromGeneratedCode(generatorResults, passedModelType); var sourceCode = string.Empty; if (this.razorConfiguration != null) { if (this.razorConfiguration.AutoIncludeModelNamespace) { AddModelNamespace(generatorResults, modelType); } } using (var writer = new StringWriter()) { renderer.Provider.GenerateCodeFromCompileUnit(generatorResults.GeneratedCode, writer, new CodeGeneratorOptions()); sourceCode = writer.ToString(); } var compilation = CSharpCompilation.Create( assemblyName: string.Format("Temp_{0}.dll", Guid.NewGuid().ToString("N")), syntaxTrees: new[] { CSharpSyntaxTree.ParseText(sourceCode) }, references: this.GetMetadataReferences().Value, options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); using (var ms = new MemoryStream()) { var result = compilation.Emit(ms); if (!result.Success) { return(() => new NancyRazorErrorView(BuildErrorMessage(result, viewLocationResult, sourceCode), this.traceConfiguration)); } ms.Seek(0, SeekOrigin.Begin); var viewAssembly = Assembly.Load(ms.ToArray()); return(() => (INancyRazorView)Activator.CreateInstance(viewAssembly.GetType("RazorOutput.RazorView"))); } }
private Func<INancyRazorView> GenerateRazorViewFactory(IRazorViewRenderer viewRenderer, GeneratorResults razorResult, Assembly referencingAssembly, Type passedModelType, ViewLocationResult viewLocationResult) { var outputAssemblyName = Path.Combine(Path.GetTempPath(), String.Format("Temp_{0}.dll", Guid.NewGuid().ToString("N"))); var modelType = FindModelType(razorResult.Document, passedModelType, viewRenderer.ModelCodeGenerator); var assemblies = new List<string> { GetAssemblyPath(typeof(System.Runtime.CompilerServices.CallSite)), GetAssemblyPath(typeof(IHtmlString)), GetAssemblyPath(Assembly.GetExecutingAssembly()), GetAssemblyPath(modelType) }; assemblies.AddRange(AppDomainAssemblyTypeScanner.Assemblies.Select(GetAssemblyPath)); if (referencingAssembly != null) { assemblies.Add(GetAssemblyPath(referencingAssembly)); } if (this.razorConfiguration != null) { var assemblyNames = this.razorConfiguration.GetAssemblyNames(); if (assemblyNames != null) { assemblies.AddRange(assemblyNames.Select(Assembly.Load).Select(GetAssemblyPath)); } if (this.razorConfiguration.AutoIncludeModelNamespace) { AddModelNamespace(razorResult, modelType); } } assemblies = assemblies .Union(viewRenderer.Assemblies) .ToList(); var compilerParameters = new CompilerParameters(assemblies.ToArray(), outputAssemblyName); CompilerResults results; lock (this.compileLock) { results = viewRenderer.Provider.CompileAssemblyFromDom(compilerParameters, razorResult.GeneratedCode); } if (results.Errors.HasErrors) { var output = new string[results.Output.Count]; results.Output.CopyTo(output, 0); var fullTemplateName = viewLocationResult.Location + "/" + viewLocationResult.Name + "." + viewLocationResult.Extension; var templateLines = GetViewBodyLines(viewLocationResult); var errors = results.Errors.OfType<CompilerError>().Where(ce => !ce.IsWarning).ToArray(); var errorMessages = BuildErrorMessages(errors); var compilationSource = this.GetCompilationSource(viewRenderer.Provider, razorResult.GeneratedCode); MarkErrorLines(errors, templateLines); var lineNumber = 1; var errorDetails = string.Format( "Error compiling template: <strong>{0}</strong><br/><br/>Errors:<br/>{1}<br/><br/>Details:<br/>{2}<br/><br/>Compilation Source:<br/><pre><code>{3}</code></pre>", fullTemplateName, errorMessages, templateLines.Aggregate((s1, s2) => s1 + "<br/>" + s2), compilationSource.Aggregate((s1, s2) => s1 + "<br/>Line " + lineNumber++ + ":\t" + s2)); return () => new NancyRazorErrorView(errorDetails); } var assembly = Assembly.LoadFrom(outputAssemblyName); if (assembly == null) { const string error = "Error loading template assembly"; return () => new NancyRazorErrorView(error); } var type = assembly.GetType("RazorOutput.RazorView"); if (type == null) { var error = String.Format("Could not find type RazorOutput.Template in assembly {0}", assembly.FullName); return () => new NancyRazorErrorView(error); } if (Activator.CreateInstance(type) as INancyRazorView == null) { const string error = "Could not construct RazorOutput.Template or it does not inherit from INancyRazorView"; return () => new NancyRazorErrorView(error); } return () => (INancyRazorView)Activator.CreateInstance(type); }
public OrderEmailService(IEmailSender emailSender, IRazorViewRenderer viewRender) { _emailSender = emailSender; _viewRender = viewRender; }
private Func<INancyRazorView> GenerateRazorViewFactory(IRazorViewRenderer renderer, GeneratorResults generatorResults, Type passedModelType, ViewLocationResult viewLocationResult) { var modelType = GetModelTypeFromGeneratedCode(generatorResults, passedModelType); var sourceCode = string.Empty; if (this.razorConfiguration != null) { if (this.razorConfiguration.AutoIncludeModelNamespace) { AddModelNamespace(generatorResults, modelType); } } using (var writer = new StringWriter()) { renderer.Provider.GenerateCodeFromCompileUnit(generatorResults.GeneratedCode, writer, new CodeGeneratorOptions()); sourceCode = writer.ToString(); } var compilation = CSharpCompilation.Create( assemblyName: string.Format("Temp_{0}.dll", Guid.NewGuid().ToString("N")), syntaxTrees: new[] { CSharpSyntaxTree.ParseText(sourceCode) }, references: this.GetMetadataReferences().Value, options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); using (var ms = new MemoryStream()) { var result = compilation.Emit(ms); if (!result.Success) { return () => new NancyRazorErrorView(BuildErrorMessage(result, viewLocationResult, sourceCode), this.traceConfiguration); } ms.Seek(0, SeekOrigin.Begin); var viewAssembly = Assembly.Load(ms.ToArray()); return () => (INancyRazorView) Activator.CreateInstance(viewAssembly.GetType("RazorOutput.RazorView")); } }
private Func <INancyRazorView> GenerateRazorViewFactory(IRazorViewRenderer viewRenderer, GeneratorResults razorResult, Assembly referencingAssembly, Type passedModelType, ViewLocationResult viewLocationResult) { var outputAssemblyName = Path.Combine(Path.GetTempPath(), String.Format("Temp_{0}.dll", Guid.NewGuid().ToString("N"))); var modelType = FindModelType(razorResult.Document, passedModelType, viewRenderer.ModelCodeGenerator); var assemblies = new List <string> { GetAssemblyPath(typeof(System.Runtime.CompilerServices.CallSite)), GetAssemblyPath(typeof(IHtmlString)), GetAssemblyPath(Assembly.GetExecutingAssembly()), GetAssemblyPath(modelType) }; assemblies.AddRange(AppDomainAssemblyTypeScanner.Assemblies.Select(GetAssemblyPath)); if (referencingAssembly != null) { assemblies.Add(GetAssemblyPath(referencingAssembly)); } if (this.razorConfiguration != null) { var assemblyNames = this.razorConfiguration.GetAssemblyNames(); if (assemblyNames != null) { assemblies.AddRange(assemblyNames.Select(Assembly.Load).Select(GetAssemblyPath)); } if (this.razorConfiguration.AutoIncludeModelNamespace) { AddModelNamespace(razorResult, modelType); } } assemblies = assemblies .Union(viewRenderer.Assemblies) .ToList(); var compilerParameters = new CompilerParameters(assemblies.ToArray(), outputAssemblyName); CompilerResults results; lock (this.compileLock) { results = viewRenderer.Provider.CompileAssemblyFromDom(compilerParameters, razorResult.GeneratedCode); } if (results.Errors.HasErrors) { var output = new string[results.Output.Count]; results.Output.CopyTo(output, 0); var fullTemplateName = viewLocationResult.Location + "/" + viewLocationResult.Name + "." + viewLocationResult.Extension; var templateLines = GetViewBodyLines(viewLocationResult); var errors = results.Errors.OfType <CompilerError>().Where(ce => !ce.IsWarning).ToArray(); var errorMessages = BuildErrorMessages(errors); var compilationSource = this.GetCompilationSource(viewRenderer.Provider, razorResult.GeneratedCode); MarkErrorLines(errors, templateLines); var lineNumber = 1; var errorDetails = string.Format( "Error compiling template: <strong>{0}</strong><br/><br/>Errors:<br/>{1}<br/><br/>Details:<br/>{2}<br/><br/>Compilation Source:<br/><pre><code>{3}</code></pre>", fullTemplateName, errorMessages, templateLines.Aggregate((s1, s2) => s1 + "<br/>" + s2), compilationSource.Aggregate((s1, s2) => s1 + "<br/>Line " + lineNumber++ + ":\t" + s2)); return(() => new NancyRazorErrorView(errorDetails)); } var assembly = Assembly.LoadFrom(outputAssemblyName); if (assembly == null) { const string error = "Error loading template assembly"; return(() => new NancyRazorErrorView(error)); } var type = assembly.GetType("RazorOutput.RazorView"); if (type == null) { var error = String.Format("Could not find type RazorOutput.Template in assembly {0}", assembly.FullName); return(() => new NancyRazorErrorView(error)); } if (Activator.CreateInstance(type) as INancyRazorView == null) { const string error = "Could not construct RazorOutput.Template or it does not inherit from INancyRazorView"; return(() => new NancyRazorErrorView(error)); } return(() => (INancyRazorView)Activator.CreateInstance(type)); }
public EmailSender() { _contextAccessor = Engine.Services.Resolve <IHttpContextAccessor>(); _renderer = Engine.Services.Resolve <IRazorViewRenderer>(); }
public PdfRenderer(IRazorViewRenderer renderer, IHostingEnvironment environment) { _renderer = renderer; _environment = environment; }