⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adminutility.cs

📁 一个ASP.NET下的中文内容管理和社区系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
// AdminUtility.cs
//

namespace ASPNET.StarterKit.Communities.Admin 
{
    using System;
    using System.Collections;
    using System.Web;
    using System.Data;
    using System.Data.SqlClient;
    using System.IO;
    using System.Web.UI.WebControls;
    using System.Text.RegularExpressions;
    using ASPNET.StarterKit.Communities;
    using ASPNET.StarterKit.Communities.Services;
      

    /// <summary>
    /// Contains all the methods used by the Admin pages.
    /// </summary>
    public class AdminUtility 
    {
    
        /// <summary>
        /// Make constructor private for static class.
        /// </summary>
        private AdminUtility(){}



        // *********************************************************************
        //  Edit Site and Section Methods
        // *********************************************************************


       
        /// <summary>
        /// Retrieves a list of all the Sections that can be Parent Sections. 
        /// </summary>
        public static DataSet GetParentSections()
        {
            SqlDataAdapter dadSectionParents = 
                new SqlDataAdapter( "Community_AdminGetParentSections", CommunityGlobals.ConnectionString );
            dadSectionParents.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataSet dstSectionParents = new DataSet();
            dadSectionParents.Fill( dstSectionParents );
            return dstSectionParents;
        }
        

        /// <summary>
        /// Retrieves a list of all the Sections that can be Parent Sections. 
        /// </summary>
        public static DataRow GetSectionFromDB(int sectionID)
        {
            SqlDataAdapter dadSection = 
                new SqlDataAdapter( "Community_AdminGetSection", CommunityGlobals.ConnectionString );
            dadSection.SelectCommand.CommandType = CommandType.StoredProcedure;
            dadSection.SelectCommand.Parameters.Add( "@sectionID", sectionID );
            DataSet dstSection = new DataSet();
            dadSection.Fill( dstSection );
            return dstSection.Tables[0].Rows[0];
        }

       
        
        /// <summary>
        /// Adds a new section to the portal.
        /// </summary>


        /// <summary>
        /// Edits an existing portal section.
        /// </summary>

        public static void DeleteSection(int sectionID)
        {
            HttpContext.Current.Cache.Remove( CommunityGlobals.CacheKey("Sections") );
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdDelete = new SqlCommand( "Community_AdminDeleteSection", conPortal );
            cmdDelete.CommandType = CommandType.StoredProcedure;
            
            cmdDelete.Parameters.Add( "@sectionID", sectionID );
            conPortal.Open();
            cmdDelete.ExecuteNonQuery();
            conPortal.Close();
        }        

        
        public static void MoveSectionUp(int sectionID)
        {
            HttpContext.Current.Cache.Remove( CommunityGlobals.CacheKey("Sections") );
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdMoveUp = new SqlCommand( "Community_AdminMoveSectionUp", conPortal );
            cmdMoveUp.CommandType = CommandType.StoredProcedure;
            
            cmdMoveUp.Parameters.Add( "@sectionID", sectionID );
            conPortal.Open();
            cmdMoveUp.ExecuteNonQuery();
            conPortal.Close();
        }
        

        public static void MoveSectionDown(int sectionID)
        {
            HttpContext.Current.Cache.Remove( CommunityGlobals.CacheKey("Sections") );
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdMoveDown = new SqlCommand( "Community_AdminMoveSectionDown", conPortal );
            cmdMoveDown.CommandType = CommandType.StoredProcedure;
            
            cmdMoveDown.Parameters.Add( "@sectionID", sectionID );
            conPortal.Open();
            cmdMoveDown.ExecuteNonQuery();
            conPortal.Close();
        }


        public static void MakeSectionHome(int sectionID) {
            HttpContext.Current.Cache.Remove( CommunityGlobals.CacheKey("Sections") );
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmd = new SqlCommand( "Community_SectionsMakeHome", conPortal );
            cmd.CommandType = CommandType.StoredProcedure;
            
            cmd.Parameters.Add( "@communityID", CommunityGlobals.CommunityID );
            cmd.Parameters.Add( "@sectionID", sectionID );
            conPortal.Open();
            cmd.ExecuteNonQuery();
            conPortal.Close();
        }


        public static int ValidateTransformations(ServerValidateEventArgs e)
        {
            // Assume the worst
            e.IsValid = false;
        
            // Split the transformation
            string[] splitTrans = Regex.Split(e.Value.Trim(), "\n");
            
            // Check if even number
            if ( (splitTrans.Length + 1) % 2 == 0 )
                return 1;

            // Make sure that to: follows from:
            for (int i=0;i<splitTrans.Length;i+=2)
            {
               if (!splitTrans[i].ToLower().StartsWith("from:"))
                    return 2;

               if (!splitTrans[i+1].ToLower().StartsWith("to:")) 
                    return 2;
            }
            
            
            // Things worked out after all, return 0            
            e.IsValid = true;
            return 0;
        }


        // *********************************************************************
        //  Edit Topics Methods
        // *********************************************************************


        public static void EnableTopicMenu(bool displayTopicMenu)
        {
            SqlConnection con = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmd = new SqlCommand( "Community_AdminEnableTopicMenu", con );
            cmd.CommandType = CommandType.StoredProcedure;
            
            cmd.Parameters.Add( "@communityID", CommunityGlobals.CommunityID);
            cmd.Parameters.Add( "@displayTopicMenu", displayTopicMenu);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            CommunityUtility.ClearCommunityCache();
        }        





