Example #1
0
        public void ImportContentModelInfo(bool overwrite)
        {
            if (!FileUtils.IsFileExists(_filePath))
            {
                return;
            }
            var feed = AtomFeed.Load(FileUtils.GetFileStreamReadOnly(_filePath));

            foreach (AtomEntry entry in feed.Entries)
            {
                var modelId = AtomUtility.GetDcElementContent(entry.AdditionalElements, "ModelID");

                if (!string.IsNullOrEmpty(modelId))
                {
                    var contentModelInfo = new ContentModelInfo
                    {
                        ModelId   = modelId,
                        SiteId    = _publishmentSystemId,
                        ModelName = AtomUtility.GetDcElementContent(entry.AdditionalElements, "ModelName"),
                        IsSystem  =
                            TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "IsSystem")),
                        TableName = AtomUtility.GetDcElementContent(entry.AdditionalElements, "TableName"),
                        TableType =
                            EAuxiliaryTableTypeUtils.GetEnumType(
                                AtomUtility.GetDcElementContent(entry.AdditionalElements, "TableType")),
                        IconUrl     = AtomUtility.GetDcElementContent(entry.AdditionalElements, "IconUrl"),
                        Description = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Description")
                    };

                    var auxiliaryTableInfo = BaiRongDataProvider.TableCollectionDao.GetAuxiliaryTableInfo(modelId);
                    if (auxiliaryTableInfo != null && auxiliaryTableInfo.TableEnName == modelId)
                    {
                        if (overwrite)
                        {
                            BaiRongDataProvider.ContentModelDao.Update(contentModelInfo);
                        }
                        else
                        {
                            var importContentModelId = BaiRongDataProvider.ContentModelDao.GetImportContentModelId(_publishmentSystemId, contentModelInfo.ModelId);
                            contentModelInfo.ModelId = importContentModelId;
                            BaiRongDataProvider.ContentModelDao.Insert(contentModelInfo);
                        }
                    }
                    else
                    {
                        BaiRongDataProvider.ContentModelDao.Insert(contentModelInfo);
                    }
                }
            }
        }
Example #2
0
        private static AtomEntry ExportContentModelInfo(ContentModelInfo contentModelInfo)
        {
            var entry = AtomUtility.GetEmptyEntry();

            AtomUtility.AddDcElement(entry.AdditionalElements, "ModelID", contentModelInfo.ModelId);
            AtomUtility.AddDcElement(entry.AdditionalElements, "SiteID", contentModelInfo.SiteId.ToString());
            AtomUtility.AddDcElement(entry.AdditionalElements, "ModelName", contentModelInfo.ModelName);
            AtomUtility.AddDcElement(entry.AdditionalElements, "IsSystem", contentModelInfo.IsSystem.ToString());
            AtomUtility.AddDcElement(entry.AdditionalElements, "TableName", contentModelInfo.TableName);
            AtomUtility.AddDcElement(entry.AdditionalElements, "TableType", contentModelInfo.TableType.ToString());
            AtomUtility.AddDcElement(entry.AdditionalElements, "IconUrl", contentModelInfo.IconUrl);
            AtomUtility.AddDcElement(entry.AdditionalElements, "Description", contentModelInfo.Description);

            return(entry);
        }
