Ejemplo n.º 1
0
 public static Core.Models.Page.PageItem parseRoute(string path, List <Core.Models.Category.CategoryItem> categories)
 {
     Core.Models.Page.PageItem page = null;
     try
     {
         using (var db = new DataModel.Entities())
         {
             var paths = path.Split('/');
             if (paths.Length == 2)
             {
                 var lastElement = paths[paths.Length - 2];
                 var category    = GetCategory(lastElement, db);
                 if (category != null)
                 {
                     page = new Models.Page.PageItem()
                     {
                         Category = category,
                         PageType = Enums.Page.PageType.Category
                     };
                 }
             }
             else
             {
                 var lastElement = paths[paths.Length - 3];
                 var category    = GetCategory(lastElement, db);
                 if (category != null)
                 {
                     page = new Models.Page.PageItem()
                     {
                         Category = category,
                         Contents = GetContentList(db),
                         PageType = Enums.Page.PageType.Category
                     };
                 }
                 else
                 {
                     var content = GetContent(lastElement, db);
                     if (content != null)
                     {
                         page = new Models.Page.PageItem()
                         {
                             Content  = content,
                             Category = GetCategory(paths[paths.Length - 3], db)
                         };
                     }
                 }
             }
         }
     }
     catch (Exception) { }
     return(page);
 }
Ejemplo n.º 2
0
        public ActionResult Index(string path)
        {
            try
            {
                var lang         = Core.Helpers.PageHelper.GetLanguage(path, out path);
                var categoryList = Core.Helpers.Category.CategoryHelper.GetAllCategoriesByLanguage(lang);
                Trial.Core.Models.Page.PageItem pageItem = null;

                var menu = Core.Helpers.Home.HomeHelper.htmlMenuBar(categoryList, lang);
                if (path != null)
                {
                    pageItem = Core.Helpers.PageHelper.parseRoute(path, categoryList);
                }
                else
                {
                    pageItem = new Core.Models.Page.PageItem()
                    {
                        PageType = Core.Enums.Page.PageType.Home
                    };
                }
                if (pageItem != null)
                {
                    pageItem.MenuBar = menu;

                    if (pageItem.Content == null && pageItem.Category != null)
                    {
                        return(View("Category", pageItem));
                    }
                    else if (pageItem.Content != null && pageItem.Category != null)
                    {
                        return(View("Content", pageItem));
                    }
                    return(View(pageItem));
                }
                return(View("Error"));
            }
            catch (Exception ex)
            {
                return(Content(ex.Message));
            }
        }