添加模块
在Module.cs中
private bool Create()
{
bool created = false;
int newID = -1;
this.guid = Guid.NewGuid();
newID = DBModule.AddModule(
this.pageID,
this.siteID,
this.siteGuid,
this.moduleDefID,
this.moduleOrder,
this.paneName,
this.moduleTitle,
this.authorizedEditRoles,
this.cacheTime,
this.showTitle,
this.availableForMyPage,
this.allowMultipleInstancesOnMyPage,
this.icon,
this.createdByUserID,
DateTime.UtcNow,
this.guid,
this.featureGuid,
this.hideFromAuthenticated,
this.hideFromUnauthenticated);
this.moduleID = newID;
created = (newID > -1);
if(created)
{
ModuleSettings.CreateDefaultModuleSettings(this.moduleID);
}
return created;
}
dbModule.cs中
public static int AddModule(
int pageId,
int siteId,
Guid siteGuid,
int moduleDefId,
int moduleOrder,
string paneName,
string moduleTitle,
string authorizedEditRoles,
int cacheTime,
bool showTitle,
bool availableForMyPage,
bool allowMultipleInstancesOnMyPage,
String icon,
int createdByUserId,
DateTime createdDate,
Guid guid,
Guid featureGuid,
bool hideFromAuthenticated,
bool hideFromUnauthenticated)
{
SqlParameterHelper sph = new SqlParameterHelper(GetConnectionString(), "mp_Modules_Insert", 19);
sph.DefineSqlParameter("@PageID", SqlDbType.Int, ParameterDirection.Input, pageId);
sph.DefineSqlParameter("@SiteID", SqlDbType.Int, ParameterDirection.Input, siteId);
sph.DefineSqlParameter("@ModuleDefID", SqlDbType.Int, ParameterDirection.Input, moduleDefId);
sph.DefineSqlParameter("@ModuleOrder", SqlDbType.Int, ParameterDirection.Input, moduleOrder);
sph.DefineSqlParameter("@PaneName", SqlDbType.NVarChar, 50, ParameterDirection.Input, paneName);
sph.DefineSqlParameter("@ModuleTitle", SqlDbType.NVarChar, 255, ParameterDirection.Input, moduleTitle);
sph.DefineSqlParameter("@AuthorizedEditRoles", SqlDbType.NText, ParameterDirection.Input, authorizedEditRoles);
sph.DefineSqlParameter("@CacheTime", SqlDbType.Int, ParameterDirection.Input, cacheTime);
sph.DefineSqlParameter("@ShowTitle", SqlDbType.Bit, ParameterDirection.Input, showTitle);
sph.DefineSqlParameter("@AvailableForMyPage", SqlDbType.Bit, ParameterDirection.Input, availableForMyPage);
sph.DefineSqlParameter("@CreatedByUserID", SqlDbType.Int, ParameterDirection.Input, createdByUserId);
sph.DefineSqlParameter("@CreatedDate", SqlDbType.DateTime, ParameterDirection.Input, createdDate);
sph.DefineSqlParameter("@AllowMultipleInstancesOnMyPage", SqlDbType.Bit, ParameterDirection.Input, allowMultipleInstancesOnMyPage);
sph.DefineSqlParameter("@Icon", SqlDbType.NVarChar, 255, ParameterDirection.Input, icon);
sph.DefineSqlParameter("@Guid", SqlDbType.UniqueIdentifier, ParameterDirection.Input, guid);
sph.DefineSqlParameter("@FeatureGuid", SqlDbType.UniqueIdentifier, ParameterDirection.Input, featureGuid);
sph.DefineSqlParameter("@SiteGuid", SqlDbType.UniqueIdentifier, ParameterDirection.Input, siteGuid);
sph.DefineSqlParameter("@HideFromAuth", SqlDbType.Bit, ParameterDirection.Input, hideFromAuthenticated);
sph.DefineSqlParameter("@HideFromUnAuth", SqlDbType.Bit, ParameterDirection.Input, hideFromUnauthenticated);
int newID = Convert.ToInt32(sph.ExecuteScalar());
return newID;
}
存储过程
Text
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE PROCEDURE [dbo].[mp_Modules_Insert]
/*
Author: Joe Audette
Created: 2004-12-26
Last Modified: 2008-07-24
*/
@PageID int,
@SiteID int,
@ModuleDefID int,
@ModuleOrder int,
@PaneName nvarchar(50),
@ModuleTitle nvarchar(255),
@AuthorizedEditRoles ntext,
@CacheTime int,
@ShowTitle bit,
@AvailableForMyPage bit,
@CreatedByUserID int,
@CreatedDate datetime,
@AllowMultipleInstancesOnMyPage bit,
@Icon nvarchar(255),
@Guid uniqueidentifier,
@FeatureGuid uniqueidentifier,
@SiteGuid uniqueidentifier,
@HideFromAuth bit,
@HideFromUnAuth bit
AS
DECLARE @ModuleID int
INSERT INTO [dbo].[mp_Modules]
(
SiteID,
SiteGuid,
[ModuleDefID],
[ModuleTitle],
[AuthorizedEditRoles],
[CacheTime],
[ShowTitle],
AvailableForMyPage,
AllowMultipleInstancesOnMyPage,
Icon,
CreatedByUserID,
CreatedDate,
[Guid],
FeatureGuid,
HideFromAuth,
HideFromUnAuth
)
VALUES
(
@SiteID,
@SiteGuid,
@ModuleDefID,
@ModuleTitle,
@AuthorizedEditRoles,
@CacheTime,
@ShowTitle,
@AvailableForMyPage,
@AllowMultipleInstancesOnMyPage,
@Icon,
@CreatedByUserID,
@CreatedDate,
@Guid,
@FeatureGuid,
@HideFromAuth,
@HideFromUnAuth
)
SELECT @ModuleID = @@IDENTITY //mp_Modules是Identity类型的,ModuleID取得上表中新纪录的@@Identity的值
IF @PageID > -1
BEGIN
DECLARE @PageGuid uniqueidentifier
SET @PageGuid = (SELECT TOP 1 PageGuid FROM mp_Pages WHERE PageID = @PageID)
INSERT INTO [dbo].[mp_PageModules] //把moduleID与PageID相关联
(
[PageID],
[ModuleID],
[ModuleOrder],
[PaneName],
[PublishBeginDate],
PageGuid,
ModuleGuid
)
VALUES
(
@PageID,
@ModuleID,
@ModuleOrder,
@PaneName,
@CreatedDate,
@PageGuid,
@Guid
)
END
SELECT @ModuleID //返回ModuleID