Ejemplo n.º 1
0
        public void Insert(AuxiliaryTableInfo info)
        {
            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmTableEnname, EDataType.VarChar, 50, info.TableEnName),
                GetParameter(ParmTableCnname, EDataType.NVarChar, 50, info.TableCnName),
                GetParameter(ParmAttributeNum, EDataType.Integer, info.AttributeNum),
                GetParameter(ParmTableType, EDataType.VarChar, 50, EAuxiliaryTableTypeUtils.GetValue(info.AuxiliaryTableType)),
                GetParameter(ParmIsCreatedInDb, EDataType.VarChar, 18, false.ToString()),
                GetParameter(ParmIsChangedAfterCreatedInDb, EDataType.VarChar, 18, false.ToString()),
                GetParameter(ParmIsDefault, EDataType.VarChar, 18, info.IsDefault.ToString()),
                GetParameter(ParmDescription, EDataType.NText, info.Description)
            };

            using (var conn = GetConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        ExecuteNonQuery(trans, SqlInsertTable, insertParms);
                        BaiRongDataProvider.TableMetadataDao.InsertSystemItems(info.TableEnName, info.AuxiliaryTableType, trans);
                        TableManager.IsChanged = true;
                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public List <AuxiliaryTableInfo> GetAuxiliaryTableListCreatedInDbByAuxiliaryTableType(params EAuxiliaryTableType[] eAuxiliaryTableTypeArray)
        {
            var auxiliaryTableTypeList = new List <string>();

            foreach (var eAuxiliaryTableType in eAuxiliaryTableTypeArray)
            {
                auxiliaryTableTypeList.Add(EAuxiliaryTableTypeUtils.GetValue(eAuxiliaryTableType));
            }

            string sqlString =
                $"SELECT TableENName, TableCNName, AttributeNum, AuxiliaryTableType, IsCreatedInDB, IsChangedAfterCreatedInDB, IsDefault, Description FROM bairong_TableCollection WHERE AuxiliaryTableType IN ({TranslateUtils.ToSqlInStringWithQuote(auxiliaryTableTypeList)}) AND IsCreatedInDB = '{true}' ORDER BY IsCreatedInDB DESC, TableENName";

            var list = new List <AuxiliaryTableInfo>();

            using (var rdr = ExecuteReader(sqlString))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new AuxiliaryTableInfo(GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), EAuxiliaryTableTypeUtils.GetEnumType(GetString(rdr, i++)), GetBool(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetString(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }

            return(list);
        }
Ejemplo n.º 3
0
        public static ETableStyle GetTableStyle(PublishmentSystemInfo publishmentSystemInfo, NodeInfo nodeInfo)
        {
            var modelInfo = ContentModelManager.GetContentModelInfo(publishmentSystemInfo, nodeInfo.ContentModelId);

            if (!string.IsNullOrEmpty(modelInfo?.TableName))
            {
                return(EAuxiliaryTableTypeUtils.GetTableStyle(modelInfo.TableType));
            }
            var tableStyle = ETableStyle.BackgroundContent;

            if (EContentModelTypeUtils.Equals(EContentModelType.GovPublic, nodeInfo.ContentModelId))
            {
                tableStyle = ETableStyle.GovPublicContent;
            }
            else if (EContentModelTypeUtils.Equals(EContentModelType.GovInteract, nodeInfo.ContentModelId))
            {
                tableStyle = ETableStyle.GovInteractContent;
            }
            else if (EContentModelTypeUtils.Equals(EContentModelType.Vote, nodeInfo.ContentModelId))
            {
                tableStyle = ETableStyle.VoteContent;
            }
            else if (EContentModelTypeUtils.Equals(EContentModelType.Job, nodeInfo.ContentModelId))
            {
                tableStyle = ETableStyle.JobContent;
            }
            else if (EContentModelTypeUtils.Equals(EContentModelType.UserDefined, nodeInfo.ContentModelId))
            {
                tableStyle = ETableStyle.UserDefined;
            }
            return(tableStyle);
        }
Ejemplo n.º 4
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("PublishmentSystemID");
            if (!IsPostBack)
            {
                rblTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.BackgroundContent, true));
                rblTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.UserDefined, false));

                if (Body.IsQueryExists("ModelID"))
                {
                    tbModelID.Enabled = false;
                    var modelId   = Body.GetQueryString("ModelID");
                    var modelInfo = BaiRongDataProvider.ContentModelDao.GetContentModelInfo(modelId, PublishmentSystemId);
                    if (modelInfo != null)
                    {
                        tbModelID.Text   = modelId;
                        tbModelName.Text = modelInfo.ModelName;
                        tbIconUrl.Text   = modelInfo.IconUrl;
                        ControlUtils.SelectListItemsIgnoreCase(rblTableType, EAuxiliaryTableTypeUtils.GetValue(modelInfo.TableType));
                        rblTableType_SelectedIndexChanged(null, null);
                        ControlUtils.SelectListItemsIgnoreCase(ddlTableName, modelInfo.TableName);
                        tbDescription.Text = modelInfo.Description;
                    }
                }
                else
                {
                    rblTableType_SelectedIndexChanged(null, null);
                }
            }
        }
