Example #1
0
 private void makeFieldsMatch(oxite_Site dbSite, Site site)
 {
     dbSite.SiteHost            = site.Host.ToString();
     dbSite.SiteName            = site.Name;
     dbSite.SiteDisplayName     = site.DisplayName;
     dbSite.SiteDescription     = site.Description;
     dbSite.LanguageDefault     = site.LanguageDefault;
     dbSite.TimeZoneOffset      = site.TimeZoneOffset;
     dbSite.PageTitleSeparator  = site.PageTitleSeparator;
     dbSite.FavIconUrl          = site.FavIconUrl;
     dbSite.CommentStateDefault = site.CommentStateDefault;
     dbSite.IncludeOpenSearch   = site.IncludeOpenSearch;
     dbSite.AuthorAutoSubscribe = site.AuthorAutoSubscribe;
     dbSite.PostEditTimeout     = site.PostEditTimeout;
     dbSite.GravatarDefault     = site.GravatarDefault;
     dbSite.SkinsPath           = site.SkinsPath;
     dbSite.SkinsScriptsPath    = site.SkinsScriptsPath;
     dbSite.SkinsStylesPath     = site.SkinsStylesPath;
     dbSite.Skin               = site.Skin;
     dbSite.AdminSkin          = site.AdminSkin;
     dbSite.HasMultipleBlogs   = site.HasMultipleBlogs;
     dbSite.RouteUrlPrefix     = site.RouteUrlPrefix;
     dbSite.CommentingDisabled = site.CommentingDisabled;
     dbSite.PluginsPath        = site.PluginsPath;
 }
Example #2
0
 private IQueryable <oxite_SiteRedirect> getRedirects(oxite_Site site)
 {
     return
         (from sr in context.oxite_SiteRedirects
          where sr.SiteID == site.SiteID
          select sr);
 }
Example #3
0
        public void Save(Site site)
        {
            oxite_Site dbSite = null;

            if (site.ID != Guid.Empty)
            {
                dbSite = (from s in context.oxite_Sites where s.SiteID == site.ID || s.SiteName == site.Name select s).FirstOrDefault();
            }

            if (dbSite == null)
            {
                dbSite = new oxite_Site();

                context.oxite_Sites.InsertOnSubmit(dbSite);

                if (site.ID == Guid.Empty)
                {
                    dbSite.SiteID = Guid.NewGuid();
                }
                else
                {
                    dbSite.SiteID = site.ID;
                }

                makeFieldsMatch(dbSite, site);
            }
            else
            {
                makeFieldsMatch(dbSite, site);

                var siteRedirectsQuery =
                    from sr in context.oxite_SiteRedirects
                    where sr.SiteID == dbSite.SiteID
                    select sr;

                if (siteRedirectsQuery.Count() > 0)
                {
                    context.oxite_SiteRedirects.DeleteAllOnSubmit(siteRedirectsQuery);
                }
            }

            if (site.HostRedirects != null && site.HostRedirects.Count > 0)
            {
                context.oxite_SiteRedirects.InsertAllOnSubmit(
                    site.HostRedirects.Select(
                        hr =>
                        new oxite_SiteRedirect
                {
                    SiteID       = dbSite.SiteID,
                    SiteRedirect = hr.ToString()
                }
                        )
                    );
            }

            context.SubmitChanges();
        }