예제 #1
0
        /// <summary>
        /// Creates and updates all post types defined by code.
        /// </summary>
        private void EnsurePostTypes()
        {
            foreach (var type in PostTypes)
            {
                var pt = Models.PostTemplate.Get("posttemplate_type=@0", type.GetType().FullName).SingleOrDefault();

                Models.Manager.TemplateModels.PostEditModel m = null;

                // Get or create the page type
                if (pt != null)
                {
                    m = Models.Manager.TemplateModels.PostEditModel.GetById(pt.Id);
                }
                else
                {
                    m = new Models.Manager.TemplateModels.PostEditModel();
                }

                // Set all meta data
                if (m.Template.IsNew)
                {
                    m.Template.Id = Guid.NewGuid();
                }
                m.Template.Name           = type.Name;
                m.Template.Description    = type.Description;
                m.Template.Preview        = new HtmlString(type.Preview);
                m.Template.Controller     = type.Controller;
                m.Template.ShowController = type.ShowController;
                m.Template.View           = type.View;
                m.Template.ShowView       = type.ShowView;
                m.Template.Properties.Clear();
                m.Template.Properties.AddRange(type.Properties);
                m.Template.Type     = type.GetType().FullName;
                m.Template.AllowRss = type.AllowRss;

                // Save Template
                Data.Database.LoginSys();
                m.SaveAll();
                Data.Database.Logout();
            }
        }
예제 #2
0
        /// <summary>
        /// Creates and updates all post types defined by code.
        /// </summary>
        private void EnsurePostTypes()
        {
            foreach (var type in PostTypes)
            {
                var pt = Models.PostTemplate.Get("posttemplate_type=@0", type.GetType().FullName).SingleOrDefault();

                Models.Manager.TemplateModels.PostEditModel m = null;

                // Get or create the page type
                if (pt != null)
                    m = Models.Manager.TemplateModels.PostEditModel.GetById(pt.Id);
                else m = new Models.Manager.TemplateModels.PostEditModel();

                // Set all meta data
                if (m.Template.IsNew)
                    m.Template.Id = Guid.NewGuid();
                m.Template.Name = type.Name;
                m.Template.Description = type.Description;
                m.Template.Preview = new HtmlString(type.Preview);
                m.Template.Controller = type.Controller;
                m.Template.ShowController = type.ShowController;
                m.Template.View = type.View;
                m.Template.ShowView = type.ShowView;
                m.Template.Properties.Clear();
                m.Template.Properties.AddRange(type.Properties);
                m.Template.Type = type.GetType().FullName;
                m.Template.AllowRss = type.AllowRss;

                // Save Template
                Data.Database.LoginSys();
                m.SaveAll();
                Data.Database.Logout();
            }
        }