Ejemplo n.º 5
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("TableName", "TableType");

            _tableName = Body.GetQueryString("TableName");
            _tableType = EAuxiliaryTableTypeUtils.GetEnumType(Body.GetQueryString("TableType"));

            if (!IsPostBack)
            {
                EDataTypeUtils.AddListItemsToAuxiliaryTable(DataType);

                if (Body.IsQueryExists("TableMetadataID"))
                {
                    var tableMetadataId = Body.GetQueryInt("TableMetadataID");
                    var info            = BaiRongDataProvider.TableMetadataDao.GetTableMetadataInfo(tableMetadataId);
                    if (info != null)
                    {
                        AttributeName.Text    = info.AttributeName;
                        AttributeName.Enabled = false;
                        ControlUtils.SelectListItemsIgnoreCase(DataType, info.DataType.ToString());
                        DataLength.Text = info.DataLength.ToString();
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public string GetEditStyleHtml(int tableMetadataId, string attributeName)
        {
            var tableStyle       = EAuxiliaryTableTypeUtils.GetTableStyle(_tableType);
            var styleInfo        = TableStyleManager.GetTableStyleInfo(tableStyle, _tableName, attributeName, null);
            var showPopWinString = ModalTableStyleAdd.GetOpenWindowString(0, _tableName, attributeName, tableStyle, _redirectUrl);

            var editText = "设置";

            if (styleInfo.TableStyleId != 0)//数据库中有样式
            {
                editText = "修改";
            }
            string retval = $"<a href=\"javascript:void 0;\" onClick=\"{showPopWinString}\">{editText}</a>";

            if (styleInfo.TableStyleId == 0)
            {
                return(retval);
            }

            var attributes = new NameValueCollection
            {
                { "DeleteStyle", true.ToString() },
                { "TableMetadataID", tableMetadataId.ToString() },
                { "AttributeName", attributeName }
            };
            var deleteUrl = PageUtils.AddQueryString(_redirectUrl, attributes);

            retval +=
                $@"&nbsp;&nbsp;<a href=""{deleteUrl}"" onClick=""javascript:return confirm('此操作将删除对应显示样式,确认吗?');"">删除</a>";
            return(retval);
        }
Ejemplo n.º 7
0
        public List <string> GetTableEnNameListCreatedInDbByAuxiliaryTableType(params EAuxiliaryTableType[] eAuxiliaryTableTypeArray)
        {
            var auxiliaryTableTypeList = new List <string>();

            foreach (var eAuxiliaryTableType in eAuxiliaryTableTypeArray)
            {
                auxiliaryTableTypeList.Add(EAuxiliaryTableTypeUtils.GetValue(eAuxiliaryTableType));
            }

            string sqlString =
                $"SELECT TableENName FROM bairong_TableCollection WHERE AuxiliaryTableType IN ({TranslateUtils.ToSqlInStringWithQuote(auxiliaryTableTypeList)}) AND IsCreatedInDB = '{true}' ORDER BY IsCreatedInDB DESC, TableENName";

            var list = new List <string>();

            using (var rdr = ExecuteReader(sqlString))
            {
                while (rdr.Read())
                {
                    list.Add(GetString(rdr, 0));
                }
                rdr.Close();
            }

            return(list);
        }
Ejemplo n.º 8
0
        public int GetTableUsedNum(string tableENName, string auxiliaryTableType)
        {
            var tableType = EAuxiliaryTableTypeUtils.GetEnumType(auxiliaryTableType);
            var usedNum   = BaiRongDataProvider.TableCollectionDao.GetTableUsedNum(tableENName, tableType);

            return(usedNum);
        }
Ejemplo n.º 9
0
 public static string GetOpenWindowStringToAdd(string tableName, EAuxiliaryTableType tableType)
 {
     return(PageUtils.GetOpenWindowString("添加辅助表字段", PageUtils.GetSysUrl(nameof(ModalTableMetadataAdd), new NameValueCollection
     {
         { "TableName", tableName },
         { "TableType", EAuxiliaryTableTypeUtils.GetValue(tableType) }
     }), 400, 360));
 }
Ejemplo n.º 10
0
 public static string GetRedirectUrl(string tableName, EAuxiliaryTableType tableType)
 {
     return(PageUtils.GetSysUrl(nameof(PageTableStyle), new NameValueCollection
     {
         { "tableName", tableName },
         { "tableType", EAuxiliaryTableTypeUtils.GetValue(tableType) }
     }));
 }
Ejemplo n.º 11
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (Page.IsPostBack && Page.IsValid)
            {
                if (Body.IsQueryExists("ENName"))
                {
                    var tableEnName = Body.GetQueryString("ENName");
                    var info        = BaiRongDataProvider.TableCollectionDao.GetAuxiliaryTableInfo(tableEnName);
                    info.TableCnName = TableCNName.Text;
                    info.Description = Description.Text;
                    try
                    {
                        BaiRongDataProvider.TableCollectionDao.Update(info);

                        Body.AddAdminLog("修改辅助表", $"辅助表:{tableEnName}");

                        SuccessMessage("辅助表修改成功!");
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "辅助表修改失败!");
                    }
                }
                else
                {
                    var TableENNameList = BaiRongDataProvider.TableCollectionDao.GetTableEnNameList();
                    if (TableENNameList.IndexOf(TableENName.Text) != -1)
                    {
                        FailMessage("辅助表添加失败,辅助表标识已存在!");
                    }
                    else if (BaiRongDataProvider.TableStructureDao.IsTableExists(TableENName.Text))
                    {
                        FailMessage("辅助表添加失败,数据库中已存在此表!");
                    }
                    else
                    {
                        var info = new AuxiliaryTableInfo();
                        info.TableEnName        = TableENName.Text;
                        info.TableCnName        = TableCNName.Text;
                        info.Description        = Description.Text;
                        info.AuxiliaryTableType = EAuxiliaryTableTypeUtils.GetEnumType(AuxiliaryTableType.SelectedValue);
                        try
                        {
                            BaiRongDataProvider.TableCollectionDao.Insert(info);

                            Body.AddAdminLog("添加辅助表",
                                             $"辅助表:{TableENName.Text}");

                            SuccessMessage("辅助表添加成功!");
                        }
                        catch (Exception ex)
                        {
                            FailMessage(ex, "辅助表添加失败!");
                        }
                    }
                }
            }
        }
Ejemplo n.º 12
0
 public static string GetRedirectUrl(string tableName, EAuxiliaryTableType tableType, int publishmentSystemId)
 {
     return(PageUtils.GetSysUrl(nameof(PageTableMetadata), new NameValueCollection
     {
         { "ENName", tableName },
         { "TableType", EAuxiliaryTableTypeUtils.GetValue(tableType) },
         { "PublishmentSystemID", publishmentSystemId.ToString() }
     }));
 }
Ejemplo n.º 13
0
 public static string GetOpenWindowString(EAuxiliaryTableType tableType, string tableName, string attributeName)
 {
     return(PageUtils.GetOpenWindowString("辅助表字段查看", PageUtils.GetSysUrl(nameof(ModalTableMetadataView), new NameValueCollection
     {
         { "TableType", EAuxiliaryTableTypeUtils.GetValue(tableType) },
         { "TableName", tableName },
         { "AttributeName", attributeName }
     }), 480, 510, true));
 }
Ejemplo n.º 14
0
        public IEnumerable GetDataSourceCreatedInDbByAuxiliaryTableType(EAuxiliaryTableType type)
        {
            var parms = new IDataParameter[]
            {
                GetParameter(ParmTableType, EDataType.VarChar, 50, EAuxiliaryTableTypeUtils.GetValue(type)),
                GetParameter(ParmIsCreatedInDb, EDataType.VarChar, 18, true.ToString())
            };

            var enumerable = (IEnumerable)ExecuteReader(SqlSelectAllTableCreatedInDbByAuxiliaryType, parms);

            return(enumerable);
        }
Ejemplo n.º 15
0
        public void rblTableType_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlTableName.Items.Clear();
            var tableType = EAuxiliaryTableTypeUtils.GetEnumType(rblTableType.SelectedValue);
            var tableList = BaiRongDataProvider.TableCollectionDao.GetAuxiliaryTableListCreatedInDbByAuxiliaryTableType(tableType);

            foreach (AuxiliaryTableInfo tableInfo in tableList)
            {
                var li = new ListItem(tableInfo.TableCnName + "(" + tableInfo.TableEnName + ")", tableInfo.TableEnName);
                ddlTableName.Items.Add(li);
            }
        }
