/// <summary> /// Registers resolvers to be used when generating compilers /// </summary> /// <param name="resolvers">The resolvers to register</param> public static void RegisterResolvers ( params INettleResolver[] resolvers ) { Validate.IsNotNull(resolvers); lock (_engineLock) { foreach (var resolver in resolvers) { var registered = _resolvers.Any ( r => r.GetType() == resolver.GetType() ); if (false == registered) { _resolvers.Add(resolver); } } _compiler = null; } }
/// <summary> /// Renders a template with a given model /// </summary> /// <param name="templateContent">The template content</param> /// <param name="model">The model</param> /// <returns>The rendered content</returns> public string Render ( string templateContent, object model ) { if (_nettleCompiler == null) { var generator = new NettleCompilerGenerator ( new ConcatenateQueryCellsFunction(), new GetQueryCellValueFunction(), new GcdFunction(), new AsRatioFunction() ); _nettleCompiler = generator.Generate(); } var template = _nettleCompiler.Compile ( templateContent ); return(template ( model )); }
/// <summary> /// Gets a Nettle compiler instance /// </summary> /// <returns>The compiler</returns> public static INettleCompiler GetCompiler() { if (_compiler == null) { lock (_engineLock) { _compiler = GenerateCompiler(); } } return(_compiler); }
public DemoForm() { InitializeComponent(); var dataResolver = new NettleDataResolver(); var connectionString = ConfigurationManager.AppSettings [ "DatabaseConnectionString" ]; if (false == String.IsNullOrEmpty(connectionString)) { dataResolver.ConnectionRepository.AddConnection ( new SqlClientConnection ( "Demo", connectionString ) ); } NettleEngine.RegisterResolvers ( new DefaultNettleResolver(), new NettleWebResolver(), new NettleNCalcResolver(), dataResolver ); _compiler = NettleEngine.GetCompiler(); _compiler.AutoRegisterViews ( "../../Templates" ); }