public CultureSpecificSiteContentModel GetPageCultureSpecificContent(string sitePageName)
        {
            string cultureName = CultureInformationManagement.CurrentUserCulture;
            CultureSpecificSiteContentModel pageCultureSpecificSiteContentModel = new CultureSpecificSiteContentModel();



            ContentApplicationPage contentApplicationPage = contentApplicationPageRepository.GetAll(x => x.ApplicationPage.PageTitle == sitePageName && ((x.CultureInformation.CultureName == cultureName && x.UseDefaultContent == false))).FirstOrDefault();

            //if user culture specific page is not configured to use default content then
            if (contentApplicationPage == null)
            {
                string defaultCultureName = CultureInformationManagement.ApplicationDefaultCulture;
                contentApplicationPage = contentApplicationPageRepository.GetAll(x => x.ApplicationPage.PageTitle == sitePageName && (x.CultureInformation.CultureName == defaultCultureName)).FirstOrDefault();
            }

            // otherwise use default laguage specific content for current user culture
            if (contentApplicationPage != null)
            {
                pageCultureSpecificSiteContentModel.CultureSpecificPageMetaTitle = contentApplicationPage.MetaTitle;
                pageCultureSpecificSiteContentModel.CultureSpecificPageMetaTags  = contentApplicationPage.MetaDescription;
                pageCultureSpecificSiteContentModel.CultureSpecificPageContent   = contentApplicationPage.PageContent;
            }


            return(pageCultureSpecificSiteContentModel);
        }
        public ApplicationPageModel GetPageDetail(int cultureInformationId, int pageId)
        {
            ApplicationPage      page      = applicationPageRepository.SingleOrDefault(r => r.ApplicationPageId == pageId && r.RecordDeleted == false);
            ApplicationPageModel pageModel = new ApplicationPageModel();

            AutoMapper.Mapper.Map(page, pageModel);
            ContentApplicationPage contentpage = page.ContentApplicationPages.SingleOrDefault(r => r.CultureInformationId == Convert.ToInt32(cultureInformationId) && r.ApplicationPageId == pageId);

            if (contentpage != null)
            {
                ContentApplicationPageModel contentpageModel = new ContentApplicationPageModel();
                AutoMapper.Mapper.Map(contentpage, contentpageModel);
                pageModel.ContentApplicationPage = contentpageModel;
            }
            return(pageModel);
        }
        public void UpdatePageContent(ApplicationPageModel pageModel)
        {
            ContentApplicationPage contentpage = new ContentApplicationPage();
            ApplicationPage        page        = new ApplicationPage();

            page = applicationPageRepository.SingleOrDefault(r => r.ApplicationPageId == pageModel.ApplicationPageId);
            if (page != null)
            {
                page.PageTitle       = pageModel.PageTitle;
                page.PageUrl         = pageModel.PageUrl;
                page.IsActive        = pageModel.IsActive;
                page.PageDescription = pageModel.PageDescription;
                applicationPageRepository.Update(page);
            }
            if (pageModel.ContentApplicationPage.UseDefaultContent == true)
            {
                contentpage = contentApplicationRepository.SingleOrDefault(r => r.ApplicationPageId == pageModel.ApplicationPageId && r.CultureInformationId == pageModel.ContentApplicationPage.CultureInformationId);
                CultureInformation     cultureInformation = cultureInformationPageRepository.SingleOrDefault(r => r.IsDefault == true);
                ContentApplicationPage defaultContentPage = new ContentApplicationPage();
                defaultContentPage            = contentApplicationRepository.SingleOrDefault(r => r.CultureInformationId == cultureInformation.CultureInformationId && r.ApplicationPageId == pageModel.ApplicationPageId);
                contentpage.MetaDescription   = defaultContentPage.MetaDescription;
                contentpage.PageContent       = defaultContentPage.PageContent;
                contentpage.MetaTitle         = defaultContentPage.MetaTitle;
                contentpage.UseDefaultContent = true;
                contentApplicationRepository.Update(contentpage);
            }
            else
            {
                contentpage = contentApplicationRepository.SingleOrDefault(r => r.ApplicationPageId == pageModel.ApplicationPageId && r.CultureInformationId == pageModel.ContentApplicationPage.CultureInformationId);
                if (contentpage != null)
                {
                    contentpage.MetaDescription   = pageModel.ContentApplicationPage.MetaDescription;
                    contentpage.PageContent       = pageModel.ContentApplicationPage.PageContent;
                    contentpage.MetaTitle         = pageModel.ContentApplicationPage.MetaTitle;
                    contentpage.UseDefaultContent = false;
                    contentApplicationRepository.Update(contentpage);
                }
            }
        }
