Beispiel #1
0
        /// <summary>
        /// Get table content from table settings.
        /// </summary>
        /// <param name="settings">Table settings.</param>
        /// <param name="pageContext">Page context.</param>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <returns>Element content.</returns>
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            TableSettings tableSettings = (TableSettings)settings;
            TableContent  content       = new TableContent {
                PartialViewName = "Table", Rows = new List <List <string> >()
            };

            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(tableSettings.Rows)))
            {
                using (StreamReader sr = new StreamReader(ms))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        List <string> values = _stringService.GetCsvValues(line);
                        if (tableSettings.ShowHeaders && content.Headers == null)
                        {
                            content.Headers = values;
                        }
                        else
                        {
                            content.Rows.Add(values);
                        }
                    }
                }
            }
            return(content);
        }
Beispiel #2
0
        private async Task <IActionResult> ReadPageTaggedAsync(long tenantId, long pageId, string tags)
        {
            IPageContext context = await GetPageContextAsync(tenantId, pageId, tags);

            PageView pageView = await _pageViewService.ReadPageViewAsync(tenantId, pageId);

            Dictionary <long, ElementPartialView> elements = new Dictionary <long, ElementPartialView>();

            foreach (PageViewZone pageViewZone in pageView.PageViewZones)
            {
                foreach (PageViewZoneElement pageViewZoneElement in pageViewZone.PageViewZoneElements)
                {
                    if (!elements.ContainsKey(pageViewZoneElement.ElementId))
                    {
                        elements.Add(pageViewZoneElement.ElementId, await GetElementPartialViewAsync(tenantId, pageViewZoneElement.ElementTypeId, pageViewZoneElement.ElementId, context));
                    }
                }
            }

            PageViewModel viewModel = new PageViewModel
            {
                View     = pageView,
                Elements = elements
            };

            return(View("Read", viewModel));
        }
Beispiel #3
0
        /// <summary>
        /// Returns page whose pages are enumerated. Page returned determined by rules executed in the following order:
        ///  1. If page specified in page list settings, then use this page
        ///  2. If page not specified in page list settings and current page a folder, then use current page
        ///  3. If page not specified in page list settings and current page a document, then use current page parent
        /// Case 3 ensures that we list documents even at the leaves of the page hierarchy.
        /// </summary>
        /// <param name="pageListSettings">Page list settings.</param>
        /// <param name="pageContext">Page context.</param>
        /// <returns>The page whose child pages are enumerated.</returns>
        private long GetPageWhosePagesAreListed(PageListSettings pageListSettings, IPageContext pageContext)
        {
            // If page is specified in page list settings, then always use that page
            if (pageListSettings.PageId != null)
            {
                return(pageListSettings.PageId.Value);
            }

            // If page not specified, then use current page if the current page is a folder
            if (pageContext.MasterPage.PageType == PageType.Folder)
            {
                return(pageContext.Page.PageId);
            }

            // If page not specified and current page is document, then return document's parent folder
            Page page           = pageContext.Hierarchy;
            Page documentParent = page;

            if (page.ChildPages.Count > 0)
            {
                while (page.ChildPages[0].ChildPages.Count > 0)
                {
                    page           = page.ChildPages[0];
                    documentParent = page;
                }
            }
            return(documentParent.PageId);
        }
Beispiel #4
0
        /// <summary>
        /// Registers the goal.
        /// </summary>
        /// <param name="goal">The goal.</param>
        public void RegisterGoal(Item goal)
        {
            var goalDefinition = Tracker.MarketingDefinitions.Goals.FirstOrDefault(g => g.Id == goal.ID.Guid);

            if (goalDefinition == null)
            {
                return;
            }

            IPageContext pageContext = Tracker.Current.CurrentPage;

            if (pageContext.Url.Path.StartsWith(($"/{Events.Constants.API_BASEPATH}/")))
            {
                pageContext = this.GetApiPageContext();
            }

            if (pageContext == null)
            {
                this.logging.Warning(this.GetType(), $"Register goal - Cannot resolve page context for goal {goal.ID.ToString()}'");
                return;
            }

            pageContext.RegisterGoal(goalDefinition);

            this.logging.Debug(this.GetType(), $"Goal '{goalDefinition.Name} triggered with {goalDefinition.EngagementValuePoints} points'");
        }
