页面中添加某模块
添加模块
在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
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步