Example #4
0
        public void SaveLanguage(CultureInformationModel cultureModel)
        {
            CultureInformation cultureInformation = cultureInformationRepository.SingleOrDefault(r => r.CultureInformationId == cultureModel.CultureInformationId);

            cultureInformation.IsActive = cultureModel.IsActive;
            cultureInformationRepository.Update(cultureInformation);
            List <ContentApplicationPage> contentPageList = new List <ContentApplicationPage>();
            List <ApplicationPage>        applicationPage = new List <ApplicationPage>();

            applicationPage = appliationPageRepository.GetAll(r => r.IsApplicationPage == true).ToList();
            foreach (var v in applicationPage)
            {
                ContentApplicationPage contentpage = new ContentApplicationPage();
                contentpage = contentApplicationPageRepository.SingleOrDefault(r => r.ApplicationPageId == v.ApplicationPageId && r.CultureInformationId == cultureModel.CultureInformationId);
                if (contentpage == null)
                {
                    contentpage = new ContentApplicationPage();
                    contentpage.ApplicationPageId    = v.ApplicationPageId;
                    contentpage.CultureInformationId = cultureModel.CultureInformationId;
                    contentpage.UseDefaultContent    = true;
                    contentApplicationPageRepository.Insert(contentpage);
                }
            }
        }
        public void AddCustomPage(ApplicationPageModel pageModel)
        {
            ContentApplicationPage contentpage;
            ContentApplicationPage defaultContentData = new ContentApplicationPage();
            int defaultCultureInformationId           = cultureInformationPageRepository.SingleOrDefault(r => r.IsDefault == true).CultureInformationId;

            defaultContentData = contentApplicationRepository.SingleOrDefault(r => r.CultureInformationId == defaultCultureInformationId && r.ApplicationPageId == pageModel.ApplicationPageId);
            ApplicationPage page = new ApplicationPage();

            page.PageTitle         = pageModel.PageTitle;
            page.PageDescription   = pageModel.PageDescription;
            page.PageUrl           = pageModel.PageUrl;
            page.IsApplicationPage = false;
            page.IsActive          = pageModel.IsActive;
            applicationPageRepository.Insert(page);
            int ApplicationPageId = page.ApplicationPageId;

            //Code for making an entry for custom page for all the visible language.
            List <CultureInformation> cultureInformationList = cultureInformationPageRepository.GetAll(r => r.IsVisible == true).ToList();

            foreach (CultureInformation cultureInfo in cultureInformationList)
            {
                contentpage = new ContentApplicationPage();
                if (cultureInfo.CultureInformationId == pageModel.ContentApplicationPage.CultureInformationId)
                {
                    contentpage.ApplicationPageId    = ApplicationPageId;
                    contentpage.CultureInformationId = pageModel.ContentApplicationPage.CultureInformationId;
                    contentpage.MetaTitle            = pageModel.ContentApplicationPage.MetaTitle;
                    contentpage.PageContent          = pageModel.ContentApplicationPage.PageContent;
                    contentpage.MetaDescription      = pageModel.ContentApplicationPage.MetaDescription;
                    contentpage.UseDefaultContent    = pageModel.ContentApplicationPage.UseDefaultContent;
                    contentApplicationRepository.Insert(contentpage);
                }
                else
                {
                    if (defaultContentData != null)
                    {
                        contentpage.ApplicationPageId    = ApplicationPageId;
                        contentpage.CultureInformationId = cultureInfo.CultureInformationId;
                        contentpage.MetaTitle            = defaultContentData.MetaTitle;
                        contentpage.PageContent          = defaultContentData.PageContent;
                        contentpage.MetaDescription      = defaultContentData.MetaDescription;
                        contentpage.UseDefaultContent    = true;
                        contentApplicationRepository.Insert(contentpage);
                    }
                    else
                    {
                        contentpage.ApplicationPageId    = ApplicationPageId;
                        contentpage.CultureInformationId = cultureInfo.CultureInformationId;
                        contentpage.MetaTitle            = string.Empty;
                        contentpage.PageContent          = string.Empty;
                        contentpage.MetaDescription      = string.Empty;
                        contentpage.UseDefaultContent    = false;
                        contentApplicationRepository.Insert(contentpage);
                    }
                }
            }

            AssociationApplicationPage associationApplication = new AssociationApplicationPage();

            associationApplication.ApplicationPageId = pageModel.ApplicationPageId;
            associationApplication.CustomPageId      = ApplicationPageId;
            associationApplicationRepository.Insert(associationApplication);
        }