protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); Log.Rename("2sApiC"); SxcContext = Helpers.GetSxcOfApiRequest(Request, true, Log); AppAndDataHelpers = new AppAndDataHelpers(SxcContext, SxcContext?.ModuleInfo, SxcContext?.Log ?? Log); controllerContext.Request.Properties.Add(Constants.DnnContextKey, Dnn); // must run after creating AppAndDataHelpers }
// </2sic> #endregion #region BaseClass Overrides protected override void ConfigurePage(WebPageBase parentPage) { base.ConfigurePage(parentPage); // Child pages need to get their context from the Parent Context = parentPage.Context; // Return if parent page is not a SexyContentWebPage if (parentPage.GetType().BaseType != typeof(SexyContentWebPage)) { return; } Html = ((SexyContentWebPage)parentPage).Html; Url = ((SexyContentWebPage)parentPage).Url; AppAndDataHelpers = ((SexyContentWebPage)parentPage).AppAndDataHelpers; }
// </2sic> #endregion #region BaseClass Overrides protected override void ConfigurePage(WebPageBase parentPage) { base.ConfigurePage(parentPage); // Child pages need to get their context from the Parent Context = parentPage.Context; // Return if parent page is not a SexyContentWebPage if (!(parentPage is SexyContentWebPage)) { return; // 2016-02-22 believe this is necessary with dnn 8 because this razor uses a more complex inheritance with Type<T> } //if (parentPage.GetType().BaseType != typeof(SexyContentWebPage)) return; Html = ((SexyContentWebPage)parentPage).Html; Url = ((SexyContentWebPage)parentPage).Url; Sexy = ((SexyContentWebPage)parentPage).Sexy; AppAndDataHelpers = ((SexyContentWebPage)parentPage).AppAndDataHelpers; }
public T CreateSource <T>(IDataSource inSource = null, IValueCollectionProvider configurationProvider = null) => AppAndDataHelpers.CreateSource <T>(inSource, configurationProvider);
/// <inheritdoc /> public IEnumerable <dynamic> AsDynamic(IEnumerable <IEntity> entities) => AppAndDataHelpers.AsDynamic(entities);
public IDataSource CreateSource(string typeName = "", IDataSource inSource = null, IValueCollectionProvider configurationProvider = null) => AppAndDataHelpers.CreateSource(typeName, inSource, configurationProvider);
/// <summary> /// In case AsDynamic is used with Data["name"] /// </summary> /// <param name="list"></param> /// <returns></returns> public IEnumerable <dynamic> AsDynamic(IDataStream stream) { return(AppAndDataHelpers.AsDynamic(stream.List)); }
private void InitDataHelper() { _dataHelper = new AppAndDataHelpers(Sexy); }
public IDataSource CreateSource(string typeName = "", IDataSource inSource = null, IConfigurationProvider configurationProvider = null) { return(AppAndDataHelpers.CreateSource(typeName, inSource, configurationProvider)); }
/// <inheritdoc /> public IEntity AsEntity(dynamic dynamicEntity) => AppAndDataHelpers.AsEntity(dynamicEntity);
/// <summary> /// Provides an Adam instance for this item and field /// </summary> /// <param name="entity">The entity, often Content or similar</param> /// <param name="fieldName">The field name, like "Gallery" or "Pics"</param> /// <returns>An Adam object for navigating the assets</returns> public AdamNavigator AsAdam(IEntity entity, string fieldName) => AppAndDataHelpers.AsAdam(entity, fieldName);
/// <inheritdoc /> public dynamic AsDynamic(IEntity entity) => AppAndDataHelpers.AsDynamic(entity);
/// <summary> /// Makes sure a dynamicEntity could be wrapped in AsDynamic() /// </summary> /// <param name="dynamicEntity"></param> /// <returns></returns> public dynamic AsDynamic(dynamic dynamicEntity) { return(AppAndDataHelpers.AsDynamic(dynamicEntity)); }
/// <summary> /// Renders a Token Template /// </summary> /// <returns>Rendered template as string</returns> protected override string RenderTemplate() { var h = new AppAndDataHelpers(Sexy, ModuleInfo, (ViewDataSource)DataSource, App); var listContent = h.ListContent; var listPresentation = h.ListPresentation; var elements = h.List; // Prepare Source Text string sourceText = System.IO.File.ReadAllText(HostingEnvironment.MapPath(TemplatePath)); string repeatingPart; // Prepare List Object var list = new Dictionary <string, string> { { "Index", "0" }, { "Index1", "1" }, { "Count", "1" }, { "IsFirst", "First" }, { "IsLast", "Last" }, { "Alternator2", "0" }, { "Alternator3", "0" }, { "Alternator4", "0" }, { "Alternator5", "0" } }; list["Count"] = elements.Count.ToString(); // If the SourceText contains a <repeat>, define Repeating Part. Else take SourceText as repeating part. bool containsRepeat = sourceText.Contains("<repeat>") && sourceText.Contains("</repeat>"); if (containsRepeat) { repeatingPart = Regex.Match(sourceText, @"<repeat>(.*?)</repeat>", RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.Singleline).Groups[1].Captures[0].Value; } else { repeatingPart = ""; } string renderedTemplate = ""; foreach (var element in elements) { // Modify List Object list["Index"] = elements.IndexOf(element).ToString(); list["Index1"] = (elements.IndexOf(element) + 1).ToString(); list["IsFirst"] = elements.First() == element ? "First" : ""; list["IsLast"] = elements.Last() == element ? "Last" : ""; list["Alternator2"] = (elements.IndexOf(element) % 2).ToString(); list["Alternator3"] = (elements.IndexOf(element) % 3).ToString(); list["Alternator4"] = (elements.IndexOf(element) % 4).ToString(); list["Alternator5"] = (elements.IndexOf(element) % 5).ToString(); // Replace Tokens var tokenReplace = new TokenReplace((DynamicEntity)element.Content, (DynamicEntity)element.Presentation, (DynamicEntity)listContent, (DynamicEntity)listPresentation, list, App); tokenReplace.ModuleId = ModuleInfo.ModuleID; tokenReplace.PortalSettings = PortalSettings.Current; renderedTemplate += tokenReplace.ReplaceEnvironmentTokens(repeatingPart); } // Replace repeating part renderedTemplate = Regex.Replace(sourceText, "<repeat>.*?</repeat>", renderedTemplate, RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.Singleline); // Replace tokens outside the repeating part var tr2 = new TokenReplace(elements.Any() ? elements.First().Content : null, elements.Any() ? elements.First().Presentation : null, listContent, listPresentation, list, App); tr2.ModuleId = ModuleInfo.ModuleID; tr2.PortalSettings = PortalSettings.Current; renderedTemplate = tr2.ReplaceEnvironmentTokens(renderedTemplate); return(renderedTemplate); }
/// <summary> /// Transform a DynamicEntity dynamic object back to a IEntity instance /// </summary> /// <param name="dynamicEntity"></param> /// <returns></returns> public IEntity AsEntity(dynamic dynamicEntity) { return(AppAndDataHelpers.AsEntity(dynamicEntity)); }
/// <summary> /// Create a source with initial stream to attach... /// </summary> /// <typeparam name="T"></typeparam> /// <param name="inStream"></param> /// <returns></returns> public T CreateSource <T>(IDataStream inStream) { return(AppAndDataHelpers.CreateSource <T>(inStream)); }
public T CreateSource <T>(IDataSource inSource = null, IConfigurationProvider configurationProvider = null) { return(AppAndDataHelpers.CreateSource <T>(inSource, configurationProvider)); }
/// <inheritdoc /> public T CreateSource <T>(IDataStream inStream) => AppAndDataHelpers.CreateSource <T>(inStream);
/// <inheritdoc /> public dynamic AsDynamic(KeyValuePair <int, IEntity> entityKeyValuePair) => AppAndDataHelpers.AsDynamic(entityKeyValuePair.Value);
/// <summary> /// Provides an Adam instance for this item and field /// </summary> /// <param name="entity">The entity, often Content or similar</param> /// <param name="fieldName">The field name, like "Gallery" or "Pics"</param> /// <returns>An Adam object for navigating the assets</returns> public AdamNavigator AsAdam(DynamicEntity entity, string fieldName) => AppAndDataHelpers.AsAdam(AsEntity(entity), fieldName);
/// <summary> /// Returns a list of DynamicEntities /// </summary> /// <param name="entities">List of entities</param> /// <returns></returns> public IEnumerable <dynamic> AsDynamic(IEnumerable <IEntity> entities) { return(AppAndDataHelpers.AsDynamic(entities)); }
/// <inheritdoc /> public IEnumerable <dynamic> AsDynamic(IDictionary <int, IEntity> list) => AppAndDataHelpers.AsDynamic(list);
private void InitDataHelper() { dataHelper = new AppAndDataHelpers(Sexy);//, ModuleInfo, (ViewDataSource)DataSource);//, App); }
/// <inheritdoc /> public dynamic AsDynamic(dynamic dynamicEntity) => AppAndDataHelpers.AsDynamic(dynamicEntity);
public static IAppAndDataHelpers CodingHelpers(ISxcInstance sxc) { var appAndDataHelpers = new AppAndDataHelpers(sxc as SxcInstance); return(appAndDataHelpers); }
/// <inheritdoc /> public IEnumerable <dynamic> AsDynamic(IDataStream stream) => AppAndDataHelpers.AsDynamic(stream.List);
public static IAppAndDataHelpers CodingHelpers(ISxcInstance sxc) { var appAndDataHelpers = new AppAndDataHelpers(sxc as SxcInstance); return appAndDataHelpers; }
private void InitDataHelper() { dataHelper = new AppAndDataHelpers(Sexy, ModuleInfo, (ViewDataSource)DataSource, App); }