Exemple #1
0
        public Page Save(Page page)
        {
            oxite_CMS_Page pageToSave = null;

            if (page.ID != Guid.Empty)
            {
                pageToSave = context.oxite_CMS_Pages.FirstOrDefault(p => p.SiteID == page.Site.ID && p.PageID == page.ID);
            }

            if (pageToSave == null)
            {
                pageToSave = new oxite_CMS_Page();

                pageToSave.SiteID = page.Site.ID;
                pageToSave.PageID = page.ID != Guid.Empty ? page.ID : Guid.NewGuid();

                context.oxite_CMS_Pages.InsertOnSubmit(pageToSave);
            }

            pageToSave.TemplateName  = page.TemplateName;
            pageToSave.Title         = page.Title;
            pageToSave.Description   = page.Description;
            pageToSave.Slug          = page.Slug;
            pageToSave.PublishedDate = page.Published;

            context.SubmitChanges();

            return(GetPage(pageToSave.SiteID, pageToSave.Slug));
        }
Exemple #2
0
        internal static ContentItem SaveContentItem(OxiteCMSDataContext context, ContentItem contentItem)
        {
            oxite_CMS_ContentItem item =
                contentItem.Page != null
                ? context.oxite_CMS_ContentItems.Where(ci => ci.SiteID == contentItem.Site.ID && ci.PageID == contentItem.Page.ID && string.Compare(ci.ContentItemName, contentItem.Name, true) == 0).OrderByDescending(ci => ci.Version).FirstOrDefault()
                : context.oxite_CMS_ContentItems.Where(ci => ci.SiteID == contentItem.Site.ID && ci.PageID == null && string.Compare(ci.ContentItemName, contentItem.Name, true) == 0).OrderByDescending(ci => ci.Version).FirstOrDefault();

            short version;

            if (item != null)
            {
                if (item.Body == contentItem.Body)
                {
                    return(null);
                }

                version = item.Version;

                version++;
            }
            else
            {
                version = 1;
            }

            item = new oxite_CMS_ContentItem
            {
                SiteID                 = contentItem.Site.ID,
                PageID                 = contentItem.Page != null ? (Guid?)contentItem.Page.ID : (Guid?)null,
                ContentItemID          = contentItem.ID != Guid.Empty ? contentItem.ID : Guid.NewGuid(),
                ContentItemName        = contentItem.Name,
                ContentItemDisplayName = contentItem.DisplayName,
                Body          = contentItem.Body,
                CreatedDate   = DateTime.UtcNow,
                CreatorUserID = contentItem.Creator.ID,
                PublishedDate = contentItem.Published,
                Version       = version
            };

            context.oxite_CMS_ContentItems.InsertOnSubmit(item);

            context.SubmitChanges();

            return(GetContentItem(context, item.SiteID, item.ContentItemName));
        }