Beispiel #5
0
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            IElementContent elementContent = _testimonialService.GetContent(settings, pageContext, unitOfWork);

            elementContent.PartialViewName = "TestimonialCarousel"; // Display testimonial carousel front end, rather that the standard testimonial UI
            return(elementContent);
        }
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            ContactContent content = new ContactContent {
                PartialViewName = "Contact"
            };
            ContactSettings contactSettings = (ContactSettings)settings;

            if (contactSettings.FacebookUsername != null)
            {
                content.FacebookUrl = string.Format("https://www.facebook.com/{0}", contactSettings.FacebookUsername);
            }
            if (contactSettings.InstagramUsername != null)
            {
                content.InstagramUrl = string.Format("https://www.instagram.com/{0}", contactSettings.InstagramUsername);
            }
            if (contactSettings.LinkedInCompanyUsername != null)
            {
                content.LinkedInCompanyUrl = string.Format("https://www.linkedin.com/company/{0}", contactSettings.LinkedInCompanyUsername);
            }
            if (contactSettings.LinkedInPersonalUsername != null)
            {
                content.LinkedInPersonalUrl = string.Format("https://www.linkedin.com/in/{0}", contactSettings.LinkedInPersonalUsername);
            }
            if (contactSettings.TwitterUsername != null)
            {
                content.TwitterUrl = string.Format("https://twitter.com/{0}", contactSettings.TwitterUsername);
            }
            if (contactSettings.YouTubeChannelId != null)
            {
                content.YouTubeChannelUrl = string.Format("https://www.youtube.com/channel/{0}", contactSettings.YouTubeChannelId);
            }
            return(content);
        }
Beispiel #7
0
        public void RegisterSearchTerm(string term)
        {
            if (this.IsActive)
            {
                var searchPageEventId = new Guid("0C179613-2073-41AB-992E-027D03D523BF");

                IPageContext page = Tracker.Current.CurrentPage;
                if (page.Url.Path.StartsWith($"/{Events.Constants.API_BASEPATH}/"))
                {
                    page = this.GetApiPageContext();
                }

                if (page == null)
                {
                    this.logging.Warning(this.GetType(), $"Register search term - Cannot resolve page context");
                    return;
                }

                var pageEvent     = Tracker.MarketingDefinitions.PageEvents.FirstOrDefault(p => p.Name == "Search"); //.Id == searchPageEventId);
                var pageEventData = new PageEventData(pageEvent.Name, pageEvent.Id);
                if (page != null)
                {
                    pageEventData.ItemId  = page.Item.Id;
                    pageEventData.Data    = term;
                    pageEventData.DataKey = term;
                    pageEventData.Text    = term;
                    page.Register(pageEventData);
                }
            }
        }
 private Task OnIncrease(IPageContext arg)
 {
     int.TryParse(_number.Value, NumberStyles.Any, CultureInfo.InvariantCulture, out var number);
     number++;
     _number.Value = number.ToString(CultureInfo.InvariantCulture);
     return(Task.CompletedTask);
 }
        private void TriggerEvent(string id, string data)
        {
            ID scId;

            if (!string.IsNullOrEmpty(id) && ID.TryParse(id, out scId))
            {
                if (Tracker.IsActive == false)
                {
                    Tracker.StartTracking();
                }

                if (Tracker.Current != null && Tracker.Current.Interaction != null && Tracker.Current.Interaction.PageCount > 0)
                {
                    Item defItem        = Context.Database.GetItem(scId);
                    var  eventToTrigger = new PageEventData(defItem.Name, scId.Guid)
                    {
                        Data = data
                    };
                    IPageContext desiredPage = null;

                    for (int i = Tracker.Current.Interaction.PageCount; i > 0 && desiredPage == null; i--)
                    {
                        var page = Tracker.Current.Interaction.GetPage(i);
                        if (page.Item != null && Guid.Empty.Equals(page.Item.Id) == false)
                        {
                            desiredPage = page;
                        }
                    }

                    desiredPage?.Register(eventToTrigger);

                    Tracker.Current.CurrentPage.Cancel();
                }
            }
        }
