private bool UserIsAdmin() { Guid id = (Guid)Membership.GetUser().ProviderUserKey; List <userRole> roles = dc.userRoles.Where(c => c.userId.Equals(id)).Select(c => c).ToList(); foreach (userRole role in roles) { if (role.roleCode.Equals("CERT_VLUSER")) { return(true); } if (role.roleCode.Equals("CERT_ACTMNG")) { return(true); } } userSetting setting = dc.userSettings.Where(c => c.userId.Equals(id)).Select(c => c).SingleOrDefault(); if (setting != null) { if (setting.siteAdmin) { return(true); } } return(false); }
protected void RadButtonCreate_Click(object sender, EventArgs e) { if (Membership.FindUsersByName(TextBoxUserName.Text).Count == 0 && Membership.FindUsersByEmail(TextBoxUserName.Text).Count == 0) { MembershipUser membershipUser = Membership.CreateUser(TextBoxUserName.Text, TextBoxPassword.Text, TextBoxUserName.Text); Roles.AddUserToRole(TextBoxUserName.Text, "User"); // Roles.AddUserToRole(TextBoxUserName.Text, "Administrator"); PlaceHolderCreateAdmin.Visible = false; CreateAdminStatus.Text = "User account " + TextBoxUserName.Text + " is created"; DALPortalDataContext dc = new DataAccess.Database.DALPortalDataContext(); userSetting setting = new userSetting(); setting.userId = (Guid)membershipUser.ProviderUserKey; setting.name = TextBoxName.Text; setting.companyCode = companyDDL.SelectedValue; setting.defaultCultureCode = "nl"; dc.userSettings.InsertOnSubmit(setting); dc.SubmitChanges(); Session["username"] = TextBoxUserName.Text; Session["name"] = TextBoxName.Text; Response.Redirect("~/Pages/AddRole.aspx"); } else { CreateAdminStatus.Text = "There is already a user with that username"; } }
protected void Page_Load(object sender, EventArgs e) { string username = (string)Session["username"]; string name = (string)Session["name"]; UsernameLiteral2.Text = username; if (name.Equals(" ")) { name = ""; } if (!IsPostBack) { TextBoxName.Text = name; } DALPortalDataContext dc = new DALPortalDataContext(); Guid userId2 = dc.Users.Where(c => c.UserName.Equals(username)).Select(c => c.UserId).SingleOrDefault(); userSetting setting = dc.userSettings.Where(c => c.userId.Equals(userId2)).SingleOrDefault(); if (setting != null) { companyDDL.SelectedValue = setting.company.companyCode; if (!IsPostBack) { adminCheckBox.Checked = setting.siteAdmin; } } }
protected void RadButtonCreate_Click(object sender, EventArgs e) { DALPortalDataContext dc = new DALPortalDataContext(); string username = (string)Session["username"]; string name = (string)Session["name"]; string[] items = new string[RadListBoxDestination.Items.Count]; for (int i = 0; RadListBoxDestination.Items.Count > i; i++) //RadListBoxItem item in RadListBoxDestination.Items) { items[i] = RadListBoxDestination.Items[i].Value; } Guid userId2 = dc.Users.Where(c => c.UserName.Equals(username)).Select(c => c.UserId).SingleOrDefault(); List <userRole> roles = dc.userRoles.Where(c => c.userId.Equals(userId2)).ToList(); for (int i = 0; roles.Count() > i; i++) { if (!items.Contains(roles[i].roleCode)) { // roles.RemoveAt(i); dc.userRoles.DeleteOnSubmit(roles[i]); } } for (int i = 0; items.Count() > i; i++) { if (!roles.Any(c => c.roleCode.Equals(items[i]))) { userRole roleUser = new userRole { userId = userId2, roleCode = items[i] }; dc.userRoles.InsertOnSubmit(roleUser); } } userSetting userSetting = dc.userSettings.Where(c => c.userId.Equals(userId2)).SingleOrDefault(); if (userSetting == null) { userSetting = new userSetting { userId = userId2 }; userSetting.companyCode = "ZW"; userSetting.defaultCultureCode = "nl"; userSetting.name = TextBoxName.Text; userSetting.siteAdmin = adminCheckBox.Checked; dc.userSettings.InsertOnSubmit(userSetting); } else { userSetting.siteAdmin = adminCheckBox.Checked; userSetting.name = TextBoxName.Text; userSetting.companyCode = companyDDL.SelectedValue; } dc.SubmitChanges(); Response.Redirect("~/Pages/UserAccounts.aspx"); }
protected void RadMenuMain_DataBound(object sender, EventArgs e) { string redirectUrl = "~/Pages/UnAuthorised.aspx"; RadMenu map = (RadMenu)sender; IList <RadMenuItem> siteMapList = map.GetAllItems(); MembershipUser member = Membership.GetUser(); string id = member.ProviderUserKey.ToString().ToLower(); List <userRole> roles = dc.userRoles.Where(c => c.userId.ToString().ToLower().Equals(id)).ToList(); String currentUrl = HttpContext.Current.Request.Url.AbsolutePath; Guid idUser = (Guid)member.ProviderUserKey; userSetting setting = dc.userSettings.Where(c => c.userId.Equals(idUser)).Select(c => c).SingleOrDefault(); int businessPartnerId = dc.contactPersons.Where(c => c.userId.Equals(idUser)).Select(c => c.businessPartnerId).SingleOrDefault(); if (setting == null) { var siteMapNode = siteMapList.Where(c => c.NavigateUrl.EndsWith("/Pages/UserAccounts.aspx")).FirstOrDefault(); if (siteMapNode != null) { siteMapNode.Remove(); if (currentUrl.Contains("UserAccounts.aspx")) { Response.Redirect(redirectUrl); } } } else if (setting.siteAdmin == false) { var siteMapNode = siteMapList.Where(c => c.NavigateUrl.EndsWith("/Pages/UserAccounts.aspx")).FirstOrDefault(); if (siteMapNode != null) { siteMapNode.Remove(); if (currentUrl.Contains("UserAccounts.aspx")) { Response.Redirect(redirectUrl); } } List <String> DeliveryDetailsRoles = new List <string>() { "CERT_USER", "CERT_VLUSER", "CERT_ACTMNG" }; if (!roles.Any(c => DeliveryDetailsRoles.Contains(c.roleCode))) { siteMapNode = siteMapList.Where(c => c.NavigateUrl.EndsWith("/Pages/DeliveryDetails.aspx")).FirstOrDefault(); if (siteMapNode != null) { siteMapNode.Remove(); if (currentUrl.Contains("DeliveryDetails.aspx")) { Response.Redirect(redirectUrl); } } } roleCheck(map); } //CERT_ACTMNG }