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;
        }
Ejemplo n.º 5
0
        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;
                }
            }
        }
Ejemplo n.º 6
0
 private void Disable()
 {
     btnAdd.Enabled = true;
     btnCancel.Enabled = false;
     btnDelete.Enabled = false;
     btnSave.Enabled = false;
     roleToEdit = null;
 }
Ejemplo n.º 7
0
 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;
         }
     }
 }
Ejemplo n.º 8
0
        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;
                }
            }
        }