Beispiel #10
0
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            // Construct nav bar content
            NavBarContent navBarContent = new NavBarContent {
                PartialViewName = "NavBar", PageTabs = new List <NavBarPageTab>()
            };

            // Get full page information for pages identified in nav bar tabs
            NavBarSettings navBarSettings = (NavBarSettings)settings;

            foreach (NavBarTab tab in navBarSettings.Tabs)
            {
                Page page = _pageService.Read(tab.TenantId, tab.PageId, unitOfWork);
                if (page != null)
                {
                    Page pageHierarchy = pageContext.Hierarchy;
                    bool active        = false;
                    while (!active && pageHierarchy != null)
                    {
                        active        = pageHierarchy.PageId == page.PageId;
                        pageHierarchy = pageHierarchy.ChildPages.Count == 0 ? null : pageHierarchy.ChildPages[0];
                    }
                    navBarContent.PageTabs.Add(new NavBarPageTab {
                        Page = page, Name = tab.Name, Active = active
                    });
                }
            }

            // Return nav bar content
            return(navBarContent);
        }
        /// <summary>
        /// Gets page title from page context.
        /// </summary>
        /// <param name="pageContext">Page context.</param>
        /// <returns>Page title.</returns>
        private string GetPageTitle(IPageContext pageContext)
        {
            // When we are on the home page, return the website name as page title
            Page page = pageContext.Hierarchy;

            if (page == null || page.ChildPages == null || page.ChildPages.Count == 0)
            {
                return(pageContext.Web.Name);
            }

            // Otherwise construct page title from page hierarchy
            StringBuilder sb = new StringBuilder();

            while (page != null)
            {
                sb.Append(page.Name);
                if (page.ChildPages != null && page.ChildPages.Count > 0)
                {
                    sb.Append(" | ");
                    page = page.ChildPages[0];
                }
                else
                {
                    page = null;
                }
            }
            return(sb.ToString());
        }
        public Component(
            IJsEngineManager manager,
            IPageContext pageContext,
            string componentName,
            object model,
            Rendering rendering,
            JsonSerializerSettings serializerSetting = null,
            string site           = null,
            string containerId    = null,
            string containerTag   = null,
            string containerClass = null)
        {
            this.ComponentName = EnsureComponentNameValid(componentName);

            this._manager     = manager;
            this._pageContext = pageContext;
            this.Model        = model;
            this._rendering   = rendering;

            this.ContainerId    = string.IsNullOrEmpty(containerId) ? GenerateId() : containerId;
            this.ContainerTag   = string.IsNullOrEmpty(containerTag) ? "div" : containerTag;
            this.ContainerClass = containerClass;

            this._jsonSerializerSettings = serializerSetting ?? new JsonSerializerSettings();
        }
Beispiel #13
0
        /// <summary>
        /// Retrieves dynamic element content.
        /// </summary>
        /// <param name="settings">Contains element settings.</param>
        /// <param name="pageContext">Page context.</param>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <returns>Element content.</returns>
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            long masterPageId = Convert.ToInt64(pageContext.RouteValues["masterpageid"]);

            return(new MasterPageContent {
                PartialViewName = "UpdateMasterPageZonesAdmin", FormContext = masterPageId.ToString()
            });
        }
Beispiel #14
0
 protected override string GetScriptDirectory(IPageContext pageContext, string resourceName, bool isBootScriptsDirectory)
 {
     if (this.scriptDirectory == null)
     {
         this.scriptDirectory = ResourcePathBuilderUtilities.GetGlobalizeScriptResourcesRelativeFolderPath(base.ResourcesRelativeFolderPath);
     }
     return(pageContext.FormatURIForCDN(this.scriptDirectory, isBootScriptsDirectory));
 }
Beispiel #15
0
 protected virtual string GetScriptDirectory(IPageContext pageContext, string resourceName, bool isBootScriptsDirectory)
 {
     if (resourceName.StartsWith("http://") || resourceName.StartsWith("https://") || this.isFullPath)
     {
         return(string.Empty);
     }
     return(pageContext.FormatURIForCDN(ResourcePathBuilderUtilities.GetScriptResourcesRelativeFolderPath(base.ResourcesRelativeFolderPath), isBootScriptsDirectory));
 }
Beispiel #16
0
 // Token: 0x060026FA RID: 9978 RVA: 0x0008D51F File Offset: 0x0008B71F
 private string GetScriptDirectoryFromCultureName(IPageContext handler, string cultureName, bool isBootScriptsDirectory)
 {
     if (this.scriptDirectoryFormat == null)
     {
         this.scriptDirectoryFormat = ResourcePathBuilderUtilities.GetScriptResourcesRelativeFolderPath(base.ResourcesRelativeFolderPath) + "/{0}";
     }
     return(handler.FormatURIForCDN(string.Format(this.scriptDirectoryFormat, cultureName), isBootScriptsDirectory));
 }
        /// <summary>
        /// Retrieves dynamic element content.
        /// </summary>
        /// <param name="settings">Contains element settings.</param>
        /// <param name="pageContext">Page context.</param>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <returns>Element content.</returns>
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            IDictionary <object, object> items = _webHelperService.GetItems();

            return(new TestimonialContent {
                PartialViewName = "Testimonial", Items = items
            });
        }
