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); }
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)); } }