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

📄 sectionutility.cs

📁 ASP.NET精品全站程序SQL版.rar
💻 CS
📖 第 1 页 / 共 3 页
字号:
namespace ASPNET.StarterKit.Communities 
{

	using System;
	using System.Text;
	using System.Text.RegularExpressions;
	using System.Collections;
	using System.Web;
	using System.Data;
	using System.Data.SqlClient;
	using System.Web.Caching;
    




	//*********************************************************************
	//
	// SectionUtility Class
	//
	// Contains static methods for working with community sections.
	//
	//*********************************************************************

	public class SectionUtility 
	{



		//*********************************************************************
		//
		// GetSectionPageTypes Method
		//
		// Returns list of all section page types.
		// This method is used in the Edit Section page in the Admin menu.
		//
		//*********************************************************************

		public static DataSet GetSectionPageTypes() 
		{
			SqlDataAdapter dadSectionPageTypes = 
				new SqlDataAdapter( "Community_AdminGetSectionPageTypes", CommunityGlobals.ConnectionString );
			dadSectionPageTypes.SelectCommand.CommandType = CommandType.StoredProcedure;
			DataSet dstSectionPageTypes = new DataSet();
			dadSectionPageTypes.Fill( dstSectionPageTypes );
			return dstSectionPageTypes;
		}