Ejemplo n.º 16
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);
                    }
                }
            }
        }
Ejemplo n.º 17
0
        private static AtomFeed GetAtomFeed(AuxiliaryTableInfo tableInfo)
        {
            var feed = AtomUtility.GetEmptyFeed();

            AtomUtility.AddDcElement(feed.AdditionalElements, "TableENName", tableInfo.TableEnName);
            AtomUtility.AddDcElement(feed.AdditionalElements, "TableCNName", tableInfo.TableCnName);
            AtomUtility.AddDcElement(feed.AdditionalElements, "AttributeNum", tableInfo.AttributeNum.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, "AuxiliaryTableType", EAuxiliaryTableTypeUtils.GetValue(tableInfo.AuxiliaryTableType));
            AtomUtility.AddDcElement(feed.AdditionalElements, "IsCreatedInDB", tableInfo.IsCreatedInDb.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, "IsChangedAfterCreatedInDB", tableInfo.IsChangedAfterCreatedInDb.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, "Description", tableInfo.Description);
            //表唯一序列号
            AtomUtility.AddDcElement(feed.AdditionalElements, "SerializedString", TableManager.GetSerializedString(tableInfo.TableEnName));

            return(feed);
        }
Ejemplo n.º 18
0
        public void Update(AuxiliaryTableInfo info)
        {
            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmTableCnname, EDataType.NVarChar, 50, info.TableCnName),
                GetParameter(ParmAttributeNum, EDataType.Integer, info.AttributeNum),
                GetParameter(ParmTableType, EDataType.VarChar, 50, EAuxiliaryTableTypeUtils.GetValue(info.AuxiliaryTableType)),
                GetParameter(ParmIsCreatedInDb, EDataType.VarChar, 18, info.IsCreatedInDb.ToString()),
                GetParameter(ParmIsChangedAfterCreatedInDb, EDataType.VarChar, 18, info.IsChangedAfterCreatedInDb.ToString()),
                GetParameter(ParmIsDefault, EDataType.VarChar, 18, info.IsDefault.ToString()),
                GetParameter(ParmDescription, EDataType.NText, info.Description),
                GetParameter(ParmTableEnname, EDataType.VarChar, 50, info.TableEnName)
            };

            ExecuteNonQuery(SqlUpdateTable, updateParms);
        }
