public bool AddUserToRole(DotNetNuke.Entities.Users.UserInfo user, string roleName) { bool rc = false; DotNetNuke.Security.Roles.RoleController roleCtl = new DotNetNuke.Security.Roles.RoleController(); DotNetNuke.Security.Roles.RoleInfo newRole = roleCtl.GetRoleByName(user.PortalID, roleName); if (newRole == null) { throw new Exception("No existe el Rol [" + roleName + "] en el sistema"); } else if (user == null) { throw new Exception("La información de usuario se encuentra vacía"); } else { rc = user.IsInRole(roleName); if (!rc) { roleCtl.AddUserRole(user.PortalID, user.UserID, newRole.RoleID, DateTime.MinValue, DateTime.MaxValue); user = DotNetNuke.Entities.Users.UserController.GetUserById(user.PortalID, user.UserID); rc = user.IsInRole(roleName); } } return(rc); }
/// <summary> /// 绑定左边项 /// </summary> private void BindDataItem() { Playngo_ClientZone_Jurisdiction item = CategoryItem; txtName.Text = item.Name; txtContentText.Text = item.ContentText; //增加权限用户 DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); WebHelper.BindList(cblPermissionsRoles, rc.GetPortalRoles(PortalId), "RoleName", "RoleName"); WebHelper.SelectedListMultiByValue(cblPermissionsRoles, item.Per_Roles); cbPermissionsAllUsers.Checked = item.Per_AllUsers == 0; if (CategoryID > 0) { cmdDelete.Visible = true; cmdDelete.Attributes.Add("onClick", "javascript:return confirm('" + Localization.GetString("DeleteItem") + "');"); } else { //新增界面 cmdDelete.Visible = false; } DotNetNuke.UI.Utilities.ClientAPI.RegisterKeyCapture(txtSearch, btnSearch, 13); }
private void LoadAuthorsList() { //load authors role //load admins role var rc = new DotNetNuke.Security.Roles.RoleController(); ArrayList al = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAuthorRole + PortalId)); ArrayList alAdmin = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAdminRole + PortalId)); //check to make sure we only add authors who aren't already in the list. foreach (UserRoleInfo uri in alAdmin) { bool located = false; foreach (UserRoleInfo ur in al) { if (uri.UserRoleID == ur.UserRoleID) { located = true; } break; } if (!located) { al.Add(uri); } } //sort the author list alphabetically al.Sort(new UserRoleInfoComparer(true)); ddlAuthor.DataTextField = "FullName"; ddlAuthor.DataValueField = "UserId"; ddlAuthor.DataSource = al; ddlAuthor.DataBind(); }
private string GetRoleIds(UserInfo u, int SiteId) { string RoleIds = ""; DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); foreach (DotNetNuke.Security.Roles.RoleInfo r in rc.GetPortalRoles(SiteId)) { string roleName = r.RoleName; foreach (string role in u.Roles) { if (role != "" && role != null) { if (roleName == role) { RoleIds += r.RoleID.ToString() + ";"; break; } } } } foreach (DotNetNuke.Security.Roles.RoleInfo r in u.Social.Roles) { RoleIds += r.RoleID.ToString() + ";"; } return(RoleIds); }
public string BindRolesForSecurityGrid(string rootPath) { StringBuilder sb = new StringBuilder(); DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); foreach (DotNetNuke.Security.Roles.RoleInfo ri in rc.GetPortalRoles(PortalId)) { sb.Append("<option value=\"" + ri.RoleID + "\">" + ri.RoleName + "</option>"); } #if !SKU_LITE if (System.IO.File.Exists(rootPath + "bin\\active.modules.social.dll")) { Modules.ActiveForums.Social social = new Modules.ActiveForums.Social(); using (IDataReader dr = social.ActiveSocialListGroups(PortalId)) { while (dr.Read()) { sb.Append("<optgroup label=\"" + dr["GroupName"].ToString() + "\">"); sb.Append("<option value=\"" + dr["GroupId"].ToString() + ":0\">Group Admin</option>"); sb.Append("<option value=\"" + dr["GroupId"].ToString() + ":1\">Group Member</option>"); sb.Append("</optgroup>"); } dr.Close(); } } #endif return sb.ToString(); }
private static List <int> BuildRoleList() { var psCurrent = PortalSettings.Current; if (psCurrent == null) { return(new List <int>()); } var portalId = psCurrent.PortalId; var user = psCurrent.UserInfo; if (user == null) { return(new List <int>()); } var rc = new DotNetNuke.Security.Roles.RoleController(); return(user.Roles .Select(r => rc.GetRoleByName(portalId, r)) .Where(r => r != null) .Select(r => r.RoleID) .ToList()); }
public string BindRolesForSecurityGrid(string rootPath) { StringBuilder sb = new StringBuilder(); DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); foreach (DotNetNuke.Security.Roles.RoleInfo ri in rc.GetPortalRoles(PortalId)) { sb.Append("<option value=\"" + ri.RoleID + "\">" + ri.RoleName + "</option>"); } #if !SKU_LITE if (System.IO.File.Exists(rootPath + "bin\\active.modules.social.dll")) { Modules.ActiveForums.Social social = new Modules.ActiveForums.Social(); using (IDataReader dr = social.ActiveSocialListGroups(PortalId)) { while (dr.Read()) { sb.Append("<optgroup label=\"" + dr["GroupName"].ToString() + "\">"); sb.Append("<option value=\"" + dr["GroupId"].ToString() + ":0\">Group Admin</option>"); sb.Append("<option value=\"" + dr["GroupId"].ToString() + ":1\">Group Member</option>"); sb.Append("</optgroup>"); } dr.Close(); } } #endif return(sb.ToString()); }
public void CreateNewUser(string FullName, string Email, string AddUserRole) { try { NameSplit(FullName); UserInfo oUser = new UserInfo(); oUser.PortalID = this.PortalId; oUser.IsSuperUser = false; oUser.FirstName = FirstName; oUser.LastName = LastName; oUser.Email = Email; oUser.Username = Email; oUser.DisplayName = FullName; //Fill MINIMUM Profile Items (KEY PIECE) oUser.Profile.PreferredLocale = PortalSettings.DefaultLanguage; oUser.Profile.PreferredTimeZone = PortalSettings.TimeZone; oUser.Profile.FirstName = oUser.FirstName; oUser.Profile.LastName = oUser.LastName; //Set Membership UserMembership oNewMembership = new UserMembership(oUser); oNewMembership.Approved = true; oNewMembership.CreatedDate = System.DateTime.Now; // oNewMembership.Email = oUser.Email; oNewMembership.IsOnLine = false; // oNewMembership.Username = oUser.Username; oNewMembership.Password = GenerateRandomString(7); //Bind membership to user oUser.Membership = oNewMembership; //Add the user, ensure it was successful if (DotNetNuke.Security.Membership.UserCreateStatus.Success == UserController.CreateUser(ref oUser)) { //Add Role if passed something from module settings if (AddUserRole.Length > 0) { DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); //retrieve role string groupName = AddUserRole; DotNetNuke.Security.Roles.RoleInfo ri = rc.GetRoleByName(PortalId, groupName); rc.AddUserRole(this.PortalId, oUser.UserID, ri.RoleID, Null.NullDate); } } } catch (Exception ex) { Exceptions.ProcessModuleLoadException(this, ex); } }
/// <Description> /// 绑定页面项 /// </Description> private void BindPageItem() { EffectDBEntity EffectDB = Setting_EffectDB; hlAddGroups.NavigateUrl = xUrl("Groups"); hlAddGroups.Attributes.Add("onclick", String.Format("return confirm('{0}');", Localization.GetString("hlAddGroups.Confirm", this.LocalResourceFile))); divGroups.Visible = EffectDB.Groups; divCustomModels.Visible = EffectDB.CustomModels; divNumbers.Visible = EffectDB.Downloads; //增加权限用户 DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); WebHelper.BindList(cblPermissionsRoles, rc.GetPortalRoles(PortalId), "RoleName", "RoleName"); //构造增加按钮 if (EffectDB.Layers && SliderID > 0) { liTitle_Layers.Text = String.Format("{0} List", EffectDB.LayerName); StringBuilder AddNewBuilder = new StringBuilder(); //通用按钮 AddNewBuilder.Append(AddNewLayerHtml("")); if (!String.IsNullOrEmpty(EffectDB.LayerType)) { List <String> AddNewList = Common.GetList(EffectDB.LayerType); foreach (String AddNew in AddNewList) { if (!String.IsNullOrEmpty(AddNew)) { AddNewBuilder.Append(AddNewLayerHtml(AddNew)); } } } liAddNewLink_List.Text = AddNewBuilder.ToString(); div_Layers.Visible = true; } else { div_Layers.Visible = false; } ////插入用户按钮的连接 //hlCreateUser.NavigateUrl = String.Format("{0}Resource_UserList.aspx?ModuleId={1}&PortalId={2}&UserId={3}&HomeDirectory={4}&TB_iframe=true&keepThis=true&height=400&width=600", ModulePath, ModuleId, PortalId, UserId, HttpUtility.UrlEncode(PortalSettings.HomeDirectory)); //绑定状态代码 WebHelper.BindList(ddlArticleStatus, typeof(EnumStatus)); }
public static void ensureFolderExists(int portalId) { FolderMappingInfo fm = FolderMappingController.Instance.GetFolderMapping(portalId, "Secure"); if (!FolderManager.Instance.FolderExists(portalId, IMAGE_FOLDER + "/")) { IFolderInfo f1 = FolderManager.Instance.AddFolder(fm, IMAGE_FOLDER); DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); DotNetNuke.Security.Permissions.PermissionController pc = new DotNetNuke.Security.Permissions.PermissionController(); DotNetNuke.Security.Permissions.PermissionInfo w = (DotNetNuke.Security.Permissions.PermissionInfo)pc.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "WRITE")[0]; FolderManager.Instance.SetFolderPermission(f1, w.PermissionID, rc.GetRoleByName(portalId, "Accounts Team").RoleID); } }
public void GetRoles() { DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); var myRoles = rc.GetRoles(this.PortalId); ddlRoles.DataSource = myRoles; ddlRoles.DataBind(); // ADD FIRST (NULL) ITEM ListItem item = new ListItem(); item.Text = "-- Select Role to Assign --"; item.Value = ""; ddlRoles.Items.Insert(0, item); // REMOVE DEFAULT ROLES ddlRoles.Items.Remove("Administrators"); ddlRoles.Items.Remove("Registered Users"); ddlRoles.Items.Remove("Subscribers"); ddlManageUserRole.DataSource = myRoles; ddlManageUserRole.DataBind(); // ADD FIRST (NULL) ITEM ListItem item1 = new ListItem(); item1.Text = "-- Select Role to Assign --"; item1.Value = ""; ddlManageUserRole.Items.Insert(0, item); // REMOVE DEFAULT ROLES ddlManageUserRole.Items.Remove("Administrators"); ddlManageUserRole.Items.Remove("Registered Users"); ddlManageUserRole.Items.Remove("Subscribers"); // GET FOLDERS //var folderInfos = FolderManager.Instance.GetFolders(folder.PortalID).Where(f => f.FolderPath != string.Empty && f.FolderPath.StartsWith(folder.FolderPath)).ToList(); var folderInfos = FolderManager.Instance.GetFolders(this.PortalId); //ddlPdfFilesFolder //asp:DropDownList ID="ddlPdfFilesFolder" runat="server" DataTextField="FolderPath" DataValueField="FolderPath" /> ddlPdfFilesFolder.DataSource = folderInfos; ddlPdfFilesFolder.DataBind(); // ADD FIRST (NULL) ITEM ListItem itemFolder = new ListItem(); itemFolder.Text = "-- Select Folder --"; itemFolder.Value = ""; ddlPdfFilesFolder.Items.Insert(0, itemFolder); }
public void AddClientRole(ModSettings modSettings) { if (_userInfo != null) { if (!_userInfo.IsInRole("Client")) { var rc = new DotNetNuke.Security.Roles.RoleController(); var ri = rc.GetRoleByName(PortalId, "Client"); if (ri != null) rc.AddUserRole(PortalId, _userInfo.UserID, ri.RoleID, Null.NullDate); if (StoreSettings.Current.Get("sendclientroleemail") == "True") NBrightBuyUtils.SendEmail(_userInfo.Email, "addclientrole.html", _clientInfo, "", "", _userInfo.Profile.PreferredLocale); } } }
public static void checkFolderPermissions(int PortalId, IFolderInfo theFolder, int theUserId, List<UserInfo> approvers) { // Get the write permission PermissionController pc = new PermissionController(); PermissionInfo w = (PermissionInfo)pc.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "WRITE")[0]; // Get a list of all the folderPermissions we currently have FolderPermissionCollection folderPermissions = theFolder.FolderPermissions; // Set up the first permission FolderPermissionInfo permission = new FolderPermissionInfo(); // Set up some default values for the permission initFolderPermission(permission, theFolder.FolderID, PortalId, w.PermissionID); // Set the user id to be this user permission.UserID = theUserId; // Add folder permissions, with a check for duplicates. // This duplicate check (the 'True' parameter) will classify this as a "duplicate" if this permission // has the same PermissionID, UserID, and RoleID as a pre-existing one, and not add it if it is a duplicate folderPermissions.Add(permission, true); // Get all the possible approvers for this reimbursement try { foreach (var approver in approvers) { // Create a new permission for this approver permission = new FolderPermissionInfo(); // Initialize all the variables initFolderPermission(permission, theFolder.FolderID, PortalId, w.PermissionID); // Set the userid to the approver's id permission.UserID = approver.UserID; // Add permission for approver folderPermissions.Add(permission, true); } } catch { } // Finally, add permissions for the accounts team: try { permission = new FolderPermissionInfo(); // Initialize new folder permission initFolderPermission(permission, theFolder.FolderID, PortalId, w.PermissionID); // Set the role ID DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); permission.RoleID = rc.GetRoleByName(PortalId, "Accounts Team").RoleID; folderPermissions.Add(permission, true); } catch { } // Once we're finished adding these folder permissions, save it all FolderPermissionController.SaveFolderPermissions(theFolder); }
/// <summary> /// 绑定数据 /// </summary> private void BindDataToPage() { Playngo_ClientZone_DynamicModule Dynamic = DynamicModule; txtTitle.Text = Dynamic.Title; cbIncludeTabLink.Checked = Dynamic.IncludeTabLink == 1; cbPDFGenerator.Checked = Dynamic.PDFGenerator == 1; //增加权限用户 cbPermissionsAllUsers.Checked = Dynamic.Per_AllUsers == 0; DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); WebHelper.BindList(cblPermissionsRoles, rc.GetPortalRoles(PortalId), "RoleName", "RoleName"); WebHelper.SelectedListMultiByValue(cblPermissionsRoles, Dynamic.Per_Roles); }
protected void Page_Load(object sender, EventArgs e) { try { GridView1.DataSource = MealController.GetAllMeals(ModuleId); GridView1.DataBind(); if (this.UserId > 1) { DotNetNuke.Security.Roles.RoleController rolesController = new DotNetNuke.Security.Roles.RoleController(); UserRoleInfo role = rolesController.GetUserRole(0, this.UserId, rolesController.GetRoleByName(0, "Donor").RoleID); DateTime expiryDate = role.ExpiryDate; lblDebug.Text = expiryDate.ToShortDateString(); } } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
protected void Page_Load(object sender, EventArgs e) { try { // lblDebug.Text = this.UserId.ToString() + "<br />"; if (this.UserId >= 1) { DotNetNuke.Security.Roles.RoleController rolesController = new DotNetNuke.Security.Roles.RoleController(); UserRoleInfo role = rolesController.GetUserRole(this.PortalId, this.UserId, rolesController.GetRoleByName(0, "Member").RoleID); if (role != null) { DateTime expiryDate = role.ExpiryDate; if (expiryDate != null) { if (expiryDate > DateTime.Now) { lblExpireDate.Text = "Membership Expires " + expiryDate.ToShortDateString(); } else { lblExpireDate.Text = "Membership Expired " + expiryDate.ToShortDateString() + "<br />Time to Renew!!! "; } } // lblDebug.Text += ""; } } else { //lblExpireDate.Text = ""; divMemberBadge.Visible = false; } } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
/// <summary> /// 绑定数据 /// </summary> private void BindDataToPage() { //发件人邮箱 txtSenderEmail.Text = Settings["PowerForms_SenderEmail"] != null && !string.IsNullOrEmpty(Settings["PowerForms_SenderEmail"].ToString()) ? Convert.ToString(Settings["PowerForms_SenderEmail"]) : Host.HostEmail; #region "邮件设置" txtAdminEmail.Text = Settings["PowerForms_AdminEmail"] != null && !string.IsNullOrEmpty(Settings["PowerForms_AdminEmail"].ToString()) ? Convert.ToString(Settings["PowerForms_AdminEmail"]) : Host.HostEmail; cbSendToAdmin.Checked = Settings["PowerForms_SendToAdmin"] != null && !string.IsNullOrEmpty(Settings["PowerForms_SendToAdmin"].ToString()) ? Convert.ToBoolean(Settings["PowerForms_SendToAdmin"]) : true; cbSendToSubmitUser.Checked = Settings["PowerForms_SendToSubmitUser"] != null && !string.IsNullOrEmpty(Settings["PowerForms_SendToSubmitUser"].ToString()) ? Convert.ToBoolean(Settings["PowerForms_SendToSubmitUser"]) : true; //cbReplaceSender.Checked = Settings["PowerForms_ReplaceSender"] != null && !string.IsNullOrEmpty(Settings["PowerForms_ReplaceSender"].ToString()) ? Convert.ToBoolean(Settings["PowerForms_ReplaceSender"]) : false; cbReplyTo.Checked = Settings["PowerForms_ReplyTo"] != null?Convert.ToBoolean(Settings["PowerForms_ReplyTo"]) : true; WebHelper.BindList <DNNGo_PowerForms_Field>(ddlSubmitUserEmail, DNNGo_PowerForms_Field.FindAllByView(ModuleId, EnumVerification.email), DNNGo_PowerForms_Field._.Alias, DNNGo_PowerForms_Field._.Name); WebHelper.SelectedListByValue(ddlSubmitUserEmail, Settings["PowerForms_SubmitUserEmail"] != null && !string.IsNullOrEmpty(Settings["PowerForms_SubmitUserEmail"].ToString()) ? Convert.ToString(Settings["PowerForms_SubmitUserEmail"]) : "Email"); DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); WebHelper.BindList(cblAdminEmailRoles, rc.GetPortalRoles(PortalId), "RoleName", "RoleName"); WebHelper.SelectedListMultiByValue(cblAdminEmailRoles, Settings["PowerForms_AdminEmailRoles"] != null ? Convert.ToString(Settings["PowerForms_AdminEmailRoles"]) : ""); //需要读取模版的设置 DNNGo_PowerForms_Template Template = DNNGo_PowerForms_Template.FindByModuleId(ModuleId); txtSendAdminTitle.Text = !String.IsNullOrEmpty(Template.ReceiversSubject) ? Template.ReceiversSubject : Localization.GetString("PowerForms_ReceiversSubject", this.LocalResourceFile); txtSendAdminContent.Text = !String.IsNullOrEmpty(Template.ReceiversTemplate) ? Server.HtmlDecode(Template.ReceiversTemplate) : Localization.GetString("PowerForms_ReceiversTemplate", this.LocalResourceFile); txtSendSubmitUserTitle.Text = !String.IsNullOrEmpty(Template.ReplySubject) ? Template.ReplySubject : Localization.GetString("PowerForms_ReplySubject", this.LocalResourceFile); txtSendSubmitUserContent.Text = !String.IsNullOrEmpty(Template.ReplyTemplate) ? Server.HtmlDecode(Template.ReplyTemplate) : Localization.GetString("PowerForms_ReplyTemplate", this.LocalResourceFile); #endregion #region "定时邮件设置" DNNGo_PowerForms_Scheduler SchedulerItem = DNNGo_PowerForms_Scheduler.FindSettings(this); txtScheduleSenderEmail.Text = !String.IsNullOrEmpty(SchedulerItem.SenderEmail) ? SchedulerItem.SenderEmail: Host.HostEmail; txtExcelName.Text = !String.IsNullOrEmpty(SchedulerItem.ExcelName) ? SchedulerItem.ExcelName : "Bulk_{yyyy}_{mm}_{dd}_{time}_{ModuleID}"; cbScheduleEnable.Checked = SchedulerItem.Enable != 0; #endregion }
static string GetGetAssignedRoleName(int AssignedRoleID) { string strAssignedRoleName = ""; if (AssignedRoleID > -1) { try { DotNetNuke.Security.Roles.RoleController objRoleController = new DotNetNuke.Security.Roles.RoleController(); DotNetNuke.Entities.Portals.PortalSettings objPortalSettings = DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings(); strAssignedRoleName = String.Format("{0}", objRoleController.GetRole(AssignedRoleID, objPortalSettings.PortalId).RoleName); } catch (Exception) { // User no longer exists strAssignedRoleName = ""; } } return(strAssignedRoleName); }
public void GetRoles() { DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); var myRoles = rc.GetRoles(this.PortalId); ddlClientManagerUserRole.DataSource = myRoles; ddlClientManagerUserRole.DataBind(); ddlClientManagerDeleteRole.DataSource = myRoles; ddlClientManagerDeleteRole.DataBind(); // ADD FIRST (NULL) ITEM ListItem item = new ListItem(); item.Text = "-- Select Role to Assign --"; item.Value = ""; ddlClientManagerUserRole.Items.Insert(0, item); // REMOVE DEFAULT ROLES ddlClientManagerUserRole.Items.Remove("Administrators"); ddlClientManagerUserRole.Items.Remove("Registered Users"); ddlClientManagerUserRole.Items.Remove("Subscribers"); ddlClientManagerDeleteRole.Items.Insert(0, item); // REMOVE DEFAULT ROLES ddlClientManagerDeleteRole.Items.Remove("Administrators"); ddlClientManagerDeleteRole.Items.Remove("Registered Users"); ddlClientManagerDeleteRole.Items.Remove("Subscribers"); for (int i = 0; i < 30; i++) { ddlDaysToValidVisit.Items.Insert(i, new ListItem((i + 1).ToString(), (i + 1).ToString())); } }
public void GetPreviousAgents(string _AgentRole) { try { DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); var objUserList = rc.GetUsersByRole(this.PortalId, _AgentRole.ToString()); // DotNetNuke.Security.Roles.RoleController objRoleController = new DotNetNuke.Security.Roles.RoleController(); // ArrayList objUserList = objRoleController.GetUsersByRoleName(DotNetNuke.Entities.Portals.PortalSettings.Current.PortalId, _AgentRole.ToString()); ddlPreviousAgent.Items.Insert(0, new ListItem("-- Please Select --", _EmailToDefault.ToString())); int i = 1; foreach (DotNetNuke.Entities.Users.UserInfo objUserInfo in objUserList) { ddlPreviousAgent.Items.Insert(i, new ListItem(objUserInfo.DisplayName.ToString(), objUserInfo.Email.ToString())); } } catch (Exception ex) { Exceptions.ProcessModuleLoadException(this, ex); } }
public void GetRoles() { // ArrayList myRoles = new ArrayList(); DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); var myRoles = rc.GetRoles(this.PortalId); ddlAgentRole.DataTextField = "RoleName"; ddlAgentRole.DataValueField = "RoleName"; ddlAgentRole.DataSource = myRoles; ddlAgentRole.DataBind(); // ADD FIRST (NULL) ITEM ListItem item = new ListItem(); item.Text = "-- Select Role for Agents --"; item.Value = ""; ddlAgentRole.Items.Insert(0, item); // REMOVE DEFAULT ROLES ddlAgentRole.Items.Remove("Administrators"); ddlAgentRole.Items.Remove("Registered Users"); ddlAgentRole.Items.Remove("Subscribers"); }
private bool CheckForAdminRole() { DotNetNuke.Security.Roles.RoleController roleController = new DotNetNuke.Security.Roles.RoleController(); //ArrayList roles = roleController.GetUsersInRole(PortalId, "Administrators"); ArrayList roles = roleController.GetUserRolesByRoleName(PortalId, "Administrators"); foreach (UserRoleInfo userRoleInfo in roles) { if (userRoleInfo.UserID == UserId) { return true; } } return false; }
/// <summary> /// 绑定数据项 /// </summary> private void BindDataItem() { Playngo_ClientZone_DownloadFile Event = EventItem; //验证文章是否存在 if (DownloadID > 0 && (Event == null || DownloadID != Event.ID)) { //需要给出提示,载入文章错误 mTips.LoadMessage("LoadingEventError", EnumTips.Error, this, new String[] { "" }); Response.Redirect(xUrl("Downloads"), false); } if (Event == null) { Event = new Playngo_ClientZone_DownloadFile(); } //这里需要验证一下权限,当作者进入到别人的文章时,需要跳到列表页面 if (Event != null && Event.ID > 0 && (!IsAdministrator && !IsAdmin) && Event.CreateUser != UserId) { //需要给出提示,你无权编辑其他作者的文章 mTips.LoadMessage("NoPermissionEventAlert", EnumTips.Warning, this, new String[] { Event.Title }); Response.Redirect(xUrl("Downloads"), false); } if (Event != null && Event.ID > 0) { liLastUpdated.Text = Event.LastTime.ToString("MM/dd/yyyy hh:mm tt", System.Globalization.DateTimeFormatInfo.InvariantInfo); } txtTitle.Text = Common.RestoreEscape(Event.Title); //txtGameID.Text = Event.GameID; txtVersion.Text = Event.Version; cbIncludeNotification.Checked = Event.NotifyInclude == 1; WebHelper.SelectedListByValue(ddlNotificationStatus, Event.NotifyStatus); cbNotifySubscribers.Checked = Event.NotifySubscribers == 1; txtStartDate.Text = Event.StartTime.ToString("MM/dd/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo); txtStartTime.Text = Event.StartTime.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo); txtReleaseDate.Text = Event.ReleaseDate.ToString("MM/dd/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo); txtReleaseTime.Text = Event.ReleaseDate.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo); txtDisableDate.Text = Event.EndTime.ToString("MM/dd/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo); txtDisableTime.Text = Event.EndTime.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo); //角色 DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); WebHelper.BindList(cblPermissionsRoles, rc.GetPortalRoles(PortalId), "RoleName", "RoleName"); WebHelper.SelectedListMultiByValue(cblPermissionsRoles, Event.Per_Roles); cbPermissionsAllUsers.Checked = Event.Per_AllUsers == 0; //区域 cbAllJurisdictions.Checked = Event.Per_AllJurisdictions == 0; WebHelper.BindList(cblJurisdictions, Playngo_ClientZone_Jurisdiction.GetAllCheckList(ModuleId), "Name", "ID"); WebHelper.SelectedListMultiByValue(cblJurisdictions, Event.Per_Jurisdictions); //Game Categorys WebHelper.BindList(cblGameCategory, Playngo_ClientZone_GameCategory.GetAllCheckList(ModuleId), "Name", "ID"); WebHelper.SelectedListMultiByValue(cblGameCategory, Event.GameCategories); //File Types WebHelper.BindList(cblFileType, Playngo_ClientZone_FileType.GetAllCheckList(ModuleId), "Name", "ID"); WebHelper.SelectedListMultiByValue(cblFileType, Event.FileTypes); Event.CreateUser = Event.CreateUser == 0 ? UserId : Event.CreateUser; UserInfo CreateUserInfo = UserController.GetUserById(PortalId, Event.CreateUser); hfEventAuthor.Value = Event.CreateUser.ToString(); lbEventAuthor.Text = CreateUserInfo != null && CreateUserInfo.UserID > 0 ? CreateUserInfo.DisplayName : "None"; imgEventAuthor.ImageUrl = ViewUserPic(CreateUserInfo); WebHelper.SelectedListByValue(ddlEventStatus, Event.Status);//管理员看到的文章状态 }
/// <summary> /// 提交成功发送邮件 /// 1.构造管理员邮件并发送 /// 2.构造提交者的邮件并发送 /// </summary> /// <param name="SubmitContent"></param> public void SendMail(DNNGo_PowerForms_Content SubmitContent, List <DNNGo_PowerForms_ContentItem> ContentList, List <DNNGo_PowerForms_Field> FieldList) { DNNGo_PowerForms_Template Template = Settings_EmailTemplate; //if (String.IsNullOrEmpty(SubmitContent.Email) || SubmitContent.Email.IndexOf("Anonymous e-mail", StringComparison.CurrentCultureIgnoreCase) >= 0) //{ // DNNGo_PowerForms_ContentItem ContentItem = ContentList.Find(r1 => r1.FieldName.IndexOf(Settings_SubmitUserEmail, StringComparison.CurrentCultureIgnoreCase) >= 0); // if (ContentItem != null && !String.IsNullOrEmpty(ContentItem.ContentValue)) // { // SubmitContent.Email = ContentItem.ContentValue; // } //} EmailInfo Email = new EmailInfo(); Email.Settings = Settings; Email.PushSettings(this); //1.构造管理员邮件并发送 if (Settings_SendToAdmin && !String.IsNullOrEmpty(Settings_AdminEmail))//发邮件||管理员邮箱不为空 { List <String> SendMailAddress = new List <string>(); //Boolean ReplaceSender = Settings["PowerForms_ReplaceSender"] != null && !string.IsNullOrEmpty(Settings["PowerForms_ReplaceSender"].ToString()) ? Convert.ToBoolean(Settings["PowerForms_ReplaceSender"]) : false; //if (ReplaceSender && !String.IsNullOrEmpty(SubmitContent.Email) && Mail.IsValidEmailAddress(SubmitContent.Email, Null.NullInteger)) //{ // Email.ReplyTo = SubmitContent.Email;//替换发件人地址为提交用户 //} /** 因为要加入ReplyTo,这个需要记录下,屏蔽掉之前的代码 2015.12.21 **/ String EmailReplyTo = String.Empty; Boolean ReplyTo = Settings["PowerForms_ReplyTo"] != null?Convert.ToBoolean(Settings["PowerForms_ReplyTo"]) : true; if (ReplyTo && !String.IsNullOrEmpty(SubmitContent.Email) && Mail.IsValidEmailAddress(SubmitContent.Email, Null.NullInteger)) { EmailReplyTo = SubmitContent.Email;//替换发件人地址为提交用户 } //添加管理员邮件到代发列表 if (!String.IsNullOrEmpty(Settings_AdminEmail)) { if (Settings_AdminEmail.IndexOf(";") >= 0) { List <String> adminMailTos = WebHelper.GetList(Settings_AdminEmail, ";"); foreach (var adminMailTo in adminMailTos) { if (!String.IsNullOrEmpty(adminMailTo) && Mail.IsValidEmailAddress(adminMailTo, Null.NullInteger)) { SendMailAddress.Add(adminMailTo); } } } else { SendMailAddress.Add(Settings_AdminEmail); } } //检索勾选的待发送角色 String AdminEmailRoles = Settings["PowerForms_AdminEmailRoles"] != null?Convert.ToString(Settings["PowerForms_AdminEmailRoles"]) : ""; if (!String.IsNullOrEmpty(AdminEmailRoles)) { List <String> RoleNames = Common.GetList(AdminEmailRoles); if (RoleNames != null && RoleNames.Count > 0) { foreach (var RoleName in RoleNames) { if (!String.IsNullOrEmpty(RoleName)) { //找出角色相关的用户信息 DotNetNuke.Security.Roles.RoleController roleController = new DotNetNuke.Security.Roles.RoleController(); ArrayList users = roleController.GetUsersByRoleName(PortalId, RoleName); if (users != null && users.Count > 0) { foreach (UserInfo user in users) { //判断邮件地址是否符合 if (!String.IsNullOrEmpty(user.Email) && Mail.IsValidEmailAddress(user.Email, Null.NullInteger) && !(SendMailAddress.IndexOf(user.Email) >= 0)) { SendMailAddress.Add(user.Email); } } } } } } } //发送给所有的管理用户 foreach (var SendMail in SendMailAddress) { Email = new EmailInfo(); Email.Settings = Settings; Email.PushSettings(this); if (!String.IsNullOrEmpty(EmailReplyTo)) { Email.ReplyTo = EmailReplyTo; } //构造邮件的主题和内容 Email.Subject = FormatContent(SubmitContent, Template.ReceiversSubject, ContentList); Email.Content = FormatContent(SubmitContent, Template.ReceiversTemplate, ContentList); Email.MailTo = SendMail; MailScheduler.AssignMessage(Email);//加到待发队列 } } //2.构造提交者的邮件并发送 if (Settings_SendToSubmitUser) { if (!String.IsNullOrEmpty(SubmitContent.Email) && SubmitContent.Email.IndexOf("Anonymous e-mail", StringComparison.CurrentCultureIgnoreCase) < 0) { Email = new EmailInfo(); Email.Settings = Settings; Email.PushSettings(this); Email.MailTo = SubmitContent.Email; //构造邮件的主题和内容 Email.Subject = FormatContent(SubmitContent, Template.ReplySubject, ContentList); Email.Content = FormatContent(SubmitContent, Template.ReplyTemplate, ContentList); MailScheduler.AssignMessage(Email);//加到待发队列 //NetHelper.SendMail(Email); } } //3.检查有无下拉列表发邮件的字段 foreach (DNNGo_PowerForms_Field fieldItem in FieldList) { if (fieldItem.FieldType == (Int32)EnumViewControlType.DropDownList_SendEmail) { DNNGo_PowerForms_ContentItem contentItem = ContentList.Find(r1 => r1.FieldName == fieldItem.Name); if (contentItem != null && !String.IsNullOrEmpty(contentItem.FieldName)) { Email = new EmailInfo(); Email.Settings = Settings; Email.PushSettings(this); Email.MailTo = contentItem.ContentValue; //构造邮件的主题和内容 Email.Subject = FormatContent(SubmitContent, Template.ReceiversSubject, ContentList); Email.Content = FormatContent(SubmitContent, Template.ReceiversTemplate, ContentList); MailScheduler.AssignMessage(Email);//加到待发队列 //NetHelper.SendMail(Email); } } } }
public bool CreateNewUser(string FirstName, string LastName, string Email, string Password, string AddUserRole) { try { UserInfo oUser = new UserInfo(); oUser.PortalID = this.PortalId; oUser.IsSuperUser = false; oUser.FirstName = FirstName; oUser.LastName = LastName; oUser.Email = Email; oUser.Username = Email; oUser.DisplayName = FirstName + " " + LastName; //Fill MINIMUM Profile Items (KEY PIECE) oUser.Profile.PreferredLocale = PortalSettings.DefaultLanguage; oUser.Profile.PreferredTimeZone = PortalSettings.TimeZone; oUser.Profile.FirstName = oUser.FirstName; oUser.Profile.LastName = oUser.LastName; oUser.Profile.Country = "United States"; oUser.Profile.Region = ddlStates.SelectedValue.ToString(); oUser.Profile.Street = txtAddress.Text.ToString(); oUser.Profile.City = txtCity.Text.ToString(); oUser.Profile.Telephone = txtPhoneNumber.Text.ToString(); oUser.Profile.PostalCode = txtZip.Text.ToString(); //Set Membership UserMembership oNewMembership = new UserMembership(oUser); oNewMembership.Approved = true; oNewMembership.CreatedDate = System.DateTime.Now; // oNewMembership.Email = oUser.Email; oNewMembership.IsOnLine = false; // oNewMembership.Username = oUser.Username; oNewMembership.Password = Password; //Bind membership to user oUser.Membership = oNewMembership; //Add the user, ensure it was successful if (DotNetNuke.Security.Membership.UserCreateStatus.Success == UserController.CreateUser(ref oUser)) { //Add Role if passed something from module settings if (AddUserRole.Length > 0) { DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); //retrieve role int AuctionPortalID = this.PortalId; string groupName = AddUserRole; DotNetNuke.Security.Roles.RoleInfo ri = rc.GetRoleByName(AuctionPortalID, groupName); rc.AddUserRole(AuctionPortalID, oUser.UserID, ri.RoleID, DotNetNuke.Security.Roles.RoleStatus.Approved, false, DateTime.Today, Null.NullDate); } // LOGIN THE NEWLY CREATED USER DotNetNuke.Entities.Users.UserInfo myNewUser = new DotNetNuke.Entities.Users.UserInfo(); DotNetNuke.Security.Membership.UserLoginStatus userLoginStatus = new DotNetNuke.Security.Membership.UserLoginStatus(); myNewUser = DotNetNuke.Entities.Users.UserController.ValidateUser(this.PortalId, Email, Password, "", "", GetIPAddress(), ref userLoginStatus); if (userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS || userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUPERUSER) { //login the user ... DotNetNuke.Entities.Users.UserController.UserLogin(PortalId, myNewUser, "", GetIPAddress(), true); string newURL = Globals.NavigateURL("", "", "NewAccount=Success", "Foreclosure=" + PropertyID.ToString()); // Response.Redirect(Request.RawUrl,true); Response.Redirect(newURL, true); } else { lblErrorMessage.Text = "New User Login Failed"; } return(true); } else { return(false); } } catch (Exception ex) { Exceptions.ProcessModuleLoadException(this, ex); return(false); } }
private void LoadAuthorsList() { //load authors role //load admins role var rc = new DotNetNuke.Security.Roles.RoleController(); ArrayList al = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAuthorRole + PortalId)); ArrayList alAdmin = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAdminRole + PortalId)); //check to make sure we only add authors who aren't already in the list. foreach (UserRoleInfo uri in alAdmin) { bool located = false; foreach (UserRoleInfo ur in al) { if (uri.UserRoleID == ur.UserRoleID) located = true; break; } if (!located) { al.Add(uri); } } //sort the author list alphabetically al.Sort(new UserRoleInfoComparer(true)); ddlAuthor.DataTextField = "FullName"; ddlAuthor.DataValueField = "UserId"; ddlAuthor.DataSource = al; ddlAuthor.DataBind(); }
/// <summary> /// 绑定方案项 /// </summary> private void BindDataItem() { //取出当前的方案实体,并绑定到相应的控件上 DNNGo_PowerForms_Field fieldItem = FieldItem; if (fieldItem == null) { fieldItem = new DNNGo_PowerForms_Field(); } if (fieldItem.ID > 0) { //更新方案 //需要将几个控件设置为不可操作状态 txtName.Enabled = false; ddlControlType.Enabled = false; } else { //新增方案 } //绑定字段类型 //BindFieldTypeView(fieldItem.FieldType); EffectDB EffectDB = Setting_EffectDB; divGroup.Visible = EffectDB.Group; if (EffectDB.Group) { BindTreeGroups(fieldItem); } //增加权限用户 DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); WebHelper.BindList(cblPermissionsRoles, rc.GetPortalRoles(PortalId), "RoleName", "RoleName"); WebHelper.SelectedListMultiByValue(cblPermissionsRoles, fieldItem.Per_Roles); cbPermissionsAllUsers.Checked = fieldItem.Per_AllUsers == 0 ? true : false; WebHelper.BindList(ddlControlType, typeof(EnumViewControlType)); WebHelper.SelectedListByValue(ddlControlType, fieldItem.FieldType); WebHelper.BindList(ddlVerification, typeof(EnumVerification)); WebHelper.SelectedListByValue(ddlVerification, fieldItem.Verification); WebHelper.BindList(rblFTDirection, typeof(EnumControlDirection)); WebHelper.SelectedListByValue(rblFTDirection, fieldItem.Direction); List <DNNGo_PowerForms_Field> FieldControls = DNNGo_PowerForms_Field.FindAllByModuleId(ModuleId); WebHelper.BindList <DNNGo_PowerForms_Field>(ddlFTEqualsControl, FieldControls, "Name", "ID"); WebHelper.BindItem(ddlFTEqualsControl, ViewResourceText("lblDDRSelect", "==Please select=="), "0"); WebHelper.SelectedListByValue(ddlFTEqualsControl, fieldItem.EqualsControl); WebHelper.BindList <DNNGo_PowerForms_Field>(ddlFTAssociatedControl, FieldControls.FindAll(r => r.FieldType == (Int32)EnumViewControlType.DropDownList_Country), "Name", "ID"); WebHelper.BindItem(ddlFTAssociatedControl, ViewResourceText("lblDDRSelect", "==Please select=="), "0"); WebHelper.SelectedListByValue(ddlFTAssociatedControl, fieldItem.AssociatedControl); txtName.Text = fieldItem.Name; txtDescription.Text = fieldItem.Description; txtAlias.Text = fieldItem.Alias; txtToolTip.Text = fieldItem.ToolTip; txtFTDefaultValue.Text = fieldItem.DefaultValue; txtTinymceDefaultValue.Text = fieldItem.DefaultValue; txtFTListCollection.Text = fieldItem.FiledList; txtFTRows.Text = fieldItem.Rows.ToString(); WebHelper.SelectedListByValue(rblFTDirection, fieldItem.Direction); txtFTListColumn.Text = fieldItem.ListColumn.ToString(); txtFTInputLength.Text = fieldItem.InputLength.ToString(); txtFTWidth.Text = fieldItem.Width.ToString(); WebHelper.BindList(ddlFTWidth, typeof(EnumWidthSuffix)); WebHelper.SelectedListByValue(ddlFTWidth, fieldItem.WidthSuffix); //文章状态 cbStatus.Checked = fieldItem.Status == (Int32)EnumStatus.Activation; //是否必填 cbRequired.Checked = fieldItem.Required == 1; //发布时间和结束时间 if (FieldID > 0 && fieldItem != null && fieldItem.ID > 0) { liStartDateTime.Text = fieldItem.StartTime.ToString("MM/dd/yyyy hh:mm tt", new CultureInfo("en-US", false)); //Thread.CurrentThread.CurrentCulture liDisableDateTime.Text = fieldItem.EndTime.ToString("MM/dd/yyyy hh:mm tt", new CultureInfo("en-US", false)); //Thread.CurrentThread.CurrentCulture } txtStartDate.Text = fieldItem.StartTime.ToString("MM/dd/yyyy", new CultureInfo("en-US", false)); txtStartTime.Text = fieldItem.StartTime.ToString("hh:mm tt", new CultureInfo("en-US", false)); txtDisableDate.Text = fieldItem.EndTime.ToString("MM/dd/yyyy", new CultureInfo("en-US", false)); txtDisableTime.Text = fieldItem.EndTime.ToString("hh:mm tt", new CultureInfo("en-US", false)); }
private string GetRoleIds(string[] Roles, int SiteId) { string RoleIds = ""; DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); foreach (DotNetNuke.Security.Roles.RoleInfo r in rc.GetPortalRoles(SiteId)) { string roleName = r.RoleName; foreach (string role in Roles) { if (role != "" && role != null) { if (roleName == role) { RoleIds += r.RoleID.ToString() + ";"; break; } } } } return RoleIds; }
/// <summary> /// Gets the notification emails. /// </summary> /// <param name="topic">The topic.</param> /// <returns>A List of Users</returns> public List <string> GetNotificationEmails(Topic topic) { Setting wikiSettings = new SettingBO(this.mUnitOfWork).GetByModuleID(topic.ModuleId); List <string> lstUsers = new List <string>(); if (wikiSettings != null) { // Gather the email address from the roles assigned to this module... if (!string.IsNullOrWhiteSpace(wikiSettings.CommentNotifyRoles)) { DotNetNuke.Security.Roles.RoleController objRoles = new DotNetNuke.Security.Roles.RoleController(); DotNetNuke.Entities.Modules.ModuleController objModules = new DotNetNuke.Entities.Modules.ModuleController(); DotNetNuke.Entities.Modules.ModuleInfo objModule = objModules.GetModule(topic.ModuleId); if (objModule != null) { bool fetchUsingDNNRoles = false; bool fetchUsingCustomRoles = false; bool fetchViewUsers = false; bool fetchEditUsers = false; fetchUsingDNNRoles = !string.IsNullOrWhiteSpace(wikiSettings.ContentEditorRoles) && wikiSettings.ContentEditorRoles.StartsWith("UseDNNSettings;"); fetchUsingCustomRoles = !string.IsNullOrWhiteSpace(wikiSettings.CommentNotifyRoles) && !wikiSettings.CommentNotifyRoles.StartsWith("UseDNNSettings;"); if (!fetchUsingCustomRoles) { fetchEditUsers = wikiSettings.CommentNotifyRoles.Contains(";Edit"); fetchViewUsers = wikiSettings.CommentNotifyRoles.Contains(";View"); } // Compile our view users, only if enabled if (fetchViewUsers) { foreach (string role in objModule.AuthorizedViewRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { if (role.ToLower().Equals("all users")) { // Trap against fake roles var arrUsers = DotNetNuke.Entities.Users.UserController.GetUsers(DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings().PortalId).OfType <UserInfo>(); foreach (DotNetNuke.Entities.Users.UserInfo objUser in arrUsers) { if (!lstUsers.Contains(objUser.Email)) { lstUsers.Add(objUser.Email); } } } else { // This role should be legit foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } // Compile our edit users, only if enabled if (fetchEditUsers) { if (fetchUsingDNNRoles) { // Fetch using dnn edit roles foreach (string role in objModule.AuthorizedEditRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { if (role.ToLower().Equals("all users")) { // Trap against fake roles } else { // This role should be legit foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } else { // Fetch using custom wiki edit roles foreach (string role in wikiSettings.ContentEditorRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } } } // Gather any users emails address from comments in this topic... if (wikiSettings.CommentNotifyUsers == true) { IEnumerable <CommentEmails> lstEmails = new CommentBO(this.mUnitOfWork).GetCommentNotifyUsers(topic.TopicID); foreach (CommentEmails objCommentEmail in lstEmails) { if (!lstUsers.Contains(objCommentEmail.Email)) { lstUsers.Add(objCommentEmail.Email); } } } } return(lstUsers); }