コード例 #1
0
ファイル: SiteDao.cs プロジェクト: zhouwybetter/cms
        public void UpdateParentIdToZero(int parentId)
        {
            var sqlString = "UPDATE siteserver_Site SET ParentId = 0 WHERE ParentId = " + parentId;

            ExecuteNonQuery(sqlString);
            SiteManager.ClearCache();
        }
コード例 #2
0
        public void Update(SiteInfo info)
        {
            var sqlString = $"UPDATE {TableName} SET SiteName = @SiteName, DomainName = @DomainName, SiteDir = @SiteDir, TableName = @TableName, IsRoot = @IsRoot, ParentId = @ParentId, Taxis = @Taxis, SettingsXML = @SettingsXML WHERE  Id = @Id";

            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmSiteName, DataType.VarChar, 50, info.SiteName),
                GetParameter(ParmDomainName, DataType.VarChar, 150, info.DomainName),
                GetParameter(ParmSiteDir, DataType.VarChar, 50, info.SiteDir),
                GetParameter(ParmTableName, DataType.VarChar, 50, info.TableName),
                GetParameter(ParmIsRoot, DataType.VarChar, 18, info.IsRoot.ToString()),
                GetParameter(ParmParentId, DataType.Integer, info.ParentId),
                GetParameter(ParmTaxis, DataType.Integer, info.Taxis),
                GetParameter(ParmSettingsXml, DataType.Text, info.Additional.ToString()),
                GetParameter(ParmId, DataType.Integer, info.Id)
            };

            if (info.IsRoot)
            {
                UpdateAllIsRoot();
            }

            ExecuteNonQuery(sqlString, updateParms);
            SiteManager.ClearCache();
            SystemManager.UpdateSites();
        }
コード例 #3
0
ファイル: SiteDao.cs プロジェクト: zhouwybetter/cms
        private void UpdateAllIsRoot()
        {
            var sqlString = $"UPDATE {TableName} SET IsRoot = @IsRoot";

            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmIsRoot, DataType.VarChar, 18, false.ToString())
            };

            ExecuteNonQuery(sqlString, updateParms);
            SiteManager.ClearCache();
        }
コード例 #4
0
ファイル: SiteDao.cs プロジェクト: ym1100/siteserver-cms
        public void UpdateTableName(int siteId, string tableName)
        {
            var sqlString = $"UPDATE {TableName} SET TableName = @TableName WHERE Id = @Id";

            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmTableName, DataType.VarChar, 50, tableName),
                GetParameter(ParmId, DataType.Integer, siteId)
            };

            ExecuteNonQuery(sqlString, updateParms);
            SiteManager.ClearCache();
        }
コード例 #5
0
ファイル: SiteDao.cs プロジェクト: zhouwybetter/cms
        public void Delete(int siteId)
        {
            var siteInfo = SiteManager.GetSiteInfo(siteId);
            var list     = ChannelManager.GetChannelIdList(siteId);

            DataProvider.TableStyleDao.Delete(list, siteInfo.TableName);

            DataProvider.TagDao.DeleteTags(siteId);

            DataProvider.ChannelDao.Delete(siteId, siteId);

            UpdateParentIdToZero(siteId);

            ExecuteNonQuery($"DELETE FROM siteserver_Site WHERE Id  = {siteId}");

            SiteManager.ClearCache();
            ChannelManager.RemoveCache(siteId);
            PermissionManager.ClearAllCache();
        }
コード例 #6
0
ファイル: SiteDao.cs プロジェクト: zhouwybetter/cms
        public void InsertWithTrans(SiteInfo info, IDbTransaction trans)
        {
            var sqlString = $"INSERT INTO {TableName} (Id, SiteName, SiteDir, TableName, IsRoot, ParentId, Taxis, SettingsXML) VALUES (@Id, @SiteName, @SiteDir, @TableName, @IsRoot, @ParentId, @Taxis, @SettingsXML)";

            //获取排序值
            var taxis       = GetMaxTaxis() + 1;
            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmId, DataType.Integer, info.Id),
                GetParameter(ParmSiteName, DataType.VarChar, 50, info.SiteName),
                GetParameter(ParmSiteDir, DataType.VarChar, 50, info.SiteDir),
                GetParameter(ParmTableName, DataType.VarChar, 50, info.TableName),
                GetParameter(ParmIsRoot, DataType.VarChar, 18, info.IsRoot.ToString()),
                GetParameter(ParmParentId, DataType.Integer, info.ParentId),
                GetParameter(ParmTaxis, DataType.Integer, taxis),
                GetParameter(ParmSettingsXml, DataType.Text, info.Additional.ToString())
            };

            ExecuteNonQuery(trans, sqlString, insertParms);
            SiteManager.ClearCache();
        }
コード例 #7
0
ファイル: SiteDao.cs プロジェクト: zhouwybetter/cms
        public bool UpdateTaxisToUp(int siteId)
        {
            SetTaxisNotZero();
            //var sbSql = new StringBuilder();
            //sbSql.AppendFormat("SELECT TOP 1 Id, Taxis FROM siteserver_Site ");
            //sbSql.AppendFormat(" WHERE Taxis < (SELECT Taxis FROM siteserver_Site WHERE Id = {0}) ", siteId);
            //sbSql.AppendFormat(" ORDER BY Taxis DESC");

            var sqlString = SqlUtils.ToTopSqlString("siteserver_Site", "Id, Taxis", $"WHERE Taxis < (SELECT Taxis FROM siteserver_Site WHERE Id = {siteId})", "ORDER BY Taxis DESC", 1);

            var higherId    = 0;
            var higherTaxis = 0;

            using (var reader = ExecuteReader(sqlString))
            {
                if (reader.Read())
                {
                    higherId    = Convert.ToInt32(reader[0]);
                    higherTaxis = Convert.ToInt32(reader[1]);
                }
                reader.Close();
            }

            var selectedTaxis = GetTaxis(siteId);

            if (higherId == 0)
            {
                return(false);
            }

            SetTaxis(siteId, higherTaxis);
            SetTaxis(higherId, selectedTaxis);

            SiteManager.ClearCache();

            return(true);
        }