Ejemplo n.º 19
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("TableName", "TableType");

            _tableName = Body.GetQueryString("TableName");
            _tableType = EAuxiliaryTableTypeUtils.GetEnumType(Body.GetQueryString("TableType"));

            if (!IsPostBack)
            {
            }
        }
Ejemplo n.º 20
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            var enName = Body.GetQueryString("ENName");

            if (!IsPostBack)
            {
                var pageTitle = !string.IsNullOrEmpty(enName) ? "编辑辅助表" : "添加辅助表";
                BreadCrumbSys(AppManager.Sys.LeftMenu.Auxiliary, pageTitle, AppManager.Sys.Permission.SysAuxiliary);

                ltlPageTitle.Text = pageTitle;

                //cms
                AuxiliaryTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.BackgroundContent, true));

                if (AppManager.IsWcm())
                {
                    //wcm
                    AuxiliaryTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.GovPublicContent, false));
                    AuxiliaryTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.GovInteractContent, false));
                }
                //others
                AuxiliaryTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.VoteContent, false));
                AuxiliaryTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.JobContent, false));
                AuxiliaryTableType.Items.Add(EAuxiliaryTableTypeUtils.GetListItem(EAuxiliaryTableType.UserDefined, false));

                if (!string.IsNullOrEmpty(enName))
                {
                    var info = BaiRongDataProvider.TableCollectionDao.GetAuxiliaryTableInfo(enName);
                    if (info != null)
                    {
                        TableENName.Text    = info.TableEnName;
                        TableENName.Enabled = false;
                        TableCNName.Text    = info.TableCnName;
                        Description.Text    = info.Description;

                        ControlUtils.SelectListItems(AuxiliaryTableType, EAuxiliaryTableTypeUtils.GetValue(info.AuxiliaryTableType));

                        AuxiliaryTableType.Enabled = false;
                    }
                }
            }
        }
Ejemplo n.º 21
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));
            }
        }
Ejemplo n.º 22
0
        public void CreateAllAuxiliaryTableIfNotExists()
        {
            //添加后台内容表
            if (!IsTableExists(EAuxiliaryTableType.BackgroundContent))
            {
                var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.BackgroundContent);
                var tableInfo = new AuxiliaryTableInfo(tableName, "后台内容表", 0, EAuxiliaryTableType.BackgroundContent, false, false, true, string.Empty);
                BaiRongDataProvider.TableCollectionDao.Insert(tableInfo);
                BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName);
            }

            //添加招聘内容表
            if (!IsTableExists(EAuxiliaryTableType.JobContent))
            {
                var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.JobContent);
                var tableInfo = new AuxiliaryTableInfo(tableName, "招聘内容表", 0, EAuxiliaryTableType.JobContent, false, false, true, string.Empty);
                BaiRongDataProvider.TableCollectionDao.Insert(tableInfo);
                BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName);
            }

            //添加投票内容表
            if (!IsTableExists(EAuxiliaryTableType.VoteContent))
            {
                var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.VoteContent);
                var tableInfo = new AuxiliaryTableInfo(tableName, "投票内容表", 0, EAuxiliaryTableType.VoteContent, false, false, true, string.Empty);
                BaiRongDataProvider.TableCollectionDao.Insert(tableInfo);
                BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName);
            }

            //添加信息公开内容表
            if (!IsTableExists(EAuxiliaryTableType.GovPublicContent))
            {
                var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.GovPublicContent);
                var tableInfo = new AuxiliaryTableInfo(tableName, "信息公开内容表", 0, EAuxiliaryTableType.GovPublicContent, false, false, true, string.Empty);
                BaiRongDataProvider.TableCollectionDao.Insert(tableInfo);
                BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName);
            }

            //添加互动交流内容表
            if (!IsTableExists(EAuxiliaryTableType.GovInteractContent))
            {
                var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.GovInteractContent);
                var tableInfo = new AuxiliaryTableInfo(tableName, "互动交流内容表", 0, EAuxiliaryTableType.GovInteractContent, false, false, true, string.Empty);
                BaiRongDataProvider.TableCollectionDao.Insert(tableInfo);
                BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName);
            }
        }
Ejemplo n.º 23
0
        private void LoadDisplayAttributeCheckBoxList()
        {
            var nodeInfo          = NodeManager.GetNodeInfo(PublishmentSystemId, _nodeId);
            var relatedIdentities = RelatedIdentities.GetChannelRelatedIdentities(PublishmentSystemId, _nodeId);
            var modelInfo         = ContentModelManager.GetContentModelInfo(PublishmentSystemInfo, nodeInfo.ContentModelId);
            var tableStyle        = EAuxiliaryTableTypeUtils.GetTableStyle(modelInfo.TableType);
            var styleInfoList     = TableStyleManager.GetTableStyleInfoList(tableStyle, modelInfo.TableName, relatedIdentities);

            styleInfoList = ContentUtility.GetAllTableStyleInfoList(PublishmentSystemInfo, tableStyle, styleInfoList);

            foreach (var styleInfo in styleInfoList)
            {
                var listItem = new ListItem(styleInfo.DisplayName, styleInfo.AttributeName);
                listItem.Selected = styleInfo.IsVisible;
                cblDisplayAttributes.Items.Add(listItem);
            }
        }
Ejemplo n.º 24
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);
        }
