//private void SetActionCheckbox(SecurityActoinTreeItem action, bool check, ItemCollection items)
        //{
        //    foreach (RadTreeViewItem item in items)
        //    {
        //        if (item.DataContext != null)
        //        {
        //            if (item.DataContext == action)
        //            {
        //                var checkbox = item.Header as CheckBox;
        //                checkbox.IsChecked = check;
        //                return;
        //            }
        //        }
        //        SetActionCheckbox(action, check, item.Items);
        //    }


        //}



        //void ucObjectEdit_ObjectSaved(object sender, ObjectSavedArg e)
        //{
        //    ucObjectList.ShowObjects(e.Object.ParentID);
        //}

        //private void btnExtractObjectFromDB_Click(object sender, RoutedEventArgs e)
        //{
        //    BizObject bizObject = new BizObject();
        //    bizObject.ExtractObjectsFromDB();
        //    ucObjectList.ShowObjects(null);
        //}

        private void btnSaveRoleActions_Click(object sender, RoutedEventArgs e)
        {
            var listActions = frmSecurityAction.GetCheckedActions();

            if (listActions.Any(x => x == SecurityAction.NoAccess))
            {
                if (listActions.Any(x => x != SecurityAction.NoAccess))
                {
                    MessageBox.Show("امکان انتخاب گزینه های عدم دسترسی و سایر گزینه ها نمی باشد");
                    return;
                }
            }
            //if (listActions.Any(x => x == SecurityAction.ReadOnly))
            //{
            //    if (listActions.Any(x => x != SecurityAction.NoAccess && x != SecurityAction.ReadOnly))
            //    {
            //        MessageBox.Show("امکان انتخاب گزینه های فقط خواندنی و سایر گزینه ها نمی باشد");
            //        return;
            //    }
            //}
            if (SecuritySubjectID == 0)
            {
                MessageBox.Show("نقشی انتخاب نشده است");
                return;
            }
            if (Message == null)
            {
                Message = new PermissionDTO();
            }
            Message.SecuritySubjectID      = SecuritySubjectID;
            Message.SecurityObjectID       = Convert.ToInt32(Object.ObjectIdentity);
            Message.SecurityObjectCategory = Object.ObjectCategory;
            Message.Actions = listActions;
            var result = bizPermission.SavePermission(MyProjectManager.GetMyProjectManager.GetRequester(), Message);

            if (result.Result == ProxyLibrary.Enum_DR_ResultType.SeccessfullyDone)
            {
                MessageBox.Show("اطلاعات ثبت شد");
            }
            else
            {
                MessageBox.Show(result.Message);
            }
        }
        //void ucObjectEdit_ObjectSaved(object sender, ObjectSavedArg e)
        //{
        //    ucObjectList.ShowObjects(e.Object.ParentID);
        //}

        //private void btnExtractObjectFromDB_Click(object sender, RoutedEventArgs e)
        //{
        //    BizObject bizObject = new BizObject();
        //    bizObject.ExtractObjectsFromDB();
        //    ucObjectList.ShowObjects(null);
        //}

        private void btnSaveRoleActions_Click(object sender, RoutedEventArgs e)
        {
            var listActions = (dtgRoleActions.ItemsSource as List <ActionDTO>).Where(x => x.Selected);

            if (listActions.Any(x => x.Action == SecurityAction.NoAccess))
            {
                if (listActions.Any(x => x.Action != SecurityAction.NoAccess))
                {
                    MessageBox.Show("امکان انتخاب گزینه های عدم دسترسی و سایر گزینه ها نمی باشد");
                    return;
                }
            }
            if (listActions.Any(x => x.Action == SecurityAction.ReadOnly))
            {
                if (listActions.Any(x => x.Action != SecurityAction.NoAccess && x.Action != SecurityAction.MenuAccess && x.Action != SecurityAction.ReadOnly))
                {
                    MessageBox.Show("امکان انتخاب گزینه های فقط خواندنی و سایر گزینه ها نمی باشد");
                    return;
                }
            }
            if (RoleOrRoleGroup == null)
            {
                MessageBox.Show("نقشی انتخاب نشده است");
                return;
            }
            if (Message == null)
            {
                Message = new PermissionDTO();
            }
            Message.RoleOrRoleGroup = RoleOrRoleGroup;
            Message.ObjectCategory  = Object.ObjectCategory;
            Message.ObjectID        = Object.ObjectIdentity;
            Message.Actions         = listActions.ToList();
            bizPermission.SavePermission(Message);
            MessageBox.Show("اطلاعات ثبت شد");
        }