Example #3
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            var nodeId = Body.GetQueryInt("NodeID", PublishmentSystemId);

            _nodeInfo    = NodeManager.GetNodeInfo(PublishmentSystemId, nodeId);
            _modelInfo   = ContentModelManager.GetContentModelInfo(PublishmentSystemInfo, _nodeInfo.ContentModelId);
            _tableStyle  = EAuxiliaryTableTypeUtils.GetTableStyle(_modelInfo.TableType);
            _redirectUrl = GetRedirectUrl(PublishmentSystemId, nodeId);

            _relatedIdentities = RelatedIdentities.GetChannelRelatedIdentities(PublishmentSystemId, nodeId);

            if (!IsPostBack)
            {
                BreadCrumb(AppManager.Cms.LeftMenu.IdConfigration, AppManager.Cms.LeftMenu.Configuration.IdConfigurationContentModel, "内容字段管理", AppManager.Cms.Permission.WebSite.Configration);

                //删除样式
                if (Body.IsQueryExists("DeleteStyle"))
                {
                    DeleteStyle();
                }
                else if (Body.IsQueryExists("SetTaxis"))
                {
                    SetTaxis();
                }

                InfoMessage(
                    $"在此编辑内容模型字段,子栏目默认继承父栏目字段设置; 辅助表:{BaiRongDataProvider.TableCollectionDao.GetTableCnName(_modelInfo.TableName)}({_modelInfo.TableName}); 内容模型:{_modelInfo.ModelName}");
                NodeManager.AddListItems(NodeIDDropDownList.Items, PublishmentSystemInfo, false, true, true, Body.AdministratorName);
                ControlUtils.SelectListItems(NodeIDDropDownList, nodeId.ToString());

                var styleInfoList = TableStyleManager.GetTableStyleInfoList(_tableStyle, _modelInfo.TableName, _relatedIdentities);

                dgContents.DataSource     = styleInfoList;
                dgContents.ItemDataBound += dgContents_ItemDataBound;
                dgContents.DataBind();

                AddStyle.Attributes.Add("onclick", ModalTableStyleAdd.GetOpenWindowString(PublishmentSystemId, 0, _relatedIdentities, _modelInfo.TableName, string.Empty, _tableStyle, _redirectUrl));
                AddStyles.Attributes.Add("onclick", ModalTableStylesAdd.GetOpenWindowString(PublishmentSystemId, _relatedIdentities, _modelInfo.TableName, _tableStyle, _redirectUrl));
                Import.Attributes.Add("onclick", ModalTableStyleImport.GetOpenWindowString(_modelInfo.TableName, _tableStyle, PublishmentSystemId, nodeId));
                Export.Attributes.Add("onclick", ModalExportMessage.GetOpenWindowStringToSingleTableStyle(_tableStyle, _modelInfo.TableName, PublishmentSystemId, nodeId));
            }
        }
Example #4
0
        public void Update(ContentModelInfo contentModelInfo)
        {
            var parms = new IDataParameter[]
            {
                GetParameter(ParmModelName, EDataType.NVarChar, 50, contentModelInfo.ModelName),
                GetParameter(ParmTableName, EDataType.VarChar, 200, contentModelInfo.TableName),
                GetParameter(ParmTableType, EDataType.VarChar, 50, EAuxiliaryTableTypeUtils.GetValue(contentModelInfo.TableType)),
                GetParameter(ParmIconUrl, EDataType.VarChar, 50, contentModelInfo.IconUrl),
                GetParameter(ParmDescription, EDataType.NVarChar, 255, contentModelInfo.Description),
                GetParameter(ParmModelId, EDataType.VarChar, 50, contentModelInfo.ModelId),
                GetParameter(ParmSiteId, EDataType.Integer, contentModelInfo.SiteId)
            };

            ExecuteNonQuery(SqlUpdate, parms);

            ContentModelUtils.RemoveCache(contentModelInfo.SiteId);
        }
Example #5
0
        public static ContentModelInfo GetContentModelInfo(PublishmentSystemInfo publishmentSystemInfo, string contentModelId)
        {
            ContentModelInfo retval = null;
            var list = GetContentModelInfoList(publishmentSystemInfo);

            foreach (var modelInfo in list)
            {
                if (modelInfo.ModelId == contentModelId)
                {
                    retval = modelInfo;
                    break;
                }
            }
            if (retval == null)
            {
                retval = EContentModelTypeUtils.GetContentModelInfo(publishmentSystemInfo.PublishmentSystemType, publishmentSystemInfo.PublishmentSystemId, publishmentSystemInfo.AuxiliaryTableForContent, EContentModelType.Content);
            }
            return(retval);
        }
