public HttpResponseMessage DeleteRole(int roleId = 0) { if (roleId == 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "Invalid roleId" })); } RoleInfo deleteRole = new RoleInfo(); try { // Gets the role deleteRole = RoleInfoProvider.GetRoleInfo(roleId); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, new { errorMessage = e.Message })); } if (deleteRole != null) { try { // Deletes the role RoleInfoProvider.DeleteRoleInfo(deleteRole); return(Request.CreateResponse(HttpStatusCode.OK, new { })); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message })); } } return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "There's a problem with your role." })); }
/// <summary> /// Deletes role. Called when the "Delete role" button is pressed. /// Expects the CreateRole method to be run first. /// </summary> private bool DeleteRole() { // Get the role RoleInfo deleteRole = RoleInfoProvider.GetRoleInfo("MyNewRole", CMSContext.CurrentSiteID); // Delete the role RoleInfoProvider.DeleteRoleInfo(deleteRole); return(deleteRole != null); }
/// <summary> /// Deletes <see cref="Role"/> from the database. /// </summary> /// <param name="role">Role.</param> public Task DeleteAsync(Role role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } RoleInfoProvider.DeleteRoleInfo(role.Id); return(Task.FromResult(0)); }
/// <summary> /// Deletes role specified by site and group identifier. /// </summary> /// <param name="siteInfo">Site info object</param> /// <param name="groupGuid">AD group identifier</param> private static void DeleteRole(SiteInfo siteInfo, Guid groupGuid) { // Try to get role by GUID and site id RoleInfo role = RoleInfoProvider.GetRoleInfoByGUID(groupGuid, siteInfo.SiteID); // If role is domain role if ((role != null) && role.RoleIsDomain) { MessageLog.LogEvent(ResHelper.GetString("Log_DeletingRole", role.RoleDisplayName)); // Delete role RoleInfoProvider.DeleteRoleInfo(role); } }
/// <summary> /// Handles the UniGrid's OnAction event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void gridElem_OnAction(string actionName, object actionArgument) { if (actionName == "edit") { SelectedItemID = Convert.ToInt32(actionArgument); RaiseOnEdit(); } else if (actionName == "delete") { if (!CheckPermissions("CMS.Roles", PERMISSION_MODIFY)) { return; } RoleInfoProvider.DeleteRoleInfo(ValidationHelper.GetInteger(actionArgument, 0)); } RaiseOnAction(actionName, actionArgument); }
/// <summary> /// Deletes domain objects that exist in CMS and doesn't exist in AD. /// </summary> /// <param name="usersChanged">Records removed users for CMS event log.</param> /// <param name="rolesChanged">Records removed roles for CMS event log.</param> private static void DeleteNonExistingObjects(CumulatedChanges usersChanged, CumulatedChanges rolesChanged) { // Remove CMS (domain) roles that do not exist in AD anymore IQueryable <RoleInfo> excessiveRoles = RoleInfoProvider .GetRoles() .WhereTrue("RoleIsDomain") .WhereNotEquals("RoleGUID", Guid.Empty) .WhereGreaterThan("RoleID", 0) .Columns("RoleID", "RoleGUID", "RoleName") .Where(x => !PrincipalProvider.Exists(x.RoleGUID)); foreach (var role in excessiveRoles) { // Delete role RoleInfoProvider.DeleteRoleInfo(role.RoleID); // Store deleted role GUID and name for EventLog rolesChanged.Add(role.RoleGUID, role.RoleDisplayName, ChangeActionEnum.Deleted); // Add message to log MessageLog.LogEvent(ResHelper.GetString("Log_DeletingRole", role.RoleDisplayName)); } // Remove CMS (domain) users that do not exist in AD anymore IQueryable <UserInfo> excessiveUsers = UserInfoProvider .GetUsers() .WhereTrue("UserIsDomain") .WhereNotEquals("UserGUID", Guid.Empty) .WhereGreaterThan("UserID", 0) .Columns("UserID", "UserGUID", "UserName") .Where(x => !PrincipalProvider.Exists(x.UserGUID)); foreach (var user in excessiveUsers) { // Delete user UserInfoProvider.DeleteUser(user.UserID); // Store deleted user GUID and name for EventLog usersChanged.Add(user.UserGUID, user.UserName, ChangeActionEnum.Deleted); // Add message to log MessageLog.LogEvent(ResHelper.GetString("Log_DeletingUser", user.UserName)); } }