예제 #1
0
 private static PageContent BuildDefaultPageContent(RoutePageRequest routeRequest)
 {
     return new PageContent
     {
         Heading = routeRequest.UrlSegment + " " + routeRequest.Category,
         PageTitle = routeRequest.UrlSegment + " " + routeRequest.Category,
         PageContentID = -1,
         ContentArea = new ContentArea { Name = routeRequest.Area },
         ContentCategory = new ContentCategory { Name = routeRequest.Category },
         ContentSubCategory = new ContentSubCategory { Name = routeRequest.SubCategory },
         UrlSegment = routeRequest.UrlSegment
     };
 }
예제 #2
0
        public static RoutePageRequest RetrievePageRequest(ControllerContext filterContext, IPageContentRepository repository)
        {
            RoutePageRequest routeRequest = new RoutePageRequest();

            routeRequest.UrlSegment = filterContext.RouteData.Values["urlSegment"] == null ? filterContext.RouteData.Values["action"].ToString() : filterContext.RouteData.Values["urlSegment"].ToString();

            routeRequest.Area = filterContext.RouteData.Values["area"] == null ? "" : filterContext.RouteData.Values["area"].ToString();

            routeRequest.Category = filterContext.RouteData.Values["category"]?.ToString();
            if (string.IsNullOrEmpty(routeRequest.Category))
            {
                string controller = filterContext.RouteData.Values["controller"].ToString();
                routeRequest.Category = controller != "PublicContent" ? controller : null;
            }

            routeRequest.Category = routeRequest.Category == "none" ? null : routeRequest.Category;

            routeRequest.SubCategory = filterContext.RouteData.Values["subCategory"]?.ToString();

            routeRequest.PageContent = repository.RetrieveAsync(routeRequest).Result;
            return routeRequest;
        }