Beispiel #18
0
        internal override void Initialize(IPageContext pageContext, ICanvas canvas)
        {
            StartingRowsCount = Cells.Select(x => x.Row).DefaultIfEmpty(0).Max();
            RowsCount         = Cells.Select(x => x.Row + x.RowSpan - 1).DefaultIfEmpty(0).Max();
            Cells             = Cells.OrderBy(x => x.Row).ThenBy(x => x.Column).ToList();

            base.Initialize(pageContext, canvas);
        }
Beispiel #19
0
        /// <summary>
        /// Performs a rebuild of the names item database
        /// This includes saving to disk
        /// This is mostly asynchronous, as it returns the total amount of names it will be pulling
        /// from the API, for progress-bar purposes.
        /// </summary>
        /// <param name="incrementProgressAction">Action to perform when the progress continues</param>
        /// <param name="cancelToken">Cancellation token in case the user wishes to cancel the task</param>
        /// <returns>Returns the total amount of requests that will be performed</returns>
        public int RebuildItemDatabase(CultureInfo culture, Action incrementProgressAction, Action rebuildCompleteAction, CancellationToken cancelToken)
        {
            var          itemService = GW2.V2.Items.ForCulture(culture);
            int          requestSize = 200;
            IPageContext ctx         = itemService.FindPage(0, requestSize);

            // Start up a task that will kick off the requests and wait for their completion
            Task.Factory.StartNew(
                () =>
            {
                var itemsDb = new Dictionary <int, ItemDBEntry>(capacity: ctx.TotalCount);
                var tasks   = new List <Task <ICollectionPage <Item> > >(ctx.PageCount);
                tasks.AddRange(itemService.FindAllPagesAsync(ctx.PageSize, ctx.PageCount, cancelToken));
                var buckets = Interleaved(tasks);
                for (int i = 0; i < buckets.Length; i++)
                {
                    if (cancelToken.IsCancellationRequested)
                    {
                        return;
                    }

                    var task = buckets[i].Result;
                    if (task.IsCanceled)
                    {
                        logger.Info("Rebuilding the item names database was canceled.");
                    }
                    else if (task.IsFaulted)
                    {
                        logger.ErrorException("One or more errors occurred when retrieving item names.", task.Exception);
                    }
                    else
                    {
                        foreach (var item in task.Result)
                        {
                            itemsDb[item.ItemId] = new ItemDBEntry(
                                item.ItemId,
                                item.Name,
                                (ItemRarity)item.Rarity,
                                item.Level);
                        }

                        incrementProgressAction.Invoke();
                    }
                }

                var filePath = this.GetFilePath(CultureInfo.CurrentUICulture.TwoLetterISOLanguageName);
                using (var streamWriter = new StreamWriter(filePath))
                {
                    var serializer = new JsonSerializer();
                    serializer.Serialize(streamWriter, itemsDb);
                }

                rebuildCompleteAction.Invoke();
            },
                cancelToken);

            return(ctx.PageCount);
        }
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            // Get tag cloud content
            TagCloudContent content = new TagCloudContent {
                PartialViewName = "TagCloud"
            };

            // Get folder that tag cloud is targetting
            TagCloudSettings tagCloudSettings = (TagCloudSettings)settings;
            long             tenantId         = tagCloudSettings.PageTenantId ?? pageContext.Page.TenantId;
            long             pageId           = tagCloudSettings.PageId ?? pageContext.Page.PageId;

            if (pageId == pageContext.Page.PageId)
            {
                content.Page = pageContext.Page;
            }
            else
            {
                content.Page = _pageService.Read(tenantId, pageId, unitOfWork);
            }

            // Get tagged list
            content.TaggedList = new List <TagTagged>();
            foreach (Tag tag in pageContext.Tags)
            {
                IList <Tag> tags = pageContext.Tags.Where(t => t.Name != tag.Name).ToList();
                content.TaggedList.Add(new TagTagged
                {
                    Tag = tag,
                    RemoveTaggedList = _pagePortalService.GetTagsAsTextString(TagVariables.Separator, tags)
                });
            }

            // Get tags list if no tags currently selected
            if (content.TaggedList.Count == 0)
            {
                content.TagList = _pageService.ListTags(tenantId, pageId, tagCloudSettings.Recursive, unitOfWork);
            }
            else
            {
                content.TagList = new List <TagCount>();
            }

            // Get related tags list if tags currently selected
            if (content.TaggedList.Count > 0)
            {
                content.RelatedTagList = _pageService.ListTaggedPageTags(tenantId, pageId, pageContext.Tags, tagCloudSettings.Recursive, unitOfWork);
                content.Tags           = _pagePortalService.GetTagsAsTextString(TagVariables.Separator, pageContext.Tags);
            }
            else
            {
                content.RelatedTagList = new List <TagCount>();
            }

            // Return result
            return(content);
        }
 public AreaControllerRunner(IPageContext pageContext, IRouteData routeData, IViewContextProvider viewContextProvider, AreaRouteData areaRouteData)
     : base(areaRouteData.Controller, areaRouteData.Action)
 {
     _pageContext = pageContext;
     _routeData = routeData;
     _viewContextProvider = viewContextProvider;
     Area = areaRouteData.Area;
     UseChildActionBehavior = areaRouteData.UseChildActionBehavior;
 }
        public Task OnGet(IPageContext context)
        {
            BootstrapLoader.AddBootstrap(context.Document.Head);
            var body = context.Document.Body;

            body.Class = "bg-light";
            body.AppendChild(BuildLayout());
            return(Task.CompletedTask);
        }
