亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rolecontroller.cs

?? SharpNuke源代碼
?? CS
?? 第 1 頁 / 共 2 頁
字號:
using System;
using System.Collections;
using System.Data;
using System.Text;

using DotNetNuke.Common.Utilities;
using DotNetNuke.Data;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Entities.Portals;
using DotNetNuke.Entities.Users;
using DotNetNuke.Services.Exceptions;

//
// DotNetNuke -  http://www.dotnetnuke.com
// Copyright (c) 2002-2005
// by Shaun Walker ( sales@perpetualmotion.ca ) of Perpetual Motion Interactive Systems Inc. ( http://www.perpetualmotion.ca )
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//

namespace DotNetNuke.Security.Roles
{
	
	/// -----------------------------------------------------------------------------
	/// Project:    DotNetNuke
	/// Namespace:  DotNetNuke.Security.Roles
	/// Class:      RoleController
	/// -----------------------------------------------------------------------------
	/// <summary>
	/// The RoleController class provides Business Layer methods for Roles
	/// </summary>
	/// <history>
	///     [cnurse]    05/23/2005  made compatible with .NET 2.0
	/// </history>
	/// -----------------------------------------------------------------------------
	public class RoleController
	{
		
		#region "Private Methods"
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Auto Assign existing users to a role
		/// </summary>
		/// <param name="roleInfo">The Role to Auto assign</param>
		/// <param name="RoleId">The Id of the Role</param>
		/// <param name="SynchronizationMode">not used</param>
		/// <history>
		/// 	[cnurse]	05/23/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private void AutoAssignUsers (RoleInfo roleInfo, int roleId, bool synchronizationMode)
		{
			
			if (roleInfo.AutoAssignment)
			{
				// loop through users for portal and add to role
				IDataReader dr = DataProvider.Instance().GetUsers(roleInfo.PortalID);
				while (dr.Read())
				{
					try
					{
						AddUserRole(roleInfo.PortalID, Convert.ToInt32(dr["UserId"]), roleId, Null.NullDate);
					}
					catch (Exception)
					{
						// user already belongs to role
					}
				}
				dr.Close();
			}
		}
		
		#endregion
		
		#region "Public Methods"
		
		/// <summary>
		/// Add a new role
		/// </summary>
		/// <param name="roleInfo">The Role to Add</param>
		/// <returns>The Id of the new role</returns>
		/// <returns></returns>
		/// <history>
		/// 	[cnurse]	05/23/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public int AddRole(RoleInfo roleInfo)
		{
			return AddRole(roleInfo, false);
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// This overload adds a role and optionally adds the info to the AspNet Roles
		/// </summary>
		/// <param name="roleInfo">The Role to Add</param>
		/// <param name="SynchronizationMode">Flag indicating whether the role should be
		/// added to the AspNet Roles</param>
		/// <returns>The Id of the new role</returns>
		/// <history>
		/// 	[cnurse]	05/23/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public int AddRole(RoleInfo roleInfo, bool synchronizationMode)
		{
			
			string originalAppName = Common.Globals.GetApplicationName();
			try
			{
				if (! synchronizationMode)
				{
					Common.Globals.SetApplicationName(roleInfo.PortalID);
					Microsoft.ScalableHosting.Security.Roles.CreateRole(roleInfo.RoleName);
				}
				
				int roleId = - 1;
				roleId = DataProvider.Instance().AddRole(roleInfo.PortalID, roleInfo.RoleName, roleInfo.Description, 
					roleInfo.ServiceFee, roleInfo.BillingPeriod.ToString(), roleInfo.BillingFrequency, 
					roleInfo.TrialFee, roleInfo.TrialPeriod, roleInfo.TrialFrequency, roleInfo.IsPublic, 
					roleInfo.AutoAssignment);
				
				AutoAssignUsers(roleInfo, roleId, synchronizationMode);
				
				return roleId;
			}
			finally
			{
				//Reset the Application Name
				Common.Globals.SetApplicationName(originalAppName);
			}
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Adds a User to a Role
		/// </summary>
		/// <param name="PortalID">The Id of the Portal</param>
		/// <param name="UserId">The Id of the User</param>
		/// <param name="RoleId">The Id of the Role</param>
		/// <param name="ExpiryDate">The expiry Date of the Role membership</param>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public void AddUserRole (int portalID, int userId, int roleId, DateTime expiryDate)
		{
			
			string originalAppName = string.Empty;
			
			UserController userController = new UserController();
			UserInfo userInfo = userController.GetUser(portalID, userId);
			UserRoleInfo userRoleInfo = GetUserRole(portalID, userId, roleId);
			
			if (userRoleInfo == null)
			{
				originalAppName = Common.Globals.GetApplicationName();
				Common.Globals.SetApplicationName(portalID);
				DataProvider.Instance().AddUserRole(portalID, userId, roleId, expiryDate);
				userRoleInfo = GetUserRole(portalID, userId, roleId);
				try
				{
					Microsoft.ScalableHosting.Security.Roles.AddUserToRole(userInfo.Membership.Username, userRoleInfo.RoleName);
				}
				catch (Exception)
				{
					//Reset the Application Name
					Common.Globals.SetApplicationName(originalAppName);
				}
			}
			else
			{
				DataProvider.Instance().UpdateUserRole(userRoleInfo.UserRoleID, expiryDate);
			}
			
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Delete a Role
		/// </summary>
		/// <param name="RoleId">The Id of the Role to delete</param>
		/// <param name="PortalId">The Id of the Portal</param>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public void DeleteRole (int roleId, int portalId)
		{
			string originalAppName = Common.Globals.GetApplicationName();
			try
			{
				RoleInfo roleInfo = GetRole(roleId, portalId);
				
				Common.Globals.SetApplicationName(portalId);
				
				//Remove all users from Role
				string[] users = Microsoft.ScalableHosting.Security.Roles.GetUsersInRole(roleInfo.RoleName);
				if (users.Length > 0)
				{
					Microsoft.ScalableHosting.Security.Roles.RemoveUsersFromRole(users, roleInfo.RoleName);
				}
				
				//Remove role
				Microsoft.ScalableHosting.Security.Roles.DeleteRole(roleInfo.RoleName);
				
				DataProvider.Instance().DeleteRole(roleId);
			}
			finally
			{
				//Reset the Application Name
				Common.Globals.SetApplicationName(originalAppName);
			}
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Delete/Remove a User from a Role
		/// </summary>
		/// <param name="PortalID">The Id of the Portal</param>
		/// <param name="UserId">The Id of the User</param>
		/// <param name="RoleId">The Id of the Role</param>
		/// <returns></returns>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public bool DeleteUserRole(int portalId, int userId, int roleId)
		{
			string originalAppName = Common.Globals.GetApplicationName();
			try
			{
				UserController userController = new UserController();
				UserInfo userInfo = userController.GetUser(portalId, userId);
				UserRoleInfo userRoleInfo = GetUserRole(portalId, userId, roleId);
				
				PortalController portalController = new PortalController();
				bool delete = true;
				
				PortalInfo portalInfo = portalController.GetPortal(portalId);
				if (portalInfo != null)
				{
					if ((portalInfo.AdministratorId != userId || portalInfo.AdministratorRoleId != roleId) && portalInfo.RegisteredRoleId != roleId)
					{
						Common.Globals.SetApplicationName(portalId);
						Microsoft.ScalableHosting.Security.Roles.RemoveUserFromRole(userInfo.Membership.Username, userRoleInfo.RoleName);
						DataProvider.Instance().DeleteUserRole(userId, roleId);
					}
					else
					{
						delete = false;
					}
				}
				return delete;
			}
			finally
			{
				//Reset the Application Name
				Common.Globals.SetApplicationName(originalAppName);
			}
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Get a list of roles for the Portal
		/// </summary>
		/// <param name="PortalId">The Id of the Portal</param>
		/// <returns>An ArrayList of RoleInfo objects</returns>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public ArrayList GetPortalRoles(int portalId)
		{
			return GetPortalRoles(portalId, false);
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// This overloads get a list of roles and optionally synchronizes the DNN and
		/// AspNet Roles
		/// </summary>
		/// <param name="PortalId">The Id of the Portal</param>
		/// <param name="SynchronizeRoles">Flagg that indicates whether the DNN and
		/// AspNet roles should be Synchronized</param>
		/// <returns>An ArrayList of RoleInfo objects</returns>
		/// <returns>An ArrayList of RoleInfo objects</returns>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public ArrayList GetPortalRoles(int portalId, bool synchronizeRoles)
		{
			if (synchronizeRoles)
			{
				this.SynchronizeRoles(portalId);
			}
			return CBO.FillCollection(DataProvider.Instance().GetPortalRoles(portalId), typeof(RoleInfo));
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Gets a list of Roles for a User
		/// </summary>
		/// <param name="UserId">The Id of the User</param>
		/// <param name="PortalID">The Id of the Portal</param>
		/// <returns>A string that contains a list of Roles fro the User delimited by "|"</returns>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public string[] GetPortalRolesByUser(int userId, int portalId)
		{
			ArrayList roles = new ArrayList();
			IDataReader dr = null;
			try
			{
				dr = DataProvider.Instance().GetRolesByUser(userId, portalId);
				while (dr.Read())
				{
					roles.Add(System.Convert.ToString(dr["RoleName"]));
				}
				if (roles.Count > 0)
				{
					return (string[])roles.ToArray(typeof(string));
				}
				return null;
			}
			finally
			{
				if (dr != null)
				{
					dr.Close();
				}
			}
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Fetch a single Role
		/// </summary>
		/// <param name="RoleID">The Id of the Role</param>
		/// <param name="PortalID">The Id of the Portal</param>
		/// <returns></returns>
		/// <remarks></remarks>
		/// <history>
		/// 	[cnurse]	05/24/2005	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public RoleInfo GetRole(int roleID, int portalID)
		{
			return ((RoleInfo) CBO.FillObject(DataProvider.Instance().GetRole(roleID, portalID), typeof(RoleInfo)));
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Obtains a role given the role name
		/// </summary>
		/// <param name="PortalId">Portal indentifier</param>
		/// <param name="RoleName">Name of the role to be found</param>
		/// <returns>A RoleInfo object is the role is found</returns>
		/// <history>
		/// 	[VMasanas]	27/08/2004	Created
		/// </history>
		/// -----------------------------------------------------------------------------
		public RoleInfo GetRoleByName(int portalId, string roleName)
		{
			return GetRoleByName(portalId, roleName, false);
		}
		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图欧洲色图婷婷| 欧美一级片免费看| 精品视频免费在线| 欧美成人vps| 亚洲综合色婷婷| 国产在线视视频有精品| 色呦呦国产精品| 久久精品亚洲精品国产欧美| 亚洲宅男天堂在线观看无病毒| 国产在线一区二区综合免费视频| 欧美麻豆精品久久久久久| 亚洲欧美怡红院| 粉嫩久久99精品久久久久久夜| 欧洲一区在线电影| 国产精品第五页| 国产在线不卡一区| 欧美一级高清大全免费观看| 亚洲一线二线三线久久久| 国产黄色精品网站| 欧美大片在线观看一区| 日韩电影在线观看网站| 欧美专区日韩专区| 一区二区三区精品视频在线| 91网站视频在线观看| 中文字幕欧美国产| 国产精品一区免费视频| 精品国产91洋老外米糕| 精品一区二区三区免费视频| 日韩免费高清av| 免费视频最近日韩| 日韩欧美高清dvd碟片| 免费人成精品欧美精品| 在线不卡免费av| 水野朝阳av一区二区三区| 欧美区一区二区三区| 亚洲一区二区三区四区五区黄 | 欧美精选午夜久久久乱码6080| 亚洲欧美色一区| 色婷婷亚洲一区二区三区| 亚洲精品一二三| 色久优优欧美色久优优| 亚洲国产综合91精品麻豆| 欧美日韩国产高清一区二区三区| 亚洲专区一二三| 777a∨成人精品桃花网| 久久国内精品自在自线400部| 精品国产精品网麻豆系列| 国内精品写真在线观看| 久久精子c满五个校花| 国产成人综合精品三级| 国产精品免费aⅴ片在线观看| 99久久99久久精品免费观看| 亚洲综合色丁香婷婷六月图片| 欧美色区777第一页| 免费成人av在线播放| 久久综合狠狠综合久久综合88| 国产精品系列在线播放| 中文字幕日韩av资源站| 91极品美女在线| 婷婷激情综合网| 欧美国产日韩亚洲一区| 在线视频亚洲一区| 久久精品久久99精品久久| 中文字幕欧美日本乱码一线二线 | 奇米色777欧美一区二区| 久久综合九色综合欧美98| www.av亚洲| 日韩成人av影视| 国产喷白浆一区二区三区| 色综合一区二区| 日日摸夜夜添夜夜添精品视频 | 欧美一区二区在线播放| 国产乱淫av一区二区三区| 亚洲日本护士毛茸茸| 91精品视频网| 国产一区二区三区黄视频| 最新日韩av在线| 日韩女优视频免费观看| 99re热视频这里只精品| 免费观看成人鲁鲁鲁鲁鲁视频| 中文成人av在线| 日韩亚洲欧美一区| 色婷婷综合视频在线观看| 极品美女销魂一区二区三区| 一区二区三区中文在线观看| 国产网站一区二区| 91麻豆精品国产91久久久使用方法 | 精品无人区卡一卡二卡三乱码免费卡| 国产精品萝li| 精品91自产拍在线观看一区| 欧美日韩久久久| 99久精品国产| 国产一区二区网址| 日韩电影在线一区| 亚洲h在线观看| 自拍偷拍亚洲欧美日韩| 中文字幕二三区不卡| 精品国产区一区| 欧美一区在线视频| 欧美日韩国产高清一区| 色综合咪咪久久| 国产成人午夜视频| 精品视频一区二区三区免费| 91麻豆免费视频| 成人av在线资源网站| 免费成人在线网站| 亚洲成人免费观看| 亚洲一区二区三区精品在线| 亚洲蜜桃精久久久久久久| 国产日产亚洲精品系列| 久久亚洲综合色一区二区三区| 日韩欧美国产综合一区 | 午夜视频一区二区| 亚洲国产精品嫩草影院| 成人免费在线视频| 中文字幕视频一区二区三区久| 欧美激情一区二区三区| 欧美激情在线看| 日韩一区中文字幕| 亚洲日本一区二区| 一区二区三区中文字幕在线观看| 亚洲精品成人在线| 亚洲精品视频在线观看网站| 一区二区高清视频在线观看| 亚洲一区二区精品久久av| 亚洲一区二区三区四区不卡| 三级不卡在线观看| 精品一区二区三区在线观看国产 | 成人va在线观看| 高清beeg欧美| 色呦呦日韩精品| 欧美一级在线免费| 日韩女优电影在线观看| 久久久国产精品午夜一区ai换脸| 久久精品一区二区| 国产精品污网站| 亚洲精品国产精品乱码不99 | 亚洲精品久久久蜜桃| 天天影视色香欲综合网老头| 爽好久久久欧美精品| 国产精品自拍一区| 93久久精品日日躁夜夜躁欧美| 色婷婷综合久久久中文一区二区 | 欧美私人免费视频| 精品日韩一区二区三区| 日韩一区和二区| 国产欧美va欧美不卡在线| 中文欧美字幕免费| 图片区小说区国产精品视频 | 久久爱另类一区二区小说| 国产电影精品久久禁18| 在线亚洲高清视频| 精品第一国产综合精品aⅴ| 亚洲欧洲日韩av| 另类欧美日韩国产在线| 99久久99久久免费精品蜜臀| 欧美一级欧美三级在线观看| 国产欧美日韩久久| 午夜视频在线观看一区| 99久久久精品免费观看国产蜜| 欧美麻豆精品久久久久久| 国产欧美精品在线观看| 日一区二区三区| 91视频你懂的| 久久久91精品国产一区二区三区| 亚洲精品国产精品乱码不99| 国产精一区二区三区| a美女胸又www黄视频久久| 欧美一区二区在线观看| 一区二区三区视频在线观看| 国产一区视频在线看| 欧美亚洲综合网| 一区视频在线播放| 国产精品一区久久久久| 欧美电视剧在线看免费| 亚洲成人一区在线| 91视视频在线观看入口直接观看www | 久久精品国产网站| 色94色欧美sute亚洲线路一久 | 蜜臀精品久久久久久蜜臀| 99国产精品国产精品久久| 久久午夜国产精品| 美女久久久精品| 3751色影院一区二区三区| 伊人婷婷欧美激情| 99久久精品费精品国产一区二区| 久久免费电影网| 九九九久久久精品| 日韩一区二区三| 男女激情视频一区| 日韩免费看的电影| 麻豆久久久久久久| 欧美一级欧美三级| 日韩中文字幕区一区有砖一区 | 欧美在线观看一二区| 亚洲精品v日韩精品| 色综合久久天天| 亚洲黄色尤物视频| 在线国产电影不卡| 亚洲高清在线视频|