Ejemplo n.º 25
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            _tableName      = Body.GetQueryString("tableName");
            _tableType      = EAuxiliaryTableTypeUtils.GetEnumType(Body.GetQueryString("tableType"));
            _tableStyle     = ETableStyleUtils.GetStyleType(_tableType);
            _redirectUrl    = GetRedirectUrl(_tableName, _tableType);
            _attributeNames = TableManager.GetAttributeNameList(_tableStyle, _tableName);

            if (IsPostBack)
            {
                return;
            }

            BreadCrumbSys(AppManager.Sys.LeftMenu.Auxiliary, $"虚拟字段管理({_tableName})", AppManager.Sys.Permission.SysAuxiliary);

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

            var styleInfoList = TableStyleManager.GetTableStyleInfoList(_tableStyle, _tableName, new List <int> {
                0
            });

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

            AddStyle.Attributes.Add("onclick", ModalTableStyleAdd.GetOpenWindowString(0, _tableName, string.Empty, _tableStyle, _redirectUrl));
            AddStyles.Attributes.Add("onclick", ModalTableStylesAdd.GetOpenWindowString(_tableName, _tableStyle, _redirectUrl));
            Import.Attributes.Add("onclick", ModalTableStyleImport.GetOpenWindowString(_tableName, _tableStyle));
            Export.Attributes.Add("onclick", ModalExportMessage.GetOpenWindowStringToSingleTableStyle(_tableStyle, _tableName));
        }
Ejemplo n.º 26
0
        public EAuxiliaryTableType GetTableType(string tableEnName)
        {
            var type = EAuxiliaryTableType.BackgroundContent;

            var parms = new IDataParameter[]
            {
                GetParameter(ParmTableEnname, EDataType.VarChar, 50, tableEnName),
            };

            using (var rdr = ExecuteReader(SqlSelectTableType, parms))
            {
                if (rdr.Read())
                {
                    type = EAuxiliaryTableTypeUtils.GetEnumType(GetString(rdr, 0));
                }
                rdr.Close();
            }

            return(type);
        }
Ejemplo n.º 27
0
        public static List <BackgroundContentInfo> GetContentsByCsvFile(string filePath, PublishmentSystemInfo publishmentSystemInfo,
                                                                        NodeInfo nodeInfo)
        {
            var contentInfoList = new List <BackgroundContentInfo>();

            List <string>         head;
            List <List <string> > rows;

            CsvUtils.Import(filePath, out head, out rows);

            if (rows.Count > 0)
            {
                var relatedidentityes =
                    RelatedIdentities.GetChannelRelatedIdentities(
                        publishmentSystemInfo.PublishmentSystemId, nodeInfo.NodeId);
                var modelInfo = ContentModelManager.GetContentModelInfo(publishmentSystemInfo,
                                                                        nodeInfo.ContentModelId);
                var tableStyle = EAuxiliaryTableTypeUtils.GetTableStyle(modelInfo.TableType);
                // ArrayList tableStyleInfoArrayList = TableStyleManager.GetTableStyleInfoArrayList(ETableStyle.BackgroundContent, publishmentSystemInfo.AuxiliaryTableForContent, relatedidentityes);

                var tableStyleInfoList = TableStyleManager.GetTableStyleInfoList(tableStyle,
                                                                                 modelInfo.TableName, relatedidentityes);
                tableStyleInfoList = ContentUtility.GetAllTableStyleInfoList(publishmentSystemInfo,
                                                                             tableStyle, tableStyleInfoList);
                var nameValueCollection = new NameValueCollection();

                foreach (var styleInfo in tableStyleInfoList)
                {
                    nameValueCollection[styleInfo.DisplayName] = styleInfo.AttributeName.ToLower();
                }

                var attributeNames = new List <string>();
                foreach (var columnName in head)
                {
                    if (!string.IsNullOrEmpty(nameValueCollection[columnName]))
                    {
                        attributeNames.Add(nameValueCollection[columnName]);
                    }
                    else
                    {
                        attributeNames.Add(columnName);
                    }
                }

                foreach (var row in rows)
                {
                    var contentInfo = new BackgroundContentInfo();
                    if (row.Count != attributeNames.Count)
                    {
                        continue;
                    }

                    for (var i = 0; i < attributeNames.Count; i++)
                    {
                        var attributeName = attributeNames[i];
                        if (!string.IsNullOrEmpty(attributeName))
                        {
                            var value = row[i];
                            contentInfo.SetExtendedAttribute(attributeName, value);
                        }
                    }

                    if (!string.IsNullOrEmpty(contentInfo.Title))
                    {
                        contentInfo.PublishmentSystemId = publishmentSystemInfo.PublishmentSystemId;
                        contentInfo.NodeId       = nodeInfo.NodeId;
                        contentInfo.LastEditDate = DateTime.Now;

                        contentInfoList.Add(contentInfo);
                    }
                }
            }

            return(contentInfoList);
        }
