public TemplatedPageDto CreateTemplatedPage(TemplatedPageDto templatePageDto)
        {
            using (ConsoleRepository)
            {
                var templatedPage = ConsoleRepository.Query<TemplatedPage>().FirstOrDefault(tp => tp.PageTitle.Equals(templatePageDto.PageTitle));

                if (templatedPage != null) throw new Exception("Templated Page Already Exists");

                var newTemplatePage = new TemplatedPage
                    {
                        PageTitle = templatePageDto.PageTitle,
                        ViewModel = templatePageDto.ViewModel,
                        IsMenuLinkVisible = templatePageDto.IsMenuLinkVisible,
                        IsSeparateBrowserTab = templatePageDto.IsSeparateBrowserTab,
                    };
                // Add Templated Page
                ConsoleRepository.Add<TemplatedPage>(newTemplatePage);

                // Add Page Templates for all Teams
                var teams = ConsoleRepository.Query<Team>().ToList();
                var structureTemplate = ConsoleRepository.Query<Template>().FirstOrDefault(t => t.Title.Equals("8 Section Template"));
                var holdingTemplate = ConsoleRepository.Query<Template>().FirstOrDefault(t => t.Title.Equals("Holding Template"));

                CreateDefaultPageTemplatesPerTeam(ConsoleRepository, newTemplatePage, teams, structureTemplate, holdingTemplate);

                ConsoleRepository.SaveChanges();

                templatePageDto.Id = newTemplatePage.Id;
            }

            return templatePageDto;
        }
        public void DeleteTemplatedPage(TemplatedPageDto templatedPageDto)
        {
            using (ConsoleRepository)
            {
                var templatedPage = ConsoleRepository.Query<TemplatedPage>().FirstOrDefault(tp => tp.Id == templatedPageDto.Id);

                if (templatedPage != null)
                {
                    ConsoleRepository.Attach<TemplatedPage>(templatedPage);
                    ConsoleRepository.Delete<TemplatedPage>(templatedPage);
                    ConsoleRepository.SaveChanges();
                }
            }
        }
        public ActionResult DeleteTemplatedPage(TemplatedPageDto templatedPageDto)
        {
            TemplatesModule.DeleteTemplatedPage(templatedPageDto);

            return new JsonNetResult
            {
                Data = Json(new { Result = "Successfully Deleted Templated Page" })
            };

        }
        public void UpdateTemplatedPage(TemplatedPageDto templatePageDto)
        {
            using (ConsoleRepository)
            {

                var templatedPage = ConsoleRepository.Query<TemplatedPage>().FirstOrDefault(tp => tp.Id == templatePageDto.Id);

                if (templatedPage != null)
                {
                    ConsoleRepository.Attach<TemplatedPage>(templatedPage);

                    templatedPage.PageTitle = templatePageDto.PageTitle;
                    templatedPage.ViewModel = templatePageDto.ViewModel;
                    templatedPage.IsMenuLinkVisible = templatePageDto.IsMenuLinkVisible;
                    templatedPage.IsSeparateBrowserTab = templatePageDto.IsSeparateBrowserTab;
                }

                ConsoleRepository.SaveChanges();
            }
        }
        public ActionResult CreateTemplatedPage(TemplatedPageDto templatedPageDto)
        {
            var teplatedPage = TemplatesModule.CreateTemplatedPage(templatedPageDto);

            return new JsonNetResult
            {
                Data = Json(teplatedPage)
            };

        }