Example #6
0
        public static ContentModelInfo GetContentModelInfo(int siteId, string tableName, EContentModelType modelType)
        {
            var modelInfo = new ContentModelInfo
            {
                ModelId   = GetValue(modelType),
                ModelName = GetText(modelType),
                SiteId    = siteId,
                IsSystem  = true,
                TableName = tableName
            };

            if (modelType == EContentModelType.Content)
            {
                modelInfo.TableType = EAuxiliaryTableType.BackgroundContent;
            }
            else if (modelType == EContentModelType.Photo)
            {
                modelInfo.TableType = EAuxiliaryTableType.BackgroundContent;
                modelInfo.IconUrl   = "photo.gif";
            }
            else if (modelType == EContentModelType.GovPublic)
            {
                modelInfo.TableType = EAuxiliaryTableType.GovPublicContent;
                modelInfo.IconUrl   = "govpublic.gif";
            }
            else if (modelType == EContentModelType.GovInteract)
            {
                modelInfo.TableType = EAuxiliaryTableType.GovInteractContent;
                modelInfo.IconUrl   = "govinteract.gif";
            }
            else if (modelType == EContentModelType.Vote)
            {
                modelInfo.TableType = EAuxiliaryTableType.VoteContent;
                modelInfo.IconUrl   = "vote.gif";
            }
            else if (modelType == EContentModelType.Job)
            {
                modelInfo.TableType = EAuxiliaryTableType.JobContent;
                modelInfo.IconUrl   = "job.gif";
            }
            return(modelInfo);
        }
Example #7
0
        public ContentModelInfo GetContentModelInfo(string modelId, int siteId)
        {
            ContentModelInfo contentModelInfo = null;

            var parms = new IDataParameter[]
            {
                GetParameter(ParmModelId, EDataType.VarChar, 50, modelId),
                GetParameter(ParmSiteId, EDataType.Integer, siteId)
            };

            using (var rdr = ExecuteReader(SqlSelect, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    contentModelInfo = new ContentModelInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), EAuxiliaryTableTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(contentModelInfo);
        }
Example #8
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            ContentModelInfo modelInfo;

            if (Body.IsQueryExists("ModelID"))
            {
                var modelId = Body.GetQueryString("ModelID");
                modelInfo = BaiRongDataProvider.ContentModelDao.GetContentModelInfo(modelId, PublishmentSystemId);

                modelInfo.ModelName   = tbModelName.Text;
                modelInfo.TableName   = ddlTableName.SelectedValue;
                modelInfo.TableType   = EAuxiliaryTableTypeUtils.GetEnumType(rblTableType.SelectedValue);
                modelInfo.IconUrl     = tbIconUrl.Text;
                modelInfo.Description = tbDescription.Text;
            }
            else
            {
                modelInfo = new ContentModelInfo
                {
                    ModelId     = tbModelID.Text,
                    SiteId      = PublishmentSystemId,
                    ModelName   = tbModelName.Text,
                    IsSystem    = false,
                    TableName   = ddlTableName.SelectedValue,
                    TableType   = EAuxiliaryTableTypeUtils.GetEnumType(rblTableType.SelectedValue),
                    IconUrl     = tbIconUrl.Text,
                    Description = tbDescription.Text
                };
            }

            if (Body.IsQueryExists("ModelID"))
            {
                try
                {
                    BaiRongDataProvider.ContentModelDao.Update(modelInfo);
                    Body.AddSiteLog(PublishmentSystemId, "修改内容模型", $"内容模型:{modelInfo.ModelName}");
                    isChanged = true;
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "内容模型修改失败!");
                }
            }
            else
            {
                var isFail        = false;
                var modelInfoList = ContentModelManager.GetContentModelInfoList(PublishmentSystemInfo);
                foreach (var contentModelInfo in modelInfoList)
                {
                    if (contentModelInfo.ModelId == tbModelID.Text)
                    {
                        FailMessage("内容模型添加失败,模型标识已存在!");
                        isFail = true;
                        break;
                    }
                    else if (contentModelInfo.ModelName == tbModelName.Text)
                    {
                        FailMessage("内容模型添加失败,模型名称已存在!");
                        isFail = true;
                        break;
                    }
                }
                if (!isFail)
                {
                    try
                    {
                        BaiRongDataProvider.ContentModelDao.Insert(modelInfo);
                        Body.AddSiteLog(PublishmentSystemId, "添加内容模型", $"内容模型:{modelInfo.ModelName}");
                        isChanged = true;
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "内容模型添加失败!");
                    }
                }
            }

            if (isChanged)
            {
                PageUtils.CloseModalPage(Page);
            }
        }