        public static void DeleteTopic(int topicID)
        {
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdDelete = new SqlCommand( "Community_AdminDeleteTopic", conPortal );
            cmdDelete.CommandType = CommandType.StoredProcedure;
            
            cmdDelete.Parameters.Add( "@topicID", topicID );
            conPortal.Open();
            cmdDelete.ExecuteNonQuery();
            conPortal.Close();

            // Clear Cached topics
            TopicUtility.ClearCache();
        }        


        public static void AddTopic(string topicName, string topicDescription, HttpPostedFile proposedFile)
        {
            // Add Topic image
            string imageFileName = ImageUtility.AddCommunityImage(CommunityImageType.Topic, proposedFile);

            // Add Topic to database
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdAdd = new SqlCommand( "Community_AdminAddTopic", conPortal );
            cmdAdd.CommandType = CommandType.StoredProcedure;
            
            cmdAdd.Parameters.Add( "@communityID", CommunityGlobals.CommunityID );
            cmdAdd.Parameters.Add( "@topicName", topicName );
            cmdAdd.Parameters.Add( "@topicDescription", topicDescription );
            cmdAdd.Parameters.Add( "@topicImage", imageFileName);
            
            conPortal.Open();
            cmdAdd.ExecuteNonQuery();
            conPortal.Close();

            // Clear Cached topics
            TopicUtility.ClearCache();
        }        


        public static void EditTopic(int topicID, bool removeImage, string topicName, string topicDescription, HttpPostedFile proposedFile)
        {

            // Add image to database
            string imageFileName = 	ImageUtility.AddCommunityImage(CommunityImageType.Global, proposedFile );


            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdEdit = new SqlCommand( "Community_AdminEditTopic", conPortal );
            cmdEdit.CommandType = CommandType.StoredProcedure;
            cmdEdit.Parameters.Add( "@communityID", CommunityGlobals.CommunityID );
            cmdEdit.Parameters.Add( "@topicID", topicID );
            cmdEdit.Parameters.Add( "@topicName", topicName );
            cmdEdit.Parameters.Add( "@topicDescription", topicDescription );
            cmdEdit.Parameters.Add( "@topicImage", imageFileName);
            cmdEdit.Parameters.Add( "@removeImage", removeImage);
            
            conPortal.Open();
            cmdEdit.ExecuteNonQuery();
            conPortal.Close();


            // Clear Cached topics
            TopicUtility.ClearCache();
        }        

        // *********************************************************************
        //  Edit Users Methods
        // *********************************************************************

        public static int GetTotalUsersForLetter(string letter)
        {
            if (letter == "All")
                letter = "0";
                
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdGet = new SqlCommand( "Community_GetTotalUsersForLetter", conPortal );
            cmdGet.CommandType = CommandType.StoredProcedure;
            
            cmdGet.Parameters.Add( "@communityID", CommunityGlobals.CommunityID );
            cmdGet.Parameters.Add( "@letter", letter);
            conPortal.Open();
            int result = (int)cmdGet.ExecuteScalar();
            conPortal.Close();
            return result;
        }

        public static DataSet GetUsersForLetter(string letter, int sortBy, int orderBy) {
            if (letter == "All")
                letter = "";
                
            SqlDataAdapter dadGet = new SqlDataAdapter( "Community_AdminGetUsersForLetter", CommunityGlobals.ConnectionString);
            dadGet.SelectCommand.CommandType = CommandType.StoredProcedure;
            dadGet.SelectCommand.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
            dadGet.SelectCommand.Parameters.Add("@letter", letter);
            dadGet.SelectCommand.Parameters.Add("@sortBy", sortBy);
            dadGet.SelectCommand.Parameters.Add("@orderBy", orderBy);
            DataSet dstUsers = new DataSet();
            dadGet.Fill(dstUsers);
            return dstUsers;
        }


        // *********************************************************************
        //  Edit Messages Methods
        // *********************************************************************
        
        public static SqlDataReader GetMessageNames()
        {
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdGet = new SqlCommand( "Community_AdminGetMessageNames", conPortal );
            cmdGet.CommandType = CommandType.StoredProcedure;

            cmdGet.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
            
            conPortal.Open();
            SqlDataReader dr = cmdGet.ExecuteReader(CommandBehavior.CloseConnection);
            return dr;
        }

        public static SqlDataReader GetMessage(string messageName)
        {
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdGet = new SqlCommand( "Community_AdminGetMessage", conPortal );
            cmdGet.CommandType = CommandType.StoredProcedure;
            cmdGet.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
            cmdGet.Parameters.Add("@messageName", messageName);
            
            conPortal.Open();
            SqlDataReader dr = cmdGet.ExecuteReader(CommandBehavior.CloseConnection);
            return dr;
        }
        
        public static void EditMessage(string messageName, string messageTitle, string messageBody)
        {
            SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
            SqlCommand cmdEdit = new SqlCommand( "Community_AdminEditMessage", conPortal );
            cmdEdit.CommandType = CommandType.StoredProcedure;

            cmdEdit.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
            cmdEdit.Parameters.Add("@messageName", messageName);
            cmdEdit.Parameters.Add("@messageTitle", messageTitle);
            cmdEdit.Parameters.Add("@messageBody", messageBody);
            
            conPortal.Open();
            cmdEdit.ExecuteNonQuery();
            conPortal.Close();
        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -