Beispiel #1
0
 public static ContentItem GetContentItem(OxiteCMSDataContext context, Guid siteID, Guid pageID, string name)
 {
     return((
                from ci in context.oxite_CMS_ContentItems
                where ci.SiteID == siteID && ci.PageID == pageID && string.Compare(ci.ContentItemName, name, true) == 0
                select SqlServerContentItemRepository.ProjectContentItem(context, ci)
                ).FirstOrDefault());
 }
Beispiel #2
0
 public static ContentItem GetContentItem(OxiteCMSDataContext context, Guid siteID, string name)
 {
     return((
                from ci in context.oxite_CMS_ContentItems
                where ci.SiteID == siteID && ci.PageID == null && string.Compare(ci.ContentItemName, name, true) == 0
                orderby ci.Version descending
                select ProjectContentItem(context, ci)
                ).FirstOrDefault());
 }
Beispiel #3
0
        private static Page projectPage(OxiteCMSDataContext context, Guid?pageID)
        {
            if (pageID == null)
            {
                return(null);
            }

            return(context.oxite_CMS_Pages.Where(p => p.PageID == pageID.Value).Select(p => new Page(p.PageID, new SiteSmall(p.SiteID), p.TemplateName, p.Title, p.Description, p.Slug, p.PublishedDate)).FirstOrDefault());
        }
Beispiel #4
0
 public static ContentItem ProjectContentItem(OxiteCMSDataContext context, oxite_CMS_ContentItem ci)
 {
     return
         (new ContentItem(
              ci.ContentItemID,
              new SiteSmall(ci.SiteID),
              projectPage(context, ci.PageID),
              ci.ContentItemName,
              ci.ContentItemDisplayName,
              ci.Body,
              ci.Version,
              new UserAuthenticated(ci.oxite_User.UserID, ci.oxite_User.Username, ci.oxite_User.DisplayName),
              ci.CreatedDate,
              ci.PublishedDate
              ));
 }
Beispiel #5
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));
        }
Beispiel #6
0
 public SqlServerPageRepository(OxiteCMSDataContext context)
 {
     this.context = context;
 }
 public SqlServerPageRepository(OxiteCMSDataContext context, OxiteContext oxiteContext)
 {
     this.context = context;
     siteID       = oxiteContext.Site.ID;
 }
Beispiel #8
0
 public SqlServerContentItemRepository(OxiteCMSDataContext context)
 {
     this.context = context;
 }
Beispiel #9
0
 public static IEnumerable <ContentItem> ProjectContentItems(OxiteCMSDataContext context, IQueryable <oxite_CMS_ContentItem> ci)
 {
     return(ci.Select(contentItem => ProjectContentItem(context, contentItem)).ToList());
 }