using System; using System.Collections; using System.Configuration; using System.Data; using System.Data.SqlClient; namespace ASPNetPortal { //********************************************************************* // // ModuleItem Class // // This class encapsulates the basic attributes of a Module, and is used // by the administration pages when manipulating modules. ModuleItem implements // the IComparable interface so that an ArrayList of ModuleItems may be sorted // by ModuleOrder, using the ArrayList's Sort() method. // //********************************************************************* public class ModuleItem : IComparable { private int _moduleOrder; private String _title; private String _pane; private int _id; private int _defId; public int ModuleOrder { get { return _moduleOrder; } set { _moduleOrder = value; } } public String ModuleTitle { get { return _title; } set { _title = value; } } public String PaneName { get { return _pane; } set { _pane = value; } } public int ModuleId { get { return _id; } set { _id = value; } } public int ModuleDefId { get { return _defId; } set { _defId = value; } } public int CompareTo(object value) { if (value == null) return 1; int compareOrder = ((ModuleItem)value).ModuleOrder; if (this.ModuleOrder == compareOrder) return 0; if (this.ModuleOrder < compareOrder) return -1; if (this.ModuleOrder > compareOrder) return 1; return 0; } } //********************************************************************* // // TabItem Class // // This class encapsulates the basic attributes of a Tab, and is used // by the administration pages when manipulating tabs. TabItem implements // the IComparable interface so that an ArrayList of TabItems may be sorted // by TabOrder, using the ArrayList's Sort() method. // //********************************************************************* public class TabItem : IComparable { private int _tabOrder; private String _name; private int _id; public int TabOrder { get { return _tabOrder; } set { _tabOrder = value; } } public String TabName { get { return _name; } set { _name = value; } } public int TabId { get { return _id; } set { _id = value; } } public int CompareTo(object value) { if (value == null) return 1; int compareOrder = ((TabItem)value).TabOrder; if (this.TabOrder == compareOrder) return 0; if (this.TabOrder < compareOrder) return -1; if (this.TabOrder > compareOrder) return 1; return 0; } } //********************************************************************* // // AdminDB Class // // Class that encapsulates all data logic necessary to add/query/delete // configuration, layout and security settings values within the Portal database. // //********************************************************************* public class AdminDB { // // ROLES // //********************************************************************* // // GetPortalRoles() Method // // The GetPortalRoles method returns a list of all role names for the // specified portal. // // Other relevant sources: // + GetPortalRoles Stored Procedure // //********************************************************************* public SqlDataReader GetPortalRoles(int portalId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("GetPortalRoles", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalID = new SqlParameter("@PortalID", SqlDbType.Int, 4); parameterPortalID.Value = portalId; myCommand.Parameters.Add(parameterPortalID); // Open the database connection and execute the command myConnection.Open(); SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); // Return the datareader return dr; } //********************************************************************* // // AddRole() Method // // The AddRole method creates a new security role for the specified portal, // and returns the new RoleID value. // // Other relevant sources: // + AddRole Stored Procedure // //********************************************************************* public int AddRole(int portalId, String roleName) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("AddRole", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalID = new SqlParameter("@PortalID", SqlDbType.Int, 4); parameterPortalID.Value = portalId; myCommand.Parameters.Add(parameterPortalID); SqlParameter parameterRoleName = new SqlParameter("@RoleName", SqlDbType.NVarChar, 50); parameterRoleName.Value = roleName; myCommand.Parameters.Add(parameterRoleName); SqlParameter parameterRoleID = new SqlParameter("@RoleID", SqlDbType.Int, 4); parameterRoleID.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterRoleID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); // return the role id return (int) parameterRoleID.Value; } //********************************************************************* // // DeleteRole() Method // // The DeleteRole deletes the specified role from the portal database. // // Other relevant sources: // + DeleteRole Stored Procedure // //********************************************************************* public void DeleteRole(int roleId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("DeleteRole", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterRoleID = new SqlParameter("@RoleID", SqlDbType.Int, 4); parameterRoleID.Value = roleId; myCommand.Parameters.Add(parameterRoleID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // UpdateRole() Method // // The UpdateRole method updates the friendly name of the specified role. // // Other relevant sources: // + UpdateRole Stored Procedure // //********************************************************************* public void UpdateRole(int roleId, String roleName) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateRole", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterRoleID = new SqlParameter("@RoleID", SqlDbType.Int, 4); parameterRoleID.Value = roleId; myCommand.Parameters.Add(parameterRoleID); SqlParameter parameterRoleName = new SqlParameter("@RoleName", SqlDbType.NVarChar, 50); parameterRoleName.Value = roleName; myCommand.Parameters.Add(parameterRoleName); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } // // USER ROLES // //********************************************************************* // // GetRoleMembers() Method // // The GetRoleMembers method returns a list of all members in the specified // security role. // // Other relevant sources: // + GetRoleMembers Stored Procedure // //********************************************************************* public SqlDataReader GetRoleMembers(int roleId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("GetRoleMembership", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; SqlParameter parameterRoleID = new SqlParameter("@RoleID", SqlDbType.Int, 4); parameterRoleID.Value = roleId; myCommand.Parameters.Add(parameterRoleID); // Open the database connection and execute the command myConnection.Open(); SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); // Return the datareader return dr; } //********************************************************************* // // AddUserRole() Method // // The AddUserRole method adds the user to the specified security role. // // Other relevant sources: // + AddUserRole Stored Procedure // //********************************************************************* public void AddUserRole(int roleId, int userId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("AddUserRole", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterRoleID = new SqlParameter("@RoleID", SqlDbType.Int, 4); parameterRoleID.Value = roleId; myCommand.Parameters.Add(parameterRoleID); SqlParameter parameterUserID = new SqlParameter("@UserID", SqlDbType.Int, 4); parameterUserID.Value = userId; myCommand.Parameters.Add(parameterUserID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // DeleteUserRole() Method // // The DeleteUserRole method deletes the user from the specified role. // // Other relevant sources: // + DeleteUserRole Stored Procedure // //********************************************************************* public void DeleteUserRole(int roleId, int userId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("DeleteUserRole", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterRoleID = new SqlParameter("@RoleID", SqlDbType.Int, 4); parameterRoleID.Value = roleId; myCommand.Parameters.Add(parameterRoleID); SqlParameter parameterUserID = new SqlParameter("@UserID", SqlDbType.Int, 4); parameterUserID.Value = userId; myCommand.Parameters.Add(parameterUserID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } // // USERS // //********************************************************************* // // GetUsers() Method // // The GetUsers method returns returns the UserID, Name and Email for // all registered users. // // Other relevant sources: // + GetUsers Stored Procedure // //********************************************************************* public SqlDataReader GetUsers() { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("GetUsers", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Open the database connection and execute the command myConnection.Open(); SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); // Return the datareader return dr; } // // PORTAL // //********************************************************************* // // UpdatePortalInfo() Method // // The UpdatePortalInfo method updates the name and access settings for the portal. // // Other relevant sources: // + UpdatePortalInfo Stored Procedure // //********************************************************************* public void UpdatePortalInfo (int portalId, String portalName, bool alwaysShow) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdatePortalInfo", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalId = new SqlParameter("@PortalId", SqlDbType.Int, 4); parameterPortalId.Value = portalId; myCommand.Parameters.Add(parameterPortalId); SqlParameter parameterPortalName = new SqlParameter("@PortalName", SqlDbType.NVarChar, 128); parameterPortalName.Value = portalName; myCommand.Parameters.Add(parameterPortalName); SqlParameter parameterAlwaysShow = new SqlParameter("@AlwaysShowEditButton", SqlDbType.Bit, 1); parameterAlwaysShow.Value = alwaysShow; myCommand.Parameters.Add(parameterAlwaysShow); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } // // TABS // //********************************************************************* // // AddTab Method // // The AddTab method adds a new tab to the portal. // // Other relevant sources: // + AddTab Stored Procedure // //********************************************************************* public int AddTab (int portalId, String tabName, int tabOrder) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("AddTab", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalId = new SqlParameter("@PortalId", SqlDbType.Int, 4); parameterPortalId.Value = portalId; myCommand.Parameters.Add(parameterPortalId); SqlParameter parameterTabName = new SqlParameter("@TabName", SqlDbType.NVarChar, 50); parameterTabName.Value = tabName; myCommand.Parameters.Add(parameterTabName); SqlParameter parameterTabOrder = new SqlParameter("@TabOrder", SqlDbType.Int, 4); parameterTabOrder.Value = tabOrder; myCommand.Parameters.Add(parameterTabOrder); SqlParameter parameterAuthRoles = new SqlParameter("@AuthorizedRoles", SqlDbType.NVarChar, 256); parameterAuthRoles.Value = "All Users"; myCommand.Parameters.Add(parameterAuthRoles); SqlParameter parameterMobileTabName = new SqlParameter("@MobileTabName", SqlDbType.NVarChar, 50); parameterMobileTabName.Value = ""; myCommand.Parameters.Add(parameterMobileTabName); SqlParameter parameterTabId = new SqlParameter("@TabId", SqlDbType.Int, 4); parameterTabId.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterTabId); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); return (int) parameterTabId.Value; } //********************************************************************* // // UpdateTab Method // // The UpdateTab method updates the settings for the specified tab. // // Other relevant sources: // + UpdateTab Stored Procedure // //********************************************************************* public void UpdateTab (int portalId, int tabId, String tabName, int tabOrder, String authorizedRoles, String mobileTabName, bool showMobile) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateTab", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalId = new SqlParameter("@PortalId", SqlDbType.Int, 4); parameterPortalId.Value = portalId; myCommand.Parameters.Add(parameterPortalId); SqlParameter parameterTabId = new SqlParameter("@TabId", SqlDbType.Int, 4); parameterTabId.Value = tabId; myCommand.Parameters.Add(parameterTabId); SqlParameter parameterTabName = new SqlParameter("@TabName", SqlDbType.NVarChar, 50); parameterTabName.Value = tabName; myCommand.Parameters.Add(parameterTabName); SqlParameter parameterTabOrder = new SqlParameter("@TabOrder", SqlDbType.Int, 4); parameterTabOrder.Value = tabOrder; myCommand.Parameters.Add(parameterTabOrder); SqlParameter parameterAuthRoles = new SqlParameter("@AuthorizedRoles", SqlDbType.NVarChar, 256); parameterAuthRoles.Value = authorizedRoles; myCommand.Parameters.Add(parameterAuthRoles); SqlParameter parameterMobileTabName = new SqlParameter("@MobileTabName", SqlDbType.NVarChar, 50); parameterMobileTabName.Value = mobileTabName; myCommand.Parameters.Add(parameterMobileTabName); SqlParameter parameterShowMobile = new SqlParameter("@ShowMobile", SqlDbType.Bit, 1); parameterShowMobile.Value = showMobile; myCommand.Parameters.Add(parameterShowMobile); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // UpdateTabOrder Method // // The UpdateTabOrder method changes the position of the tab with respect // to other tabs in the portal. // // Other relevant sources: // + UpdateTabOrder Stored Procedure // //********************************************************************* public void UpdateTabOrder (int tabId, int tabOrder) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateTabOrder", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterTabId = new SqlParameter("@TabId", SqlDbType.Int, 4); parameterTabId.Value = tabId; myCommand.Parameters.Add(parameterTabId); SqlParameter parameterTabOrder = new SqlParameter("@TabOrder", SqlDbType.Int, 4); parameterTabOrder.Value = tabOrder; myCommand.Parameters.Add(parameterTabOrder); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // DeleteTab() Method // // The DeleteTab method deletes the selected tab from the portal. // // Other relevant sources: // + DeleteTab Stored Procedure // //********************************************************************* public void DeleteTab(int tabId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("DeleteTab", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterTabID = new SqlParameter("@TabID", SqlDbType.Int, 4); parameterTabID.Value = tabId; myCommand.Parameters.Add(parameterTabID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } // // MODULES // //********************************************************************* // // UpdateModuleOrder Method // // The AddUserRole method adds the user to the specified security role. // // Other relevant sources: // + UpdateModuleOrder Stored Procedure // //********************************************************************* public void UpdateModuleOrder (int ModuleId, int ModuleOrder, String pane) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateModuleOrder", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleId = new SqlParameter("@ModuleId", SqlDbType.Int, 4); parameterModuleId.Value = ModuleId; myCommand.Parameters.Add(parameterModuleId); SqlParameter parameterModuleOrder = new SqlParameter("@ModuleOrder", SqlDbType.Int, 4); parameterModuleOrder.Value = ModuleOrder; myCommand.Parameters.Add(parameterModuleOrder); SqlParameter parameterPaneName = new SqlParameter("@PaneName", SqlDbType.NVarChar, 256); parameterPaneName.Value = pane; myCommand.Parameters.Add(parameterPaneName); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // AddModule Method // // The AddModule method updates a specified Module within // the Modules database table. If the module does not yet exist, // the stored procedure adds it. // // Other relevant sources: // + AddModule Stored Procedure // //********************************************************************* public int AddModule(int tabId, int moduleOrder, String paneName, String title, int moduleDefId, int cacheTime, String editRoles, bool showMobile) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("AddModule", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleId = new SqlParameter("@ModuleId", SqlDbType.Int, 4); parameterModuleId.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterModuleId); SqlParameter parameterModuleDefinitionId = new SqlParameter("@ModuleDefId", SqlDbType.Int, 4); parameterModuleDefinitionId.Value = moduleDefId; myCommand.Parameters.Add(parameterModuleDefinitionId); SqlParameter parameterTabId = new SqlParameter("@TabId", SqlDbType.Int, 4); parameterTabId.Value = tabId; myCommand.Parameters.Add(parameterTabId); SqlParameter parameterModuleOrder = new SqlParameter("@ModuleOrder", SqlDbType.Int, 4); parameterModuleOrder.Value = moduleOrder; myCommand.Parameters.Add(parameterModuleOrder); SqlParameter parameterTitle = new SqlParameter("@ModuleTitle", SqlDbType.NVarChar, 256); parameterTitle.Value = title; myCommand.Parameters.Add(parameterTitle); SqlParameter parameterPaneName = new SqlParameter("@PaneName", SqlDbType.NVarChar, 256); parameterPaneName.Value = paneName; myCommand.Parameters.Add(parameterPaneName); SqlParameter parameterCacheTime = new SqlParameter("@CacheTime", SqlDbType.Int, 4); parameterCacheTime.Value = cacheTime; myCommand.Parameters.Add(parameterCacheTime); SqlParameter parameterEditRoles = new SqlParameter("@EditRoles", SqlDbType.NVarChar, 256); parameterEditRoles.Value = editRoles; myCommand.Parameters.Add(parameterEditRoles); SqlParameter parameterShowMobile = new SqlParameter("@ShowMobile", SqlDbType.Bit, 1); parameterShowMobile.Value = showMobile; myCommand.Parameters.Add(parameterShowMobile); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); return (int) parameterModuleId.Value; } //********************************************************************* // // UpdateModule Method // // The UpdateModule method updates a specified Module within // the Modules database table. If the module does not yet exist, // the stored procedure adds it. // // Other relevant sources: // + UpdateModule Stored Procedure // //********************************************************************* public int UpdateModule(int moduleId, int moduleOrder, String paneName, String title, int cacheTime, String editRoles, bool showMobile) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateModule", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleId = new SqlParameter("@ModuleID", SqlDbType.Int, 4); parameterModuleId.Value = moduleId; myCommand.Parameters.Add(parameterModuleId); SqlParameter parameterModuleOrder = new SqlParameter("@ModuleOrder", SqlDbType.Int, 4); parameterModuleOrder.Value = moduleOrder; myCommand.Parameters.Add(parameterModuleOrder); SqlParameter parameterTitle = new SqlParameter("@ModuleTitle", SqlDbType.NVarChar, 256); parameterTitle.Value = title; myCommand.Parameters.Add(parameterTitle); SqlParameter parameterPaneName = new SqlParameter("@PaneName", SqlDbType.NVarChar, 256); parameterPaneName.Value = paneName; myCommand.Parameters.Add(parameterPaneName); SqlParameter parameterCacheTime = new SqlParameter("@CacheTime", SqlDbType.Int, 4); parameterCacheTime.Value = cacheTime; myCommand.Parameters.Add(parameterCacheTime); SqlParameter parameterEditRoles = new SqlParameter("@EditRoles", SqlDbType.NVarChar, 256); parameterEditRoles.Value = editRoles; myCommand.Parameters.Add(parameterEditRoles); SqlParameter parameterShowMobile = new SqlParameter("@ShowMobile", SqlDbType.Bit, 1); parameterShowMobile.Value = showMobile; myCommand.Parameters.Add(parameterShowMobile); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); return (int) parameterModuleId.Value; } //********************************************************************* // // DeleteModule Method // // The DeleteModule method deletes a specified Module from // the Modules database table. // // Other relevant sources: // + DeleteModule Stored Procedure // //********************************************************************* public void DeleteModule(int moduleId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("DeleteModule", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleId = new SqlParameter("@ModuleID", SqlDbType.Int, 4); parameterModuleId.Value = moduleId; myCommand.Parameters.Add(parameterModuleId); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // UpdateModuleSetting Method // // The UpdateModuleSetting Method updates a single module setting // in the ModuleSettings database table. // //********************************************************************* public void UpdateModuleSetting(int moduleId, String key, String value) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateModuleSetting", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleId = new SqlParameter("@ModuleID", SqlDbType.Int, 4); parameterModuleId.Value = moduleId; myCommand.Parameters.Add(parameterModuleId); SqlParameter parameterKey = new SqlParameter("@SettingName", SqlDbType.NVarChar, 50); parameterKey.Value = key; myCommand.Parameters.Add(parameterKey); SqlParameter parameterValue = new SqlParameter("@SettingValue", SqlDbType.NVarChar, 256); parameterValue.Value = value; myCommand.Parameters.Add(parameterValue); // Execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } // // MODULE DEFINITIONS // //********************************************************************* // // GetModuleDefinitions() Method // // The GetModuleDefinitions method returns a list of all module type // definitions for the portal. // // Other relevant sources: // + GetModuleDefinitions Stored Procedure // //********************************************************************* public SqlDataReader GetModuleDefinitions(int portalId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("GetModuleDefinitions", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalId = new SqlParameter("@PortalId", SqlDbType.Int, 4); parameterPortalId.Value = portalId; myCommand.Parameters.Add(parameterPortalId); // Open the database connection and execute the command myConnection.Open(); SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); // Return the datareader return dr; } //********************************************************************* // // AddModuleDefinition() Method // // The AddModuleDefinition add the definition for a new module type // to the portal. // // Other relevant sources: // + AddModuleDefinition Stored Procedure // //********************************************************************* public int AddModuleDefinition(int portalId, String name, String desktopSrc, String mobileSrc) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("AddModuleDefinition", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterPortalID = new SqlParameter("@PortalID", SqlDbType.Int, 4); parameterPortalID.Value = portalId; myCommand.Parameters.Add(parameterPortalID); SqlParameter parameterFriendlyName = new SqlParameter("@FriendlyName", SqlDbType.NVarChar, 128); parameterFriendlyName.Value = name; myCommand.Parameters.Add(parameterFriendlyName); SqlParameter parameterDesktopSrc = new SqlParameter("@DesktopSrc", SqlDbType.NVarChar, 256); parameterDesktopSrc.Value = desktopSrc; myCommand.Parameters.Add(parameterDesktopSrc); SqlParameter parameterMobileSrc = new SqlParameter("@MobileSrc", SqlDbType.NVarChar, 256); parameterMobileSrc.Value = mobileSrc; myCommand.Parameters.Add(parameterMobileSrc); SqlParameter parameterModuleDefID = new SqlParameter("@ModuleDefID", SqlDbType.Int, 4); parameterModuleDefID.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterModuleDefID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); // return the role id return (int) parameterModuleDefID.Value; } //********************************************************************* // // DeleteModuleDefinition() Method // // The DeleteModuleDefinition method deletes the specified module type // definition from the portal. // // Other relevant sources: // + DeleteModuleDefinition Stored Procedure // //********************************************************************* public void DeleteModuleDefinition(int defId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("DeleteModuleDefinition", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleDefID = new SqlParameter("@ModuleDefID", SqlDbType.Int, 4); parameterModuleDefID.Value = defId; myCommand.Parameters.Add(parameterModuleDefID); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // UpdateModuleDefinition() Method // // The UpdateModuleDefinition method updates the settings for the // specified module type definition. // // Other relevant sources: // + UpdateModuleDefinition Stored Procedure // //********************************************************************* public void UpdateModuleDefinition(int defId, String name, String desktopSrc, String mobileSrc) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("UpdateModuleDefinition", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleDefID = new SqlParameter("@ModuleDefID", SqlDbType.Int, 4); parameterModuleDefID.Value = defId; myCommand.Parameters.Add(parameterModuleDefID); SqlParameter parameterFriendlyName = new SqlParameter("@FriendlyName", SqlDbType.NVarChar, 128); parameterFriendlyName.Value = name; myCommand.Parameters.Add(parameterFriendlyName); SqlParameter parameterDesktopSrc = new SqlParameter("@DesktopSrc", SqlDbType.NVarChar, 256); parameterDesktopSrc.Value = desktopSrc; myCommand.Parameters.Add(parameterDesktopSrc); SqlParameter parameterMobileSrc = new SqlParameter("@MobileSrc", SqlDbType.NVarChar, 256); parameterMobileSrc.Value = mobileSrc; myCommand.Parameters.Add(parameterMobileSrc); // Open the database connection and execute the command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } //********************************************************************* // // GetSingleModuleDefinition Method // // The GetSingleModuleDefinition method returns a SqlDataReader containing details // about a specific module definition from the ModuleDefinitions table. // // Other relevant sources: // + GetSingleModuleDefinition Stored Procedure // //********************************************************************* public SqlDataReader GetSingleModuleDefinition(int defId) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("GetSingleModuleDefinition", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModuleDefID = new SqlParameter("@ModuleDefID", SqlDbType.Int, 4); parameterModuleDefID.Value = defId; myCommand.Parameters.Add(parameterModuleDefID); // Execute the command myConnection.Open(); SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection); // Return the datareader return result; } } }