Ejemplo n.º 28
0
 public string GetAuxiliatyTableType(string auxiliaryTableType)
 {
     return(EAuxiliaryTableTypeUtils.GetText(EAuxiliaryTableTypeUtils.GetEnumType(auxiliaryTableType)));
 }
Ejemplo n.º 29
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            var attributeNameList = TranslateUtils.StringCollectionToStringList(Request.Form["attributeName"]);
            var dataTypeList      = TranslateUtils.StringCollectionToStringList(Request.Form["dataType"]);
            var dataLengthList    = TranslateUtils.StringCollectionToStringList(Request.Form["dataLength"]);

            for (var i = 0; i < attributeNameList.Count; i++)
            {
                if (dataTypeList.Count < attributeNameList.Count)
                {
                    dataTypeList.Add(string.Empty);
                }
                if (dataLengthList.Count < attributeNameList.Count)
                {
                    dataLengthList.Add(string.Empty);
                }
            }

            var tableStyle             = EAuxiliaryTableTypeUtils.GetTableStyle(_tableType);
            var attributeNameArrayList = TableManager.GetAttributeNameList(tableStyle, _tableName, true);

            attributeNameArrayList.AddRange(TableManager.GetHiddenAttributeNameList(tableStyle));

            for (var i = 0; i < attributeNameList.Count; i++)
            {
                var attributeName = attributeNameList[i];
                var dataType      = dataTypeList[i];
                var dataLength    = dataLengthList[i];

                if (attributeNameArrayList.IndexOf(attributeName.Trim().ToLower()) != -1)
                {
                    FailMessage("字段添加失败,字段名已存在!");
                }
                else if (!SqlUtils.IsAttributeNameCompliant(attributeName))
                {
                    FailMessage("字段名不符合系统要求!");
                }
                else
                {
                    var info = new TableMetadataInfo
                    {
                        AuxiliaryTableEnName = _tableName,
                        AttributeName        = attributeName,
                        DataType             = EDataTypeUtils.GetEnumType(dataType)
                    };

                    var hashtable = new Hashtable
                    {
                        [EDataType.DateTime] = new[] { "8", "false" },
                        [EDataType.Integer]  = new[] { "4", "false" },
                        [EDataType.NChar]    = new[] { "50", "true" },
                        [EDataType.NText]    = new[] { "16", "false" },
                        [EDataType.NVarChar] = new[] { "255", "true" }
                    };

                    var strArr = (string[])hashtable[EDataTypeUtils.GetEnumType(dataType)];
                    if (strArr[1].Equals("false"))
                    {
                        dataLength = strArr[0];
                    }

                    if (string.IsNullOrEmpty(dataLength))
                    {
                        dataLength = strArr[0];
                    }

                    info.DataLength = int.Parse(dataLength);
                    if (info.DataType == EDataType.NVarChar || info.DataType == EDataType.NChar)
                    {
                        var maxLength = SqlUtils.GetMaxLengthForNVarChar();
                        if (info.DataLength <= 0 || info.DataLength > maxLength)
                        {
                            FailMessage($"字段修改失败,数据长度的值必须位于 1 和 {maxLength} 之间");
                            return;
                        }
                    }
                    info.IsSystem = false;

                    try
                    {
                        BaiRongDataProvider.TableMetadataDao.Insert(info);

                        Body.AddAdminLog("添加辅助表字段",
                                         $"辅助表:{_tableName},字段名:{info.AttributeName}");

                        isChanged = true;
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, ex.Message);
                    }
                }
            }

            if (isChanged)
            {
                PageUtils.CloseModalPage(Page);
            }
        }