		public static int AddSection
			(
			string name,
			string title,
			string menuTitle,
			string description,
			bool isEnabled,
			int pageType,
			bool isWebBoxesInherited,
			int webBoxDisplayMode,
			bool isWebServiceBoxesInherited,
			int webServiceBoxDisplayMode,
			string pageSkin,
			string pageStyle,
			int parentSectionID,
			string pageHeader,
			string pageFooter,
			string footer,
			string pageMetaKeys,
			string pageMetaDesc,
			int recordsPerPage,
			bool enableTopics,
			bool enableComments,
			bool enableModeration,
			bool enableRatings,
			bool enableCommentRatings,
			bool enableNotifications,
			bool inheritTransformations,
			string transformations,
			bool isSectionWebService,
			string sectionWebServicePassword,
			AllowHtml allowHtmlInput,
			AllowHtml allowCommentHtmlInput,
			HttpPostedFile proposedFile,
			string pageFailOverSkin
			)
		{
			// Calculate logo file name
			string imageFileName = String.Empty;
			if (proposedFile != null)
				imageFileName = proposedFile.FileName.Remove(0,proposedFile.FileName.LastIndexOf("\\")+1);
        
			SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
			SqlCommand cmdAddSection = new SqlCommand( "Community_SectionsAddSection", conPortal );
			cmdAddSection.CommandType = CommandType.StoredProcedure;
			cmdAddSection.Parameters.Add( "@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;


			cmdAddSection.Parameters.Add( "@communityID", CommunityGlobals.CommunityID );
			cmdAddSection.Parameters.Add( "@name", name );
			cmdAddSection.Parameters.Add( "@title", title );
			cmdAddSection.Parameters.Add( "@menuTitle", menuTitle );
			cmdAddSection.Parameters.Add( "@description", description );
			cmdAddSection.Parameters.Add( "@isEnabled", isEnabled );
			cmdAddSection.Parameters.Add( "@pageType", pageType );
			cmdAddSection.Parameters.Add( "@isWebBoxesInherited", isWebBoxesInherited );
			cmdAddSection.Parameters.Add( "@webBoxDisplayMode", webBoxDisplayMode );
			cmdAddSection.Parameters.Add( "@isWebServiceBoxesInherited", isWebServiceBoxesInherited );
			cmdAddSection.Parameters.Add( "@webServiceBoxDisplayMode", webServiceBoxDisplayMode );
			cmdAddSection.Parameters.Add( "@pageSkin", pageSkin );
			cmdAddSection.Parameters.Add( "@pageStyle", SqlDbType.NVarChar, 100).Value = pageStyle;
			cmdAddSection.Parameters.Add( "@parentSectionID", parentSectionID );
			cmdAddSection.Parameters.Add( "@logo", imageFileName );
			cmdAddSection.Parameters.Add( "@pageHeader", SqlDbType.NText).Value = pageHeader;
			cmdAddSection.Parameters.Add( "@pageFooter", SqlDbType.NText).Value = pageFooter;
			cmdAddSection.Parameters.Add( "@footer", footer );
			cmdAddSection.Parameters.Add( "@pageMetaKeys", pageMetaKeys );
			cmdAddSection.Parameters.Add( "@pageMetaDesc", pageMetaDesc );
			cmdAddSection.Parameters.Add( "@recordsPerPage", recordsPerPage );
			cmdAddSection.Parameters.Add( "@enableTopics", enableTopics );
			cmdAddSection.Parameters.Add( "@enableComments", enableComments );
			cmdAddSection.Parameters.Add( "@enableModeration", enableModeration );
			cmdAddSection.Parameters.Add( "@enableRatings", enableRatings );
			cmdAddSection.Parameters.Add( "@enableCommentRatings", enableCommentRatings );
			cmdAddSection.Parameters.Add( "@enableNotifications", enableNotifications );
			cmdAddSection.Parameters.Add( "@inheritTransformations", inheritTransformations );
			cmdAddSection.Parameters.Add( "@transformations", SqlDbType.NText).Value = transformations;
			cmdAddSection.Parameters.Add( "@isSectionWebService", isSectionWebService );
			cmdAddSection.Parameters.Add( "@SectionWebServicePassword", sectionWebServicePassword );
			cmdAddSection.Parameters.Add( "@allowHtmlInput", allowHtmlInput );
			cmdAddSection.Parameters.Add( "@allowCommentHtmlInput", allowCommentHtmlInput );
			cmdAddSection.Parameters.Add( "@isSystem", false );
			cmdAddSection.Parameters.Add( "@failOverPageSkin", pageFailOverSkin );
            
			conPortal.Open();
			cmdAddSection.ExecuteNonQuery();
			int sectionID = (int)cmdAddSection.Parameters["@RETURN_VALUE"].Value;
			conPortal.Close();


			// Add Logo Image            			
			if (imageFileName != String.Empty)
				ImageUtility.AddCommunityImage(CommunityImageType.Logo, proposedFile );


			// Clear cached sections
			HttpContext.Current.Cache.Remove( CommunityGlobals.CacheKey( "Sections" ));
            
			return sectionID;
		}        



		public static void EditSection
			(
			int sectionID,
			string name,
			string title,
			string menuTitle,
			string description,
			bool isEnabled,
			bool isWebBoxesInherited,
			int webBoxDisplayMode,
			bool isWebServiceBoxesInherited,
			int webServiceBoxDisplayMode,
			string pageSkin,
			string pageStyle,
			int parentSectionID,
			string pageHeader,
			string pageFooter,
			string footer,
			string pageMetaKeys,
			string pageMetaDesc,
			int recordsPerPage,
			bool enableTopics,
			bool enableComments,
			bool enableModeration,
			bool enableRatings,
			bool enableCommentRatings,
			bool enableNotifications,
			bool inheritTransformations,
			string transformations,
			bool isSectionWebService,
			string sectionWebServicePassword,
			AllowHtml allowHtmlInput,
			AllowHtml allowCommentHtmlInput,
			HttpPostedFile proposedFile,
			string pageFailOverSkin
			)
		{
			// Add image to database
			string imageFileName = 	ImageUtility.AddCommunityImage(CommunityImageType.Global, proposedFile );
 

			SqlConnection conPortal = new SqlConnection( CommunityGlobals.ConnectionString );
			SqlCommand cmdEditSection = new SqlCommand( "Community_SectionsEditSection", conPortal );
			cmdEditSection.CommandType = CommandType.StoredProcedure;
            
			cmdEditSection.Parameters.Add( "@sectionID", sectionID );
			cmdEditSection.Parameters.Add( "@name", name );
			cmdEditSection.Parameters.Add( "@title", title );
			cmdEditSection.Parameters.Add( "@menuTitle", menuTitle );
			cmdEditSection.Parameters.Add( "@description", description );
			cmdEditSection.Parameters.Add( "@isEnabled", isEnabled );
			cmdEditSection.Parameters.Add( "@isWebBoxesInherited", isWebBoxesInherited );
			cmdEditSection.Parameters.Add( "@webBoxDisplayMode", webBoxDisplayMode );
			cmdEditSection.Parameters.Add( "@isWebServiceBoxesInherited", isWebServiceBoxesInherited );
			cmdEditSection.Parameters.Add( "@webServiceBoxDisplayMode", webServiceBoxDisplayMode );
			cmdEditSection.Parameters.Add( "@pageSkin", pageSkin );
			cmdEditSection.Parameters.Add( "@pageStyle", SqlDbType.NVarChar, 100).Value = pageStyle;
			cmdEditSection.Parameters.Add( "@parentSectionID", parentSectionID );
			cmdEditSection.Parameters.Add( "@logo", imageFileName );
			cmdEditSection.Parameters.Add( "@pageHeader", SqlDbType.NText).Value = pageHeader;
			cmdEditSection.Parameters.Add( "@pageFooter", SqlDbType.NText).Value = pageFooter;
			cmdEditSection.Parameters.Add( "@footer", footer );
			cmdEditSection.Parameters.Add( "@pageMetaKeys", pageMetaKeys );
			cmdEditSection.Parameters.Add( "@pageMetaDesc", pageMetaDesc );
			cmdEditSection.Parameters.Add( "@recordsPerPage", recordsPerPage );
			cmdEditSection.Parameters.Add( "@enableTopics", enableTopics );
			cmdEditSection.Parameters.Add( "@enableComments", enableComments );
			cmdEditSection.Parameters.Add( "@enableModeration", enableModeration );
			cmdEditSection.Parameters.Add( "@enableRatings", enableRatings );
			cmdEditSection.Parameters.Add( "@enableCommentRatings", enableCommentRatings );
			cmdEditSection.Parameters.Add( "@enableNotifications", enableNotifications );
			cmdEditSection.Parameters.Add( "@inheritTransformations", inheritTransformations );
			cmdEditSection.Parameters.Add( "@transformations", SqlDbType.NText).Value = transformations;
			cmdEditSection.Parameters.Add( "@isSectionWebService", isSectionWebService );
			cmdEditSection.Parameters.Add( "@SectionWebServicePassword", sectionWebServicePassword );
			cmdEditSection.Parameters.Add( "@allowHtmlInput", allowHtmlInput );
			cmdEditSection.Parameters.Add( "@allowCommentHtmlInput", allowCommentHtmlInput );
			cmdEditSection.Parameters.Add( "@failOverPageSkin", pageFailOverSkin );
            
			conPortal.Open();
			cmdEditSection.ExecuteNonQuery();
			conPortal.Close();


			// Clear cached sections
			HttpContext.Current.Cache.Remove(CommunityGlobals.CacheKey("Sections"));
		}        


 

		//*********************************************************************
		//
		// GetPossibleParents Method
		//
		// Retrieves list of possible parent sections for a section.
		//
		//*********************************************************************
 
		public static DataSet GetPossibleParents(int sectionID) 
		{
			SqlDataAdapter dadGetParents = new SqlDataAdapter( "Community_SectionsGetPossibleParents", CommunityGlobals.ConnectionString );
			dadGetParents.SelectCommand.CommandType = CommandType.StoredProcedure;
			dadGetParents.SelectCommand.Parameters.Add( "@communityID", CommunityGlobals.CommunityID );
			dadGetParents.SelectCommand.Parameters.Add( "@currentSectionID", sectionID );
			DataSet dstParents = new DataSet();
			dadGetParents.Fill( dstParents );
			return dstParents;
		}




		//*********************************************************************
		//
		// AddSectionRoles Method
		//
		// Adds new roles to the Community_SectionSecurity table.
		//
		//*********************************************************************
		public static void AddSectionRoles(int sectionID, RoleType sectionRoleType, string[] roles) 
		{
			// Setup db objects
			SqlConnection con = new SqlConnection(CommunityGlobals.ConnectionString);

			SqlCommand cmdDelete = new SqlCommand( "Community_SectionsDeleteSectionRoles", con);
			cmdDelete.CommandType = CommandType.StoredProcedure;
			cmdDelete.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			cmdDelete.Parameters.Add("@sectionID", sectionID);
			cmdDelete.Parameters.Add("@roleType", sectionRoleType);

			SqlCommand cmdAdd = new SqlCommand( "Community_SectionsAddSectionRole", con);
			cmdAdd.CommandType = CommandType.StoredProcedure;
			cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			cmdAdd.Parameters.Add("@sectionID", sectionID);
			cmdAdd.Parameters.Add("@roleType", sectionRoleType);
			cmdAdd.Parameters.Add("@role", SqlDbType.NVarChar);
           
			// Open connection
			con.Open();
            
			// Delete all roles from section of specified type
			cmdDelete.ExecuteNonQuery();
            
			// Add new roles
			foreach (string role in roles) 
			{
				cmdAdd.Parameters["@role"].Value = role;
				cmdAdd.ExecuteNonQuery();
			}
            
			// close connection
			con.Close();
		}


		//*********************************************************************
		//
		// AddSectionWebBoxes Method
		//
		// Adds new web boxes to the Community_SectionWebBoxes table.
		//
		//*********************************************************************
		public static void AddSectionWebBoxes(int sectionID, string[] webBoxes) 
		{
			// Setup db objects
			SqlConnection con = new SqlConnection(CommunityGlobals.ConnectionString);

			SqlCommand cmdDelete = new SqlCommand( "Community_SectionsDeleteSectionWebBoxes", con);
			cmdDelete.CommandType = CommandType.StoredProcedure;
			cmdDelete.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			cmdDelete.Parameters.Add("@sectionID", sectionID);

			SqlCommand cmdAdd = new SqlCommand( "Community_SectionsAddSectionWebBox", con);
			cmdAdd.CommandType = CommandType.StoredProcedure;
			cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			cmdAdd.Parameters.Add("@sectionID", sectionID);
			cmdAdd.Parameters.Add("@webBox", SqlDbType.NVarChar);
           
			// Open connection
			con.Open();
            
			// Delete all web boxes from section
			cmdDelete.ExecuteNonQuery();
            
			// Add new boxes
			foreach (string webBox in webBoxes) 
			{
				cmdAdd.Parameters["@webBox"].Value = webBox;
				cmdAdd.ExecuteNonQuery();
			}
            
			// close connection
			con.Close();
		}




		//*********************************************************************
		//
		// AddSectionWebServiceBoxes Method
		//
		// Adds new web service boxes to the Community_SectionWebServiceBoxes table.
		//
		//*********************************************************************
		public static void AddSectionWebServiceBoxes(int sectionID, string[] webServiceBoxes) 
		{
			// Setup db objects
			SqlConnection con = new SqlConnection(CommunityGlobals.ConnectionString);

			SqlCommand cmdDelete = new SqlCommand( "Community_SectionsDeleteSectionWebServiceBoxes", con);
			cmdDelete.CommandType = CommandType.StoredProcedure;
			cmdDelete.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			cmdDelete.Parameters.Add("@sectionID", sectionID);

			SqlCommand cmdAdd = new SqlCommand( "Community_SectionsAddSectionWebServiceBox", con);
			cmdAdd.CommandType = CommandType.StoredProcedure;
			cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			cmdAdd.Parameters.Add("@sectionID", sectionID);
			cmdAdd.Parameters.Add("@webServiceBox", SqlDbType.NVarChar);
           
			// Open connection
			con.Open();
            
			// Delete all roles from section of specified type
			cmdDelete.ExecuteNonQuery();
            
			// Add new roles
			foreach (string webServiceBox in webServiceBoxes) 
			{
				cmdAdd.Parameters["@webServiceBox"].Value = webServiceBox;
				cmdAdd.ExecuteNonQuery();
			}
            
			// close connection
			con.Close();
		}

⌨️ 快捷键说明

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