public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } _tableName = DataProvider.SiteDao.TableName; _itemId = AuthRequest.GetQueryInt("itemID"); _relatedIdentities = TableStyleManager.GetRelatedIdentities(SiteId); _attributeNames = TableColumnManager.GetTableColumnNameList(_tableName); _returnUrl = StringUtils.ValueFromUrl(AuthRequest.GetQueryString("ReturnUrl")); if (IsPostBack) { return; } VerifySitePermissions(ConfigManager.WebSitePermissions.Configration); //删除样式 if (AuthRequest.IsQueryExists("DeleteStyle")) { var attributeName = AuthRequest.GetQueryString("AttributeName"); if (TableStyleManager.IsExists(SiteId, _tableName, attributeName)) { try { DataProvider.TableStyleDao.Delete(SiteId, _tableName, attributeName); AuthRequest.AddSiteLog(SiteId, "删除数据表单样式", $"表单:{_tableName},字段:{attributeName}"); SuccessDeleteMessage(); } catch (Exception ex) { FailDeleteMessage(ex); } } } if (!string.IsNullOrEmpty(_returnUrl)) { BtnReturn.Attributes.Add("onclick", $"location.href='{_returnUrl}';return false;"); } else { BtnReturn.Visible = false; } RptContents.DataSource = TableStyleManager.GetSiteStyleInfoList(SiteId); RptContents.ItemDataBound += RptContents_ItemDataBound; RptContents.DataBind(); var redirectUrl = GetRedirectUrl(SiteId, _itemId, _returnUrl); BtnAddStyle.Attributes.Add("onclick", ModalTableStyleAdd.GetOpenWindowString(SiteId, 0, _relatedIdentities, _tableName, string.Empty, redirectUrl)); BtnAddStyles.Attributes.Add("onclick", ModalTableStylesAdd.GetOpenWindowString(SiteId, _relatedIdentities, _tableName, redirectUrl)); BtnImport.Attributes.Add("onclick", ModalTableStyleImport.GetOpenWindowString(_tableName, SiteId, SiteId)); BtnExport.Attributes.Add("onclick", ModalExportMessage.GetOpenWindowStringToSingleTableStyle(_tableName, SiteId, SiteId)); }
public void CreateDbTableOfArchive(string tableName) { var createTableSqlString = DataProvider.ContentDao.GetCreateTableCollectionInfoSqlString(tableName); var archiveTableName = TableMetadataManager.GetTableNameOfArchive(tableName); createTableSqlString = createTableSqlString.Replace(tableName, archiveTableName); using (var conn = GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { var reader = new System.IO.StringReader(createTableSqlString); string sql; while (null != (sql = SqlUtils.ReadNextStatementFromStream(reader))) { ExecuteNonQuery(trans, sql.Trim()); } TableColumnManager.ClearCache(); trans.Commit(); } catch { trans.Rollback(); throw; } } } }
public void DeleteCollectionTableInfoAndDbTable(string tableName) { var isDbExists = DataProvider.DatabaseDao.IsTableExists(tableName); var parms = new IDataParameter[] { GetParameter(ParmTableName, DataType.VarChar, 50, tableName), }; using (var conn = GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { if (isDbExists) { ExecuteNonQuery(trans, SqlUtils.GetDropTableSqlString(tableName)); TableColumnManager.ClearCache(); } ExecuteNonQuery(trans, SqlDeleteTable, parms); DataProvider.TableMetadataDao.Delete(tableName, trans); trans.Commit(); } catch { trans.Rollback(); throw; } } } }
public IHttpActionResult RemoveCache(string tableName) { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Site)) { return(Unauthorized()); } TableColumnManager.ClearCache(); var columns = TableColumnManager.GetTableColumnInfoList(tableName, ContentAttribute.MetadataAttributes.Value); return(Ok(new { Value = columns, Count = DataProvider.DatabaseDao.GetCount(tableName) })); } catch (Exception ex) { return(InternalServerError(ex)); } }
private void RptContents_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) { return; } var styleInfo = (TableStyleInfo)e.Item.DataItem; var ltlAttributeName = (Literal)e.Item.FindControl("ltlAttributeName"); var ltlDisplayName = (Literal)e.Item.FindControl("ltlDisplayName"); var ltlInputType = (Literal)e.Item.FindControl("ltlInputType"); var ltlFieldType = (Literal)e.Item.FindControl("ltlFieldType"); var ltlValidate = (Literal)e.Item.FindControl("ltlValidate"); var ltlTaxis = (Literal)e.Item.FindControl("ltlTaxis"); var ltlEditStyle = (Literal)e.Item.FindControl("ltlEditStyle"); var ltlEditValidate = (Literal)e.Item.FindControl("ltlEditValidate"); ltlAttributeName.Text = styleInfo.AttributeName; ltlDisplayName.Text = styleInfo.DisplayName; ltlInputType.Text = InputTypeUtils.GetText(styleInfo.InputType); var columnInfo = TableColumnManager.GetTableColumnInfo(_tableName, styleInfo.AttributeName); ltlFieldType.Text = columnInfo != null ? $"真实 {DataTypeUtils.GetText(columnInfo.DataType)}" : "虚拟字段"; ltlValidate.Text = TableStyleManager.GetValidateInfo(styleInfo); if (!StringUtils.EqualsIgnoreCase(styleInfo.AttributeName, ContentAttribute.Title)) { var showPopWinString = ModalTableStyleAdd.GetOpenWindowString(SiteId, styleInfo.Id, _relatedIdentities, _tableName, styleInfo.AttributeName, _redirectUrl); ltlEditStyle.Text = $@"<a href=""javascript:;"" onclick=""{showPopWinString}"">设置</a>"; showPopWinString = ModalTableStyleValidateAdd.GetOpenWindowString(SiteId, styleInfo.Id, _relatedIdentities, _tableName, styleInfo.AttributeName, _redirectUrl); ltlEditValidate.Text = $@"<a href=""javascript:;"" onclick=""{showPopWinString}"">设置</a>"; } ltlTaxis.Text = styleInfo.Taxis.ToString(); if (styleInfo.RelatedIdentity != _channelInfo.Id) { return; } var urlStyle = PageUtils.GetCmsUrl(SiteId, nameof(PageTableStyleContent), new NameValueCollection { { "channelId", _channelInfo.Id.ToString() }, { "DeleteStyle", true.ToString() }, { "TableName", _tableName }, { "AttributeName", styleInfo.AttributeName } }); ltlEditStyle.Text += $@" <a href=""{urlStyle}"" onClick=""javascript:return confirm('此操作将删除对应显示样式,确认吗?');"">删除</a>"; }
private void RptContents_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) { return; } var styleInfo = (TableStyleInfo)e.Item.DataItem; var ltlAttributeName = (Literal)e.Item.FindControl("ltlAttributeName"); var ltlDisplayName = (Literal)e.Item.FindControl("ltlDisplayName"); var ltlInputType = (Literal)e.Item.FindControl("ltlInputType"); var ltlFieldType = (Literal)e.Item.FindControl("ltlFieldType"); var ltlValidate = (Literal)e.Item.FindControl("ltlValidate"); var ltlTaxis = (Literal)e.Item.FindControl("ltlTaxis"); var ltlEditStyle = (Literal)e.Item.FindControl("ltlEditStyle"); var ltlEditValidate = (Literal)e.Item.FindControl("ltlEditValidate"); ltlAttributeName.Text = styleInfo.AttributeName; ltlDisplayName.Text = styleInfo.DisplayName; ltlInputType.Text = InputTypeUtils.GetText(styleInfo.InputType); var columnInfo = TableColumnManager.GetTableColumnInfo(_tableName, styleInfo.AttributeName); ltlFieldType.Text = columnInfo != null ? $"真实 {DataTypeUtils.GetText(columnInfo.DataType)}" : "虚拟字段"; ltlValidate.Text = TableStyleManager.GetValidateInfo(styleInfo); var showPopWinString = ModalTableStyleAdd.GetOpenWindowString(0, styleInfo.Id, new List <int> { 0 }, _tableName, styleInfo.AttributeName, _redirectUrl); var editText = styleInfo.Id != 0 ? "修改" : "添加"; ltlEditStyle.Text = $@"<a href=""javascript:;"" onclick=""{showPopWinString}"">{editText}</a>"; showPopWinString = ModalTableStyleValidateAdd.GetOpenWindowString(0, styleInfo.Id, new List <int> { 0 }, _tableName, styleInfo.AttributeName, _redirectUrl); ltlEditValidate.Text = $@"<a href=""javascript:;"" onclick=""{showPopWinString}"">设置</a>"; ltlTaxis.Text = styleInfo.Taxis.ToString(); if (styleInfo.Id == 0) { return; } ltlEditStyle.Text += $@" <a href=""{PageUtils.GetSettingsUrl(nameof(PageSiteTableStyle), new NameValueCollection { {"tableName", _tableName}, {"DeleteStyle", true.ToString()}, {"AttributeName", styleInfo.AttributeName} })}"" onClick=""javascript:return confirm('此操作将删除对应显示样式,确认吗?');"">删除</a>"; }
public void CreateDbTable(string tableName) { var isDbExists = DataProvider.DatabaseDao.IsTableExists(tableName); if (isDbExists) { return; } var createTableSqlString = DataProvider.ContentDao.GetCreateTableCollectionInfoSqlString(tableName); var updateParms = new IDataParameter[] { GetParameter("@IsCreatedInDB", DataType.VarChar, 18, true.ToString()), GetParameter("@IsChangedAfterCreatedInDB", DataType.VarChar, 18, false.ToString()), GetParameter("@TableName", DataType.VarChar, 50, tableName) }; using (var conn = GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { var reader = new System.IO.StringReader(createTableSqlString); string sql; while (null != (sql = SqlUtils.ReadNextStatementFromStream(reader))) { ExecuteNonQuery(trans, sql.Trim()); } TableColumnManager.ClearCache(); ExecuteNonQuery(trans, "UPDATE siteserver_Table SET IsCreatedInDB = @IsCreatedInDB, IsChangedAfterCreatedInDB = @IsChangedAfterCreatedInDB WHERE TableName = @TableName", updateParms); trans.Commit(); } catch { trans.Rollback(); throw; } } } }
public void DeleteDbTable(string tableName) { if (!DataProvider.DatabaseDao.IsTableExists(tableName)) { return; } var dropTableSqlString = SqlUtils.GetDropTableSqlString(tableName); var updateParms = new IDataParameter[] { GetParameter("@IsCreatedInDB", DataType.VarChar, 18, false.ToString()), GetParameter("@IsChangedAfterCreatedInDB", DataType.VarChar, 18, false.ToString()), GetParameter("@TableName", DataType.VarChar, 50, tableName) }; using (var conn = GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { ExecuteNonQuery(trans, dropTableSqlString); TableColumnManager.ClearCache(); ExecuteNonQuery(trans, "UPDATE siteserver_Table SET IsCreatedInDB = @IsCreatedInDB, IsChangedAfterCreatedInDB = @IsChangedAfterCreatedInDB WHERE TableName = @TableName", updateParms); trans.Commit(); } catch { trans.Rollback(); throw; } } } }
public void SyncDbTable(string tableName) { var metadataInfoList = TableMetadataManager.GetTableMetadataInfoList(tableName); var columnInfolist = TableColumnManager.GetTableColumnInfoListLowercase(tableName, ContentAttribute.AllAttributesLowercase); var sqlList = new List <string>(); //添加新增/修改字段SQL语句 foreach (var metadataInfo in metadataInfoList) { var columnExists = false; foreach (var columnInfo in columnInfolist) { if (!StringUtils.EqualsIgnoreCase(columnInfo.ColumnName, metadataInfo.AttributeName)) { continue; } columnExists = true; if (metadataInfo.DataType != columnInfo.DataType || metadataInfo.DataType == DataType.VarChar && metadataInfo.DataLength != columnInfo.Length) { var dropColumnsSqlList = DataProvider.DatabaseDao.GetDropColumnsSqlString(tableName, metadataInfo.AttributeName); foreach (var sql in dropColumnsSqlList) { sqlList.Add(sql); } var addColumnsSqlList1 = DataProvider.TableMetadataDao.GetAddColumnsSqlString(tableName, metadataInfo); foreach (var sql in addColumnsSqlList1) { sqlList.Add(sql); } } break; } if (columnExists) { continue; } var addColumnsSqlList2 = DataProvider.TableMetadataDao.GetAddColumnsSqlString(tableName, metadataInfo); foreach (var sql in addColumnsSqlList2) { sqlList.Add(sql); } } //添加删除字段SQL语句 foreach (var columnInfo in columnInfolist) { var isNeedDelete = true; foreach (var metadataInfo in metadataInfoList) { if (StringUtils.EqualsIgnoreCase(columnInfo.ColumnName, metadataInfo.AttributeName)) { isNeedDelete = false; break; } } if (isNeedDelete) { var dropColumnsSqlList = DataProvider.DatabaseDao.GetDropColumnsSqlString(tableName, columnInfo.ColumnName); foreach (var sql in dropColumnsSqlList) { sqlList.Add(sql); } } } if (sqlList.Count <= 0) { return; } DataProvider.DatabaseDao.ExecuteSql(sqlList); DataProvider.TableDao.UpdateIsChangedAfterCreatedInDbToFalse(tableName); TableColumnManager.ClearCache(); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("siteId"); _channelId = AuthRequest.IsQueryExists("channelId") ? AuthRequest.GetQueryInt("channelId") : SiteId; _isCheckOnly = AuthRequest.GetQueryBool("isCheckOnly"); _isTrashOnly = AuthRequest.GetQueryBool("isTrashOnly"); _isWritingOnly = AuthRequest.GetQueryBool("isWritingOnly"); _isAdminOnly = AuthRequest.GetQueryBool("isAdminOnly"); _channelInfo = ChannelManager.GetChannelInfo(SiteId, _channelId); var tableName = ChannelManager.GetTableName(SiteInfo, _channelInfo); _styleInfoList = TableStyleManager.GetContentStyleInfoList(SiteInfo, _channelInfo); _attributesOfDisplay = TranslateUtils.StringCollectionToStringCollection(ChannelManager.GetContentAttributesOfDisplay(SiteId, _channelId)); _allStyleInfoList = ContentUtility.GetAllTableStyleInfoList(_styleInfoList); _pluginIds = PluginContentManager.GetContentPluginIds(_channelInfo); _pluginColumns = PluginContentManager.GetContentColumns(_pluginIds); _isEdit = TextUtility.IsEdit(SiteInfo, _channelId, AuthRequest.AdminPermissionsImpl); var state = AuthRequest.IsQueryExists("state") ? AuthRequest.GetQueryInt("state") : CheckManager.LevelInt.All; var searchType = AuthRequest.IsQueryExists("searchType") ? AuthRequest.GetQueryString("searchType") : ContentAttribute.Title; var dateFrom = AuthRequest.IsQueryExists("dateFrom") ? AuthRequest.GetQueryString("dateFrom") : string.Empty; var dateTo = AuthRequest.IsQueryExists("dateTo") ? AuthRequest.GetQueryString("dateTo") : string.Empty; var keyword = AuthRequest.IsQueryExists("keyword") ? AuthRequest.GetQueryString("keyword") : string.Empty; var checkedLevel = 5; var isChecked = true; foreach (var owningChannelId in AuthRequest.AdminPermissionsImpl.ChannelIdList) { int checkedLevelByChannelId; var isCheckedByChannelId = CheckManager.GetUserCheckLevel(AuthRequest.AdminPermissionsImpl, SiteInfo, owningChannelId, out checkedLevelByChannelId); if (checkedLevel > checkedLevelByChannelId) { checkedLevel = checkedLevelByChannelId; } if (!isCheckedByChannelId) { isChecked = false; } } RptContents.ItemDataBound += RptContents_ItemDataBound; var allAttributeNameList = TableColumnManager.GetTableColumnNameList(tableName, DataType.Text); var adminId = _isAdminOnly ? AuthRequest.AdminId : AuthRequest.AdminPermissionsImpl.GetAdminId(SiteInfo.Id, _channelInfo.Id); var whereString = DataProvider.ContentDao.GetPagerWhereSqlString(SiteInfo, _channelInfo, searchType, keyword, dateFrom, dateTo, state, _isCheckOnly, false, _isTrashOnly, _isWritingOnly, adminId, AuthRequest.AdminPermissionsImpl, allAttributeNameList); PgContents.Param = new PagerParam { ControlToPaginate = RptContents, TableName = tableName, PageSize = SiteInfo.Additional.PageSize, Page = AuthRequest.GetQueryInt(Pager.QueryNamePage, 1), OrderSqlString = ETaxisTypeUtils.GetContentOrderByString(ETaxisType.OrderByIdDesc), ReturnColumnNames = TranslateUtils.ObjectCollectionToString(allAttributeNameList), WhereSqlString = whereString, TotalCount = DataProvider.DatabaseDao.GetPageTotalCount(tableName, whereString) }; if (IsPostBack) { return; } if (_isTrashOnly) { if (AuthRequest.IsQueryExists("IsDeleteAll")) { //DataProvider.ContentDao.DeleteContentsByTrash(SiteId, _channelId, tableName); var list = DataProvider.ContentDao.GetContentIdListByTrash(SiteId, tableName); foreach (var(contentChannelId, contentId) in list) { ContentUtility.Delete(tableName, SiteInfo, contentChannelId, contentId); } AuthRequest.AddSiteLog(SiteId, "清空回收站"); SuccessMessage("成功清空回收站!"); } else if (AuthRequest.IsQueryExists("IsRestore")) { var idsDictionary = ContentUtility.GetIDsDictionary(Request.QueryString); foreach (var channelId in idsDictionary.Keys) { var contentIdList = idsDictionary[channelId]; DataProvider.ContentDao.UpdateTrashContents(SiteId, channelId, ChannelManager.GetTableName(SiteInfo, channelId), contentIdList); } AuthRequest.AddSiteLog(SiteId, "从回收站还原内容"); SuccessMessage("成功还原内容!"); } else if (AuthRequest.IsQueryExists("IsRestoreAll")) { DataProvider.ContentDao.UpdateRestoreContentsByTrash(SiteId, _channelId, tableName); AuthRequest.AddSiteLog(SiteId, "从回收站还原所有内容"); SuccessMessage("成功还原所有内容!"); } } ChannelManager.AddListItems(DdlChannelId.Items, SiteInfo, true, true, AuthRequest.AdminPermissionsImpl); if (_isCheckOnly) { CheckManager.LoadContentLevelToCheck(DdlState, SiteInfo, isChecked, checkedLevel); } else { CheckManager.LoadContentLevelToList(DdlState, SiteInfo, _isCheckOnly, isChecked, checkedLevel); } ControlUtils.SelectSingleItem(DdlState, state.ToString()); foreach (var styleInfo in _allStyleInfoList) { if (styleInfo.InputType == InputType.TextEditor) { continue; } var listitem = new ListItem(styleInfo.DisplayName, styleInfo.AttributeName); DdlSearchType.Items.Add(listitem); } //ETriStateUtils.AddListItems(DdlState, "全部", "已审核", "待审核"); if (SiteId != _channelId) { ControlUtils.SelectSingleItem(DdlChannelId, _channelId.ToString()); } //ControlUtils.SelectSingleItem(DdlState, AuthRequest.GetQueryString("State")); ControlUtils.SelectSingleItem(DdlSearchType, searchType); TbKeyword.Text = keyword; TbDateFrom.Text = dateFrom; TbDateTo.Text = dateTo; PgContents.DataBind(); LtlColumnsHead.Text += TextUtility.GetColumnsHeadHtml(_styleInfoList, _pluginColumns, _attributesOfDisplay); BtnSelect.Attributes.Add("onclick", ModalSelectColumns.GetOpenWindowString(SiteId, _channelId)); if (_isTrashOnly) { LtlColumnsHead.Text += @"<th class=""text-center text-nowrap"" width=""150"">删除时间</th>"; BtnAddToGroup.Visible = BtnTranslate.Visible = BtnCheck.Visible = false; PhTrash.Visible = true; if (!HasChannelPermissions(_channelId, ConfigManager.ChannelPermissions.ContentDelete)) { BtnDelete.Visible = false; BtnDeleteAll.Visible = false; } else { BtnDelete.Attributes.Add("onclick", PageContentDelete.GetRedirectClickStringForMultiChannels(SiteId, true, PageUrl)); BtnDeleteAll.Attributes.Add("onclick", PageUtils.GetRedirectStringWithConfirm(PageUtils.AddQueryString(PageUrl, "IsDeleteAll", "True"), "确实要清空回收站吗?")); } BtnRestore.Attributes.Add("onclick", PageUtils.GetRedirectStringWithCheckBoxValue(PageUtils.AddQueryString(PageUrl, "IsRestore", "True"), "IDsCollection", "IDsCollection", "请选择需要还原的内容!")); BtnRestoreAll.Attributes.Add("onclick", PageUtils.GetRedirectStringWithConfirm(PageUtils.AddQueryString(PageUrl, "IsRestoreAll", "True"), "确实要还原所有内容吗?")); } else { LtlColumnsHead.Text += @"<th class=""text-center text-nowrap"" width=""100"">操作</th>"; BtnAddToGroup.Attributes.Add("onclick", ModalAddToGroup.GetOpenWindowStringToContentForMultiChannels(SiteId)); if (HasChannelPermissions(SiteId, ConfigManager.ChannelPermissions.ContentCheck)) { BtnCheck.Attributes.Add("onclick", ModalContentCheck.GetOpenWindowStringForMultiChannels(SiteId, PageUrl)); if (_isCheckOnly) { BtnCheck.CssClass = "btn m-r-5 btn-success"; } } else { PhCheck.Visible = false; } if (!HasChannelPermissions(_channelId, ConfigManager.ChannelPermissions.ContentTranslate)) { BtnTranslate.Visible = false; } else { BtnTranslate.Attributes.Add("onclick", PageContentTranslate.GetRedirectClickStringForMultiChannels(SiteId, PageUrl)); } if (!HasChannelPermissions(_channelId, ConfigManager.ChannelPermissions.ContentDelete)) { BtnDelete.Visible = false; } else { BtnDelete.Attributes.Add("onclick", PageContentDelete.GetRedirectClickStringForMultiChannels(SiteId, false, PageUrl)); } } }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("siteId", "channelId"); var channelId = AuthRequest.GetQueryInt("channelId"); _channelInfo = ChannelManager.GetChannelInfo(SiteId, channelId); _tableName = ChannelManager.GetTableName(SiteInfo, _channelInfo); _styleInfoList = TableStyleManager.GetContentStyleInfoList(SiteInfo, _channelInfo); _attributesOfDisplay = TranslateUtils.StringCollectionToStringCollection(ChannelManager.GetContentAttributesOfDisplay(SiteId, channelId)); _allStyleInfoList = ContentUtility.GetAllTableStyleInfoList(_styleInfoList); _pluginIds = PluginContentManager.GetContentPluginIds(_channelInfo); _pluginColumns = PluginContentManager.GetContentColumns(_pluginIds); _isEdit = TextUtility.IsEdit(SiteInfo, channelId, AuthRequest.AdminPermissionsImpl); if (_channelInfo.Additional.IsPreviewContentsExists) { new Action(() => { DataProvider.ContentDao.DeletePreviewContents(SiteId, _tableName, _channelInfo); }).BeginInvoke(null, null); } if (!HasChannelPermissions(channelId, ConfigManager.ChannelPermissions.ContentView, ConfigManager.ChannelPermissions.ContentAdd, ConfigManager.ChannelPermissions.ContentEdit, ConfigManager.ChannelPermissions.ContentDelete, ConfigManager.ChannelPermissions.ContentTranslate)) { if (!AuthRequest.IsAdminLoggin) { PageUtils.RedirectToLoginPage(); return; } PageUtils.RedirectToErrorPage("您无此栏目的操作权限!"); return; } RptContents.ItemDataBound += RptContents_ItemDataBound; var allAttributeNameList = TableColumnManager.GetTableColumnNameList(_tableName, DataType.Text); var pagerParam = new PagerParam { ControlToPaginate = RptContents, TableName = _tableName, PageSize = SiteInfo.Additional.PageSize, Page = AuthRequest.GetQueryInt(Pager.QueryNamePage, 1), OrderSqlString = DataProvider.ContentDao.GetOrderString(_channelInfo, string.Empty), ReturnColumnNames = TranslateUtils.ObjectCollectionToString(allAttributeNameList) }; var administratorName = AuthRequest.AdminPermissionsImpl.IsViewContentOnlySelf(SiteId, channelId) ? AuthRequest.AdminName : string.Empty; if (AuthRequest.IsQueryExists("searchType")) { pagerParam.WhereSqlString = DataProvider.ContentDao.GetPagerWhereSqlString(SiteInfo, _channelInfo, AuthRequest.GetQueryString("searchType"), AuthRequest.GetQueryString("keyword"), AuthRequest.GetQueryString("dateFrom"), string.Empty, CheckManager.LevelInt.All, false, true, false, false, false, AuthRequest.AdminPermissionsImpl, allAttributeNameList); pagerParam.TotalCount = DataProvider.DatabaseDao.GetPageTotalCount(_tableName, pagerParam.WhereSqlString); } else { pagerParam.WhereSqlString = DataProvider.ContentDao.GetPagerWhereSqlString(channelId, ETriState.All, administratorName); var count = ContentManager.GetCount(SiteInfo, _channelInfo); pagerParam.TotalCount = count; } PgContents.Param = pagerParam; if (IsPostBack) { return; } PgContents.DataBind(); var btnHtmls = WebUtils.GetContentCommands(AuthRequest.AdminPermissionsImpl, SiteInfo, _channelInfo, PageUrl); var btnDropDownsHtml = WebUtils.GetContentMoreCommands(AuthRequest.AdminPermissionsImpl, SiteInfo, _channelInfo, PageUrl); LtlButtonsHead.Text = GetButtonsHtml(true, btnHtmls, btnDropDownsHtml); if (pagerParam.TotalCount > 10) { LtlButtonsFoot.Text = GetButtonsHtml(false, btnHtmls, btnDropDownsHtml); } foreach (var styleInfo in _allStyleInfoList) { if (styleInfo.InputType == InputType.TextEditor) { continue; } var listitem = new ListItem(styleInfo.DisplayName, styleInfo.AttributeName); DdlSearchType.Items.Add(listitem); } if (AuthRequest.IsQueryExists("searchType")) { TbDateFrom.Text = AuthRequest.GetQueryString("dateFrom"); ControlUtils.SelectSingleItem(DdlSearchType, AuthRequest.GetQueryString("searchType")); TbKeyword.Text = AuthRequest.GetQueryString("keyword"); if (!string.IsNullOrEmpty(AuthRequest.GetQueryString("searchType")) || !string.IsNullOrEmpty(TbDateFrom.Text) || !string.IsNullOrEmpty(TbKeyword.Text)) { LtlButtonsHead.Text += @" <script> $(document).ready(function() { $('#contentSearch').show(); }); </script> "; } } else { ControlUtils.SelectSingleItem(DdlSearchType, ContentAttribute.Title); } LtlColumnsHead.Text = TextUtility.GetColumnsHeadHtml(_styleInfoList, _pluginColumns, _attributesOfDisplay); }
private bool InsertTableStyleInfo(string tableName, List <int> relatedIdentities, TableStyleInfo body, bool isRapid, List <string> rapidValues, out string errorMessage) { errorMessage = string.Empty; var relatedIdentity = relatedIdentities[0]; if (string.IsNullOrEmpty(body.AttributeName)) { errorMessage = "操作失败,字段名不能为空!"; return(false); } if (TableStyleManager.IsExists(relatedIdentity, tableName, body.AttributeName)) { errorMessage = $@"显示样式添加失败:字段名""{body.AttributeName}""已存在"; return(false); } var styleInfo = TableColumnManager.IsAttributeNameExists(tableName, body.AttributeName) ? TableStyleManager.GetTableStyleInfo(tableName, body.AttributeName, relatedIdentities) : new TableStyleInfo(); styleInfo.RelatedIdentity = relatedIdentity; styleInfo.TableName = tableName; styleInfo.AttributeName = body.AttributeName; styleInfo.DisplayName = AttackUtils.FilterXss(body.DisplayName); styleInfo.HelpText = body.HelpText; styleInfo.Taxis = body.Taxis; styleInfo.InputType = body.InputType; styleInfo.DefaultValue = body.DefaultValue; styleInfo.IsHorizontal = body.IsHorizontal; styleInfo.ExtendValues = body.Additional.ToString(); styleInfo.StyleItems = new List <TableStyleItemInfo>(); if (body.InputType == InputType.CheckBox || body.InputType == InputType.Radio || body.InputType == InputType.SelectMultiple || body.InputType == InputType.SelectOne) { if (isRapid) { foreach (var rapidValue in rapidValues) { var itemInfo = new TableStyleItemInfo(0, 0, rapidValue, rapidValue, false); styleInfo.StyleItems.Add(itemInfo); } } else { var isHasSelected = false; foreach (var styleItem in body.StyleItems) { if (body.InputType != InputType.SelectMultiple && body.InputType != InputType.CheckBox && isHasSelected && styleItem.IsSelected) { errorMessage = "操作失败,只能有一个初始化时选定项!"; return(false); } if (styleItem.IsSelected) { isHasSelected = true; } var itemInfo = new TableStyleItemInfo(0, 0, styleItem.ItemTitle, styleItem.ItemValue, styleItem.IsSelected); styleInfo.StyleItems.Add(itemInfo); } } } DataProvider.TableStyleDao.Insert(styleInfo); return(true); }
private bool InsertTableStyleInfo(InputType inputType) { var isChanged = false; var relatedIdentity = _relatedIdentities[0]; if (string.IsNullOrEmpty(TbAttributeName.Text)) { FailMessage("操作失败,字段名不能为空!"); return(false); } if (TableStyleManager.IsExists(relatedIdentity, _tableName, TbAttributeName.Text)) { FailMessage($@"显示样式添加失败:字段名""{TbAttributeName.Text}""已存在"); return(false); } _styleInfo = TableColumnManager.IsAttributeNameExists(_tableName, TbAttributeName.Text) ? TableStyleManager.GetTableStyleInfo(_tableName, TbAttributeName.Text, _relatedIdentities) : new TableStyleInfo(); _styleInfo.RelatedIdentity = relatedIdentity; _styleInfo.TableName = _tableName; _styleInfo.AttributeName = TbAttributeName.Text; _styleInfo.DisplayName = AttackUtils.FilterXss(TbDisplayName.Text); _styleInfo.HelpText = TbHelpText.Text; _styleInfo.Taxis = TranslateUtils.ToInt(TbTaxis.Text); _styleInfo.InputType = inputType; _styleInfo.DefaultValue = TbDefaultValue.Text; _styleInfo.IsHorizontal = TranslateUtils.ToBool(DdlIsHorizontal.SelectedValue); _styleInfo.Additional.Columns = TranslateUtils.ToInt(TbColumns.Text); _styleInfo.Additional.Height = TranslateUtils.ToInt(TbHeight.Text); _styleInfo.Additional.Width = TbWidth.Text; _styleInfo.Additional.IsFormatString = TranslateUtils.ToBool(DdlIsFormatString.SelectedValue); _styleInfo.Additional.RelatedFieldId = TranslateUtils.ToInt(DdlRelatedFieldId.SelectedValue); _styleInfo.Additional.RelatedFieldStyle = DdlRelatedFieldStyle.SelectedValue; _styleInfo.Additional.CustomizeLeft = TbCustomizeLeft.Text; _styleInfo.Additional.CustomizeRight = TbCustomizeRight.Text; if (inputType == InputType.CheckBox || inputType == InputType.Radio || inputType == InputType.SelectMultiple || inputType == InputType.SelectOne) { _styleInfo.StyleItems = new List <TableStyleItemInfo>(); var isRapid = TranslateUtils.ToBool(DdlIsRapid.SelectedValue); if (isRapid) { var rapidValues = TranslateUtils.StringCollectionToStringList(TbRapidValues.Text); foreach (var rapidValue in rapidValues) { var itemInfo = new TableStyleItemInfo(0, _styleInfo.Id, rapidValue, rapidValue, false); _styleInfo.StyleItems.Add(itemInfo); } } else { var isHasSelected = false; foreach (RepeaterItem item in RptItems.Items) { var tbTitle = (TextBox)item.FindControl("tbTitle"); var tbValue = (TextBox)item.FindControl("tbValue"); var cbIsSelected = (CheckBox)item.FindControl("cbIsSelected"); if (inputType != InputType.SelectMultiple && inputType != InputType.CheckBox && isHasSelected && cbIsSelected.Checked) { FailMessage("操作失败,只能有一个初始化时选定项!"); return(false); } if (cbIsSelected.Checked) { isHasSelected = true; } var itemInfo = new TableStyleItemInfo(0, 0, tbTitle.Text, tbValue.Text, cbIsSelected.Checked); _styleInfo.StyleItems.Add(itemInfo); } } } try { DataProvider.TableStyleDao.Insert(_styleInfo); if (SiteId > 0) { AuthRequest.AddSiteLog(SiteId, "添加表单显示样式", $"字段名:{_styleInfo.AttributeName}"); } else { AuthRequest.AddAdminLog("添加表单显示样式", $"字段名:{_styleInfo.AttributeName}"); } isChanged = true; } catch (Exception ex) { FailMessage(ex, "显示样式添加失败:" + ex.Message); } return(isChanged); }