Ejemplo n.º 30
0
        public void ImportTableStyles(int publishmentSystemId)
        {
            if (!DirectoryUtils.IsDirectoryExists(_directoryPath))
            {
                return;
            }

            var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId);

            var importObject        = new ImportObject(publishmentSystemId);
            var tableNameCollection = importObject.GetTableNameCache();

            var styleDirectoryPaths = DirectoryUtils.GetDirectoryPaths(_directoryPath);

            foreach (var styleDirectoryPath in styleDirectoryPaths)
            {
                var tableName = PathUtils.GetDirectoryName(styleDirectoryPath);
                if (!string.IsNullOrEmpty(tableNameCollection?[tableName]))
                {
                    tableName = tableNameCollection[tableName];
                }

                ETableStyle tableStyle;

                if (BaiRongDataProvider.TableCollectionDao.IsTableExists(tableName))
                {
                    var tableType = BaiRongDataProvider.TableCollectionDao.GetTableType(tableName);
                    tableStyle = EAuxiliaryTableTypeUtils.GetTableStyle(tableType);
                }
                else
                {
                    tableStyle = PublishmentSystemManager.GetTableStyle(publishmentSystemInfo, tableName);
                }

                var attributeNamePaths = DirectoryUtils.GetDirectoryPaths(styleDirectoryPath);
                foreach (var attributeNamePath in attributeNamePaths)
                {
                    var attributeName = PathUtils.GetDirectoryName(attributeNamePath);
                    var filePaths     = DirectoryUtils.GetFilePaths(attributeNamePath);
                    foreach (var filePath in filePaths)
                    {
                        var feed = AtomFeed.Load(FileUtils.GetFileStreamReadOnly(filePath));

                        var taxis           = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(feed.AdditionalElements, "Taxis"), 0);
                        var displayName     = AtomUtility.GetDcElementContent(feed.AdditionalElements, "DisplayName");
                        var helpText        = AtomUtility.GetDcElementContent(feed.AdditionalElements, "HelpText");
                        var isVisible       = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(feed.AdditionalElements, "IsVisible"));
                        var isVisibleInList = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(feed.AdditionalElements, "IsVisibleInList"));
                        var isSingleLine    = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(feed.AdditionalElements, "IsSingleLine"));
                        var inputType       = EInputTypeUtils.GetEnumType(AtomUtility.GetDcElementContent(feed.AdditionalElements, "InputType"));
                        var defaultValue    = AtomUtility.GetDcElementContent(feed.AdditionalElements, "DefaultValue");
                        var isHorizontal    = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(feed.AdditionalElements, "IsHorizontal"));
                        var extendValues    = AtomUtility.GetDcElementContent(feed.AdditionalElements, "ExtendValues");

                        int relatedIdentity;
                        if (tableStyle == ETableStyle.Site)
                        {
                            relatedIdentity = publishmentSystemId;
                        }
                        else
                        {
                            var orderString = AtomUtility.GetDcElementContent(feed.AdditionalElements, "OrderString");

                            if (!string.IsNullOrEmpty(orderString))
                            {
                                relatedIdentity = DataProvider.NodeDao.GetNodeId(publishmentSystemId, orderString);
                            }
                            else
                            {
                                relatedIdentity = publishmentSystemId;
                            }
                        }

                        if (relatedIdentity <= 0 ||
                            TableStyleManager.IsExists(relatedIdentity, tableName, attributeName))
                        {
                            continue;
                        }

                        var styleInfo = new TableStyleInfo(0, relatedIdentity, tableName, attributeName, taxis, displayName, helpText, isVisible, isVisibleInList, isSingleLine, EInputTypeUtils.GetValue(inputType), defaultValue, isHorizontal, extendValues);

                        var styleItems = new List <TableStyleItemInfo>();
                        foreach (AtomEntry entry in feed.Entries)
                        {
                            var itemTitle  = AtomUtility.GetDcElementContent(entry.AdditionalElements, "ItemTitle");
                            var itemValue  = AtomUtility.GetDcElementContent(entry.AdditionalElements, "ItemValue");
                            var isSelected = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "IsSelected"));

                            styleItems.Add(new TableStyleItemInfo(0, 0, itemTitle, itemValue, isSelected));
                        }

                        if (styleItems.Count > 0)
                        {
                            styleInfo.StyleItems = styleItems;
                        }

                        TableStyleManager.InsertWithTaxis(styleInfo, tableStyle);
                    }
                }
            }
        }