Beispiel #23
0
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            long pageId     = pageContext.Page.PageId;
            long pageZoneId = Convert.ToInt64(pageContext.RouteValues["pagezoneid"]);

            return(new PageZoneContent {
                PartialViewName = "PageZoneAdmin", PageId = pageId, PageZoneId = pageZoneId
            });
        }
Beispiel #24
0
 public AreaControllerRunner(IPageContext pageContext, IRouteData routeData, IViewContextProvider viewContextProvider, AreaRouteData areaRouteData)
     : base(areaRouteData.Controller, areaRouteData.Action)
 {
     _pageContext         = pageContext;
     _routeData           = routeData;
     _viewContextProvider = viewContextProvider;
     Area = areaRouteData.Area;
     UseChildActionBehavior = areaRouteData.UseChildActionBehavior;
 }
        // Token: 0x0600286E RID: 10350 RVA: 0x00095A18 File Offset: 0x00093C18
        public static string GetResourcesHash(ResourceBase[] resources, IPageContext context, bool bootResources, string owaVersion)
        {
            List <byte[]> list = new List <byte[]>();

            foreach (ResourceBase resourceBase in resources)
            {
                list.Add(Encoding.ASCII.GetBytes(resourceBase.GetResourcePath(context, bootResources).Replace(owaVersion, string.Empty)));
            }
            return(Convert.ToBase64String(AppCacheManifestHandlerBase.CalculateHashOnHashes(list)));
        }
Beispiel #26
0
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            // Get album content
            ElementContent content = new ElementContent {
                PartialViewName = "Album"
            };

            // Return result
            return(content);
        }
        // Token: 0x060026FF RID: 9983 RVA: 0x0008D604 File Offset: 0x0008B804
        public override string GetResourcePath(IPageContext pageContext, bool isBootResource)
        {
            string text = ResourceBase.CombinePath(new string[]
            {
                this.GetStyleDirectory(pageContext, pageContext.Theme, isBootResource),
                this.ResourceName
            });

            return(text.ToLowerInvariant());
        }
        public HeaderViewModel(IPageContext <IPage> context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            Logo       = context.Home.Logo.ToViewModel();
            LogoUrl    = context.Home.AncestorOrSelf <Home>().Url;
            Navigation = new PrimaryNavigationViewModel(context);
        }
 public SocialConnectedSettingsProvider(
     ILinkManager linkManager,
     IPageContext pageContext,
     IRenderingContext renderingContext,
     IDatabase database)
 {
     _linkManager = linkManager;
     _pageContext = pageContext;
     _renderingContext = renderingContext;
     _database = database;
 }
        public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null)
        {
            CodeSnippetSettings codeSnippetSettings = (CodeSnippetSettings)settings;
            CodeSnippetContent  content             = new CodeSnippetContent
            {
                PartialViewName = "CodeSnippet",
                CssClass        = GetCssClass(codeSnippetSettings.Language)
            };

            return(content);
        }
 public SocialConnectedRenderingController(
     SocialConnectedSettings settings,
     IPageContext pageContext,
     IRenderingContext renderingContext,
     IAuthenticationManager authenticationManager,
     ITranslate translate)
 {
     _settings = settings;
     _pageContext = pageContext;
     _renderingContext = renderingContext;
     _authenticationManager = authenticationManager;
     _translate = translate;
 }
