public string Execute(Page page, TemplateFiles files, string templateVirtualFolder, object model) { var sourceFileUri = new FileUri(templateVirtualFolder + "/" + files.Template); try { string source = File.ReadAllText(sourceFileUri.PhysicalFilePath); string sourceFolder = sourceFileUri.UrlFolder; var hbs = HandlebarsDotNet.Handlebars.Create(); RegisterHelpers(hbs); RegisterScriptHelper(hbs); RegisterHandlebarsHelper(hbs); RegisterRegisterStylesheetHelper(hbs, page, sourceFolder); RegisterRegisterScriptHelper(hbs, page, sourceFolder); if (files.PartialTemplates != null) { foreach (var part in files.PartialTemplates.Where(t => t.Value.ClientSide == false)) { RegisterTemplate(hbs, part.Key, templateVirtualFolder + "/" + part.Value.Template); } } return(CompileTemplate(hbs, source, model)); } catch (Exception ex) { Log.Logger.Error(string.Format("Failed to render Handlebar template source:[{0}], model:[{1}]", sourceFileUri.PhysicalFilePath, model), ex); throw new TemplateException("Failed to render Handlebar template " + sourceFileUri.PhysicalFilePath, ex, model, sourceFileUri.PhysicalFilePath); } }
private string ExecuteTemplate(Page page, TemplateManifest templateManifest, TemplateFiles files, FileUri templateUri, object model) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; string output; Stopwatch stopwatch = null; if (LogContext.IsLogActive) { var logKey = "Render template"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "template", templateUri.FilePath); LogContext.Log(_module.ViewModule.ModuleID, logKey, "model", model); stopwatch = new Stopwatch(); stopwatch.Start(); } if (templateUri.Extension != ".hbs") { output = ExecuteRazor(templateUri, model); } else { HandlebarsEngine hbEngine = new HandlebarsEngine(); output = hbEngine.Execute(page, files, templateVirtualFolder, model); } if (stopwatch != null) { stopwatch.Stop(); var logKey = "Render template"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "render time (ms)", stopwatch.ElapsedMilliseconds); stopwatch.Stop(); } return(output); }
private FileUri CheckFiles(TemplateManifest templateManifest, TemplateFiles files) { if (files == null) { throw new Exception("Manifest.json missing or incomplete"); } var templateUri = new FileUri(templateManifest.ManifestFolderUri, files.Template); if (!templateUri.FileExists) { throw new Exception("Template " + templateUri.UrlFilePath + " don't exist"); } if (files.PartialTemplates != null) { foreach (var partial in files.PartialTemplates) { var partialTemplateUri = new FileUri(templateManifest.ManifestFolderUri, partial.Value.Template); if (!partialTemplateUri.FileExists) { throw new Exception("PartialTemplate " + partialTemplateUri.UrlFilePath + " don't exist"); } } } return(templateUri); }
public override bool Execute() { TaskLogger logger = new TaskLogger(this); List <string> compileGeneratedFiles; List <string> embeddedResourceGeneratedFiles; List <string> filesToDelete; bool debugMode = (ConditionalCompilationSymbols.Contains("PRESHARP_DEBUG") || Environment.GetEnvironmentVariable("PRESHARP_DEBUG") != null) && !(ConditionalCompilationSymbols.Contains("DISABLE_PRESHARP_DEBUG") || Environment.GetEnvironmentVariable("DISABLE_PRESHARP_DEBUG") != null); PreSharpEntryPoint.Process( logger, InPlaceFiles.Select(taskItem => taskItem.ItemSpec), TemplateFiles.Select(taskItem => taskItem.ItemSpec), TemplateIncludeFiles.Select(taskItem => taskItem.ItemSpec), TemplateLibraryFiles.Select(taskItem => taskItem.ItemSpec), DependencyPaths.Select(taskItem => taskItem.ItemSpec), Path.GetFullPath(Path.Combine(Path.GetDirectoryName(ProjectPath), OutputDirectory)), out compileGeneratedFiles, out embeddedResourceGeneratedFiles, out filesToDelete, /*createNewAppDomain*/ false, /*debugMode*/ debugMode, ConditionalCompilationSymbols); CompileGeneratedFiles = compileGeneratedFiles.Select(file => new TaskItem(file)).ToArray(); EmbeddedResourceGeneratedFiles = embeddedResourceGeneratedFiles.Select(file => new TaskItem(file)).ToArray(); FilesToDelete = filesToDelete.Select(file => new TaskItem(file)).ToArray(); return(logger.Success); }
protected ModelFactoryBase(string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module, int portalId, string cultureCode) { this._settingsJson = settingsJson; this._manifest = manifest; this._templateFiles = templateFiles; this._module = module; this._cultureCode = cultureCode; this._portalId = portalId; this._templateManifest = templateManifest; this._collection = templateManifest.Collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
protected ModelFactoryBase(OpenContentModuleConfig module, string collection) { OpenContentSettings settings = module.Settings; this._settingsJson = settings.Data; this._manifest = settings.Template.Manifest; this._templateFiles = settings.Template?.Main; this._module = module; this._portalId = module.PortalId; this._templateManifest = settings.Template; this._collection = collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
public ModelFactory(IEnumerable <IDataItem> dataList, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, ModuleInfo module, int portalId, string cultureCode, int mainTabId, int mainModuleId) { this.DataList = dataList; this.settingsJson = settingsJson; this.PhysicalTemplateFolder = physicalTemplateFolder; this.Manifest = manifest; this.TemplateFiles = templateFiles; this.Module = module; this.PortalId = portalId; this.CultureCode = cultureCode; this.TemplateManifest = templateManifest; this.MainTabId = mainTabId > 0 ? mainTabId : module.TabID; this.MainTabId = DnnUtils.GetTabByCurrentCulture(this.PortalId, this.MainTabId, GetCurrentCultureCode()); this.MainModuleId = mainModuleId > 0 ? mainModuleId : module.ModuleID; }
} // alpaca options.json format public ModelFactory(JToken dataJson, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, ModuleInfo module, PortalSettings portalSettings, int mainTabId, int mainModuleId) { this.dataJson = dataJson; this.settingsJson = settingsJson; this.PhysicalTemplateFolder = physicalTemplateFolder; this.Manifest = manifest; this.TemplateFiles = templateFiles; this.Module = module; this.PortalSettings = portalSettings; this.PortalId = portalSettings.PortalId; this.TemplateManifest = templateManifest; this.MainTabId = mainTabId > 0 ? mainTabId : module.TabID; this.MainTabId = DnnUtils.GetTabByCurrentCulture(this.PortalId, this.MainTabId, GetCurrentCultureCode()); this.MainModuleId = mainModuleId > 0 ? mainModuleId : module.ModuleID; }
public ModelFactoryBase(OpenContentModuleInfo module, PortalSettings portalSettings, string collection) { OpenContentSettings settings = module.Settings; this._settingsJson = settings.Data; this._physicalTemplateFolder = settings.Template.ManifestFolderUri.PhysicalFullDirectory + "\\"; this._manifest = settings.Template.Manifest; this._templateFiles = settings.Template?.Main; this._module = module; this._portalSettings = portalSettings; this._portalId = portalSettings.PortalId; this._templateManifest = settings.Template; this._collection = collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
public ModelFactoryBase(string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, PortalSettings portalSettings) { this._settingsJson = settingsJson; this._physicalTemplateFolder = physicalTemplateFolder; this._manifest = manifest; this._templateFiles = templateFiles; this._module = module; this._portalSettings = portalSettings; this._portalId = portalSettings.PortalId; this._templateManifest = templateManifest; this._collection = templateManifest == null ? AppConfig.DEFAULT_COLLECTION : templateManifest.Collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
public ModelFactory(IEnumerable <IDataItem> dataList, ModuleInfo module, PortalSettings portalSettings, int mainTabId) { OpenContentSettings settings = module.OpenContentSettings(); this.DataList = dataList; this.settingsJson = settings.Data; this.PhysicalTemplateFolder = settings.Template.ManifestFolderUri.PhysicalFullDirectory + "\\"; this.Manifest = settings.Template.Manifest; this.TemplateFiles = settings.Template != null ? settings.Template.Main : null; this.Module = module; this.PortalSettings = portalSettings; this.PortalId = portalSettings.PortalId; this.TemplateManifest = settings.Template; this.MainTabId = mainTabId > 0 ? mainTabId : module.TabID; this.MainTabId = DnnUtils.GetTabByCurrentCulture(this.PortalId, this.MainTabId, GetCurrentCultureCode()); this.MainModuleId = settings.ModuleId > 0 ? settings.ModuleId : module.ModuleID; }
private string GenerateOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, JToken dataJson, string settingsJson) { // detail template if (dataJson != null) { //todo check view permissions } var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataJson != null) { int mainTabId = _settings.DetailTabId > 0 ? _settings.DetailTabId : _settings.TabId; ModelFactory mf = new ModelFactory(_renderinfo.Data, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current, mainTabId, _settings.ModuleId); dynamic model = mf.GetModelAsDynamic(); if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaTitle)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); page.Title = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaTitle, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaDescription)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); PageUtils.SetPageDescription(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model)); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMeta)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); PageUtils.SetPageMeta(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model)); } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } else { return(""); } } else { return(""); } }
private string ExecuteTemplate(Page page, TemplateManifest templateManifest, TemplateFiles files, FileUri templateUri, dynamic model) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (LogContext.IsLogActive) { var logKey = "Render template"; LogContext.Log(_module.ModuleID, logKey, "template", templateUri.FilePath); LogContext.Log(_module.ModuleID, logKey, "model", model); } if (templateUri.Extension != ".hbs") { return(ExecuteRazor(templateUri, model)); } else { HandlebarsEngine hbEngine = new HandlebarsEngine(); return(hbEngine.Execute(page, files, templateVirtualFolder, model)); } }
private string GenerateListOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, IEnumerable <IDataItem> dataList, string settingsJson) { if (!string.IsNullOrEmpty(files.Template)) { FileUri templateUri = CheckFiles(templateManifest, files); if (dataList != null) { ModelFactoryMultiple mf = new ModelFactoryMultiple(dataList, settingsJson, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module); object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (!App.Services.CreateGlobalSettingsRepository(_module.PortalId).GetLegacyHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } } return(""); }
private string GenerateListOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, IEnumerable <IDataItem> dataList, string settingsJson) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataList != null) { ModelFactoryMultiple mf = new ModelFactoryMultiple(dataList, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current); object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController.GetFastHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } } return(""); }
private string GenerateOutputSingle(Page page, FileUri template, JToken dataJson, string settingsJson, TemplateFiles files) { if (template != null) { string templateVirtualFolder = template.UrlFolder; string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); if (dataJson != null) { ModelFactorySingle mf; if (_renderinfo.Data == null) { // demo data mf = new ModelFactorySingle(_renderinfo.DataJson, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current); } else { mf = new ModelFactorySingle(_renderinfo.Data, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current); } if (template.Extension != ".hbs") // razor { dynamic model = mf.GetModelAsDynamic(); if (LogContext.IsLogActive) { var logKey = "Render single item template"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "template", template.FilePath); LogContext.Log(_module.ViewModule.ModuleID, logKey, "model", model); } return(ExecuteRazor(template, model)); } else // handlebars { object model; if (OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController.GetFastHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } if (LogContext.IsLogActive) { var logKey = "Render single item template"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "template", template.FilePath); LogContext.Log(_module.ViewModule.ModuleID, logKey, "model", model); } HandlebarsEngine hbEngine = new HandlebarsEngine(); return(hbEngine.Execute(page, template, model)); } } else { return(""); } } else { return(""); } }
private string GenerateOutputDetail(Page page, TemplateManifest templateManifest, TemplateFiles files, JToken dataJson, string settingsJson) { // detail template var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataJson != null) { var mf = new ModelFactorySingle(_renderinfo.Data, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current); mf.Detail = true; object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController.GetFastHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaTitle)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //page.Title MetaTitle = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaTitle, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaDescription)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageDescription(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model)); MetaDescription = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMeta)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageMeta(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model)); MetaOther = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model); } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } else { return(""); } } else { return(""); } }
public ModelFactorySingle(IDataItem data, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, PortalSettings portalSettings) : base(settingsJson, physicalTemplateFolder, manifest, templateManifest, templateFiles, module, portalSettings) { this._dataJson = data.Data; this._data = data; }
private string GenerateOutputSingle(Page page, FileUri template, JToken dataJson, string settingsJson, TemplateFiles files) { if (template != null) { if (dataJson != null) { ModelFactorySingle mf; if (_renderinfo.Data == null) { // demo data mf = new ModelFactorySingle(_renderinfo.DataJson, settingsJson, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module); } else { mf = new ModelFactorySingle(_renderinfo.Data, settingsJson, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module); } if (template.Extension != ".hbs") // razor { dynamic model = mf.GetModelAsDynamic(); if (LogContext.IsLogActive) { var logKey = "Render single item template"; LogContext.Log(_module.ViewModule.ModuleId, logKey, "template", template.FilePath); LogContext.Log(_module.ViewModule.ModuleId, logKey, "model", model); } return(ExecuteRazor(template, model)); } else // handlebars { object model; if (!App.Services.CreateGlobalSettingsRepository(PortalSettings.Current.PortalId).GetLegacyHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } if (LogContext.IsLogActive) { var logKey = "Render single item template"; LogContext.Log(_module.ViewModule.ModuleId, logKey, "template", template.FilePath); LogContext.Log(_module.ViewModule.ModuleId, logKey, "model", model); } HandlebarsEngine hbEngine = new HandlebarsEngine(); return(hbEngine.Execute(page, template, model)); } } else { return(""); } } else { return(""); } }
private string GenerateOutput(Page page, FileUri template, JToken dataJson, string settingsJson, TemplateFiles files) { var ps = PortalSettings.Current; if (template != null) { string templateVirtualFolder = template.UrlFolder; string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); if (dataJson != null) { ModelFactory mf; int mainTabId = _settings.DetailTabId > 0 ? _settings.DetailTabId : _settings.TabId; if (_renderinfo.Data == null) { // demo data mf = new ModelFactory(_renderinfo.DataJson, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, ps, mainTabId, _settings.ModuleId); } else { mf = new ModelFactory(_renderinfo.Data, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, ps, mainTabId, _settings.ModuleId); } dynamic model = mf.GetModelAsDynamic(); if (LogContext.IsLogActive) { var logKey = "Render single item template"; LogContext.Log(_module.ModuleID, logKey, "template", template.FilePath); LogContext.Log(_module.ModuleID, logKey, "model", model); } if (template.Extension != ".hbs") { return(ExecuteRazor(template, model)); } else { HandlebarsEngine hbEngine = new HandlebarsEngine(); return(hbEngine.Execute(page, template, model)); } } else { return(""); } } else { return(""); } }
private bool BuildPackage(ITaskItem item) { var res = true; try { var idenity = item.GetMetadata("Identity"); var filename = Path.GetFileName(idenity); var packageName = ProjectName + ".pnp"; var packedTemplateName = Path.GetFileNameWithoutExtension(filename) + ".xml"; LogMessage($"Packing template={filename}, package={packageName}"); XMLFileSystemTemplateProvider provider = new XMLFileSystemTemplateProvider(ProjectDir, ""); var fsConnector = provider.Connector; var template = provider.GetTemplate(idenity); var configManager = new ConfigurationManager(); var config = configManager.GetProjectConfiguration(ProjectDir); var outFile = Path.Combine(ProjectDir, OutDir, packageName); OpenXMLConnector openXml = new OpenXMLConnector(outFile, fsConnector, config.Author); //write files var files = template.Files != null?template.Files.Select(f => f.Src.ToLower()).ToList() : new List <string>(); if (TemplateFiles?.Length > 0) { files = files.Union(TemplateFiles.Select(t => t.GetMetadata("Identity")?.ToLower())).ToList(); } foreach (var file in files) { LogMessage($"Packing file={file}, package={packageName}"); var fileName = Path.GetFileName(file); var container = Path.GetDirectoryName(file); using (var stream = fsConnector.GetFileStream(fileName, container)) { if (stream != null) { openXml.SaveFileStream(fileName, container, stream); } else { throw new FileNotFoundException($"Not found: {Path.Combine(ProjectDir, file)}"); } } } var xml = template.ToXML(); using (var stream = GetStream(xml)) { openXml.SaveFileStream(packedTemplateName, stream); } openXml.Commit(); LogMessage($"Packed successfully."); } catch (Exception e) { LogError(e); res = false; } return(res); }
private string GenerateListOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, IEnumerable <IDataItem> dataList, string settingsJson) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataList != null) { int mainTabId = _settings.DetailTabId > 0 ? _settings.DetailTabId : _settings.TabId; ModelFactory mf = new ModelFactory(dataList, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current, mainTabId, _settings.ModuleId); dynamic model = mf.GetModelAsDynamic(); return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } } return(""); }
public ModelFactoryMultiple(IEnumerable <IDataItem> dataList, string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module) : base(settingsJson, manifest, templateManifest, templateFiles, module) { this._dataList = dataList; }
public ModelFactoryMultiple(IEnumerable <IDataItem> dataList, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo moduleinfo, PortalSettings portalSettings) : base(settingsJson, manifest, templateManifest, templateFiles, OpenContentModuleConfig.Create(moduleinfo.ModuleId, moduleinfo.TabId, portalSettings)) { this._dataList = dataList; }
public ModelFactorySingle(IDataItem data, string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module) : base(settingsJson, manifest, templateManifest, templateFiles, module) { this._dataJson = data.Data; this._data = data; }
public ModelFactoryMultiple(IEnumerable <IDataItem> dataList, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, int portalId, string cultureCode) : base(settingsJson, physicalTemplateFolder, manifest, templateManifest, templateFiles, module, portalId, cultureCode) { this._dataList = dataList; }
private string GenerateOutputDetail(Page page, TemplateManifest templateManifest, TemplateFiles files, JToken dataJson, string settingsJson) { // detail template if (!string.IsNullOrEmpty(files.Template)) { FileUri templateUri = CheckFiles(templateManifest, files); if (dataJson != null) { var mf = new ModelFactorySingle(_renderinfo.Data, settingsJson, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module); mf.Detail = true; object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (!App.Services.CreateGlobalSettingsRepository(PortalSettings.Current.PortalId).GetLegacyHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaTitle)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //page.Title MetaTitle = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaTitle, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaDescription)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageDescription(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model)); MetaDescription = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMeta)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageMeta(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model)); MetaOther = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model); } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } else { return(""); } } else { return(""); } }