public void DeleteRole(RoleEdit roleToEdit) { Role r = this.repository.GetRole(roleToEdit.RoleName); if (r != null && r.Users.Count > 0) throw new UpdateException("Nie można usunąć roli, ponieważ\nposiada powiązania"); else { this.repository.DeleteRole(r); } }
public void EditRole(RoleEdit role) { if (role != null) { Role r = this.GetRole(role.RoleID); if (r != null) { r.Name = role.RoleName; SPDatabase.DB.SaveChanges(); } } }
public RoleEdit GetRoleEdit(string rolename) { Role r = this.repository.GetRole(rolename); if (r != null) { RoleEdit role = new RoleEdit() { RoleID = r.RoleID, RoleName = r.Name, Privilages = r.Privilages }; return role; } return null; }
public bool EditRole(RoleEdit role) { if (role != null) { Role r = this.repository.GetRole(role.RoleName); if (r != null && r.RoleID != role.RoleID && r.Name.ToLower().Equals(role.RoleName.ToLower())) role.AddError("Rola o podanej\nnazwie już istnieje"); if (role.IsValid) { r = this.repository.GetRole(role.RoleID); r.Name = role.RoleName; r.Privilages.Clear(); foreach (Privilage p in role.Privilages) r.Privilages.Add(p); this.repository.EditRole(role); return true; } return false; } return false; }
private void btnUpdate_Click(object sender, EventArgs e) { if (roleToEdit != null) { roleToEdit.ClearErrors(); roleToEdit.RoleName = tbNewRoleName.Text; List<string> list = clbPrivilages.CheckedItems.Cast<string>().ToList<string>(); if (list != null && list.Count > 0) { List<Privilage> privilages = new List<Privilage>(); foreach (string name in list) { Privilage p = RoleController.Instance.GetPrivilage(name); if (p != null) privilages.Add(p); } roleToEdit.Privilages = privilages.AsEnumerable(); } else roleToEdit.Privilages = null; if (!RoleController.Instance.EditRole(roleToEdit)) { string errors = string.Empty; foreach (string error in roleToEdit.Errors) { errors = errors + error + "\n"; } lblValidation.Text = errors; } else { FillWithRoles(); Clear(); roleToEdit = null; Disable(); changes = true; } } }
private void Disable() { btnAdd.Enabled = true; btnCancel.Enabled = false; btnDelete.Enabled = false; btnSave.Enabled = false; roleToEdit = null; }
private void btnDeleteRole_Click(object sender, EventArgs e) { if (roleToEdit != null) { try { RoleController.Instance.DeleteRole(roleToEdit); FillWithRoles(); Clear(); changes = true; roleToEdit = null; Disable(); } catch (UpdateException ex) { lblValidation.Text = ex.Message; } } }
private void listRoles_DoubleClick(object sender, EventArgs e) { if (listRoles.SelectedIndex >= 0) { RoleEdit role = RoleController.Instance.GetRoleEdit(listRoles.SelectedItem.ToString()); if (role != null) { roleToEdit = role; btnAdd.Enabled = false; btnCancel.Enabled = true; btnDelete.Enabled = true; btnSave.Enabled = true; tbNewRoleName.Text = role.RoleName; for (int i = 0; i < clbPrivilages.Items.Count; i++) clbPrivilages.SetItemChecked(i, false); if (role.Privilages != null) { foreach (Privilage p in role.Privilages) { for (int i = 0; i < clbPrivilages.Items.Count; i++) if (p.Name.Equals(clbPrivilages.Items[i].ToString())) { clbPrivilages.SetItemChecked(i, true); break; } } } } else { lblValidation.Text = "Rola nie istnieje"; roleToEdit = null; } } }