示例#1
0
        private void btnSave_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 (Message == null)
            {
                Message = new ConditionalPermissionDTO();
            }
            Message.SecurityObjectID  = Convert.ToInt32(lokObject.SelectedValue);
            Message.SecuritySubjectID = Convert.ToInt32(lokSubject.SelectedValue);
            Message.EntityID          = (int)lokEntities.SelectedValue;
            Message.HasNotRole        = optHasNotRole.IsChecked == true;
            //if (cmbColumns.SelectedItem != null)
            //    Message.ColumnID = (int)cmbColumns.SelectedValue;
            //else
            //    Message.ColumnID = 0;
            //if (cmbCommands.SelectedItem != null)
            //    Message.CommandID = (int)cmbCommands.SelectedValue;
            //else
            //    Message.CommandID = 0;

            Message.Value = txtValue.Text;
            if (optColumn.IsChecked == true)
            {
                Message.FormulaID        = 0;
                Message.ConditinColumnID = (int)cmbConditionalColumns.SelectedValue;
            }
            else if (optFormula.IsChecked == true)
            {
                Message.ConditinColumnID = 0;
                Message.FormulaID        = (int)cmbFormula.SelectedValue;
            }
            Message.Actions = listActions;
            bizPermission.SaveConditionalPermission(Message);
            MessageBox.Show("اطلاعات ثبت شد");
        }
        //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);
            }
        }