Beispiel #32
0
 public ReplicaPage(
     DateTimeOffset date,
     IReadOnlyCollection <T> values,
     IPageContext context,
     DateTimeOffset?expires      = null,
     DateTimeOffset?lastModified = null
     )
 {
     Date         = date;
     Values       = values;
     Context      = context;
     Expires      = expires;
     LastModified = lastModified;
 }
Beispiel #33
0
        private string CleanPageName(IPageContext p)
        {
            var pageName = p.Url.Path.Replace("/en", "/").Replace("//", "/").Remove(0, 1).Replace(".aspx", "");

            if (pageName == string.Empty || pageName == "en")
            {
                pageName = "Home";
            }
            if (pageName.Contains("/"))
            {
                pageName = "..." + pageName.Substring(pageName.LastIndexOf("/", StringComparison.Ordinal));
            }
            return(pageName.Length < 27 ? $"{pageName} ({(p.Duration / 1000.0).ToString("f2")}s)" : $"{pageName.Substring(0, 26)}... ({(p.Duration / 1000.0).ToString("f2")}s)");
        }
Beispiel #34
0
        public bool LoadConfigurationXml(IPageContext pageContext)
        {
            var templateContext = pageContext as ITemplateContext;
            if (templateContext == null)
                throw new InvalidOperationException("No template context provided for Input Parser. Configuration could not be loaded.");

            var templateConfig = new TemplateInputConfig {
                Name = templateContext.OutputFolder.DisplayName,
                Description = templateContext.OutputFolder.Description,
                RunAsAccount = GetRunAsAccounts(templateContext),
                TemplateIdString = GetTemplateIdString(templateContext)
            };
            GetDiscoveryConfig(templateContext, templateConfig);
            pageContext.ConfigurationXml = XmlHelper.Serialize(templateConfig, false);
            return true;
        }
 private PageLink CreatePageLink(IPageContext page)
 {
   return new PageLink(CleanPageName(page), page.Url.Path, false);
 }
 private string CleanPageName(IPageContext p)
 {
     string pageName = p.Url.Path.Replace("/en", "/").Replace("//", "/").Remove(0, 1).Replace(".aspx", "");
        if (pageName == String.Empty || pageName == "en") pageName = "Home";
        if (pageName.IndexOf("/") != pageName.LastIndexOf("/"))
        {
     pageName = pageName.Substring(0, pageName.IndexOf("/") + 1) + "..." + pageName.Substring(pageName.LastIndexOf("/"));
        }
        return (pageName.Length < 27) ? String.Format("{0} ({1}s)", pageName, (p.Duration / 1000.0).ToString("f2")) :
        String.Format("{0}... ({1}s)", pageName.Substring(0, 26), (p.Duration / 1000.0).ToString("f2"));
 }
 public TestAreaControllerRunner(IPageContext pageContext, IRouteData routeData, IViewContextProvider viewContextProvider, AreaRouteData areaRouteData)
     : base(pageContext, routeData, viewContextProvider, areaRouteData)
 {
 }
 public ThirdViewModel(IPageContext context)
     : base(context)
 {
 }
 public SecondViewModel(IPageContext context)
     : base(context)
 {
 }
 public LocationController(ILocationDomain locationDomain, IPageContext pageContext, IRenderingContext renderingContext)
 {
     _locationDomain = locationDomain;
     _pageContext = pageContext;
     _renderingContext = renderingContext;
 }
 public FirstViewModel(IPageContext context)
     : base(context)
 {
 }
 private string CleanPageName(IPageContext p)
 {
   var pageName = p.Url.Path.Replace("/en", "/").Replace("//", "/").Remove(0, 1).Replace(".aspx", "");
   if (pageName == string.Empty || pageName == "en")
   {
     pageName = "Home";
   }
   if (pageName.Contains("/"))
   {
     pageName = "..." + pageName.Substring(pageName.LastIndexOf("/", StringComparison.Ordinal));
   }
   return pageName.Length < 27 ? $"{pageName} ({(p.Duration / 1000.0).ToString("f2")}s)" : $"{pageName.Substring(0, 26)}... ({(p.Duration / 1000.0).ToString("f2")}s)";
 }
 public ChildActionRenderer(IPageContext pageContext, HtmlHelper helper)
 {
     _pageContext = pageContext;
     _helper = helper;
 }