📄 sectionutility.cs
字号:
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
)
{
// 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", 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 );
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
)
{
// 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", transformations );
cmdEditSection.Parameters.Add( "@isSectionWebService", isSectionWebService );
cmdEditSection.Parameters.Add( "@SectionWebServicePassword", sectionWebServicePassword );
cmdEditSection.Parameters.Add( "@allowHtmlInput", allowHtmlInput );
cmdEditSection.Parameters.Add( "@allowCommentHtmlInput", allowCommentHtmlInput );
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) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -