public void AddExistingComponent(BusinessRuleComponentVO comp)
        {
            if (_selectedNode is BusinessRuleNodeVO)
            {
                BusinessRuleNodeVO parentNode = (BusinessRuleNodeVO)_selectedNode;

                if (parentNode.ComponentList == null)
                {
                    parentNode.ComponentList =
                        new ObservableCollection <BusinessRuleComponentVO>();
                }

                //If the comp has no children then add them so the tree can update.
                if (comp.Children == null)
                {
                    comp.Children = new ObservableCollection <BusinessRuleComponentVO>();
                }

                RulesHelper.PopulateComponentHeirarchy(comp);
                parentNode.ComponentList.Add(comp);

                _tracker.ChangedRules.Add(parentNode);
                _tracker.SaveChangesToWorkingFile();

                ControlHelper.TreeViewHelper.ExpandAndSelectTreeItem(this.treeRules, comp);
            }
        }
Ejemplo n.º 2
0
        //RuleAction _action;

        public EditBusinessRule(BusinessRuleNodeVO rule, bool isReadOnly)
        {
            InitializeComponent();

            _rule = rule;

            _isReadOnly = isReadOnly;

            if (isReadOnly)
            {
                this.cmdCancel.Visibility   = Visibility.Collapsed;
                this.cmdOkay.Visibility     = Visibility.Collapsed;
                this.txtRuleName.IsReadOnly = true;
            }

            if (_rule == null)
            {
                _rule = new BusinessRuleNodeVO("", Guid.NewGuid());
                _rule.ComponentList =
                    new System.Collections.ObjectModel.ObservableCollection <BusinessRuleComponentVO>
                        ();
                _isAdd = true;
            }
            _origName = _rule.Code;

            this.DataContext = _rule;


            var total = _rule.ComponentList.Traverse(x => x.Children).Sum(x => x.Children == null? 0 : x.Children.Count());

            total += _rule.ComponentList == null ? 0 : _rule.ComponentList.Count();
            txtComponentCount.Text = total.ToString();
        }
 private void DeleteBusinessRule(BusinessRuleNodeVO rule)
 {
     rule.Deleted = true;
     _rootNode[0].Nodes.Remove(rule);
     _tracker.ChangedRules.Add(rule);
     _tracker.SaveChangesToWorkingFile();
 }
        private void EditBusinessRule(BusinessRuleNodeVO rule)
        {
            EditBusinessRuleWindow w;

            if (rule == null)
            {
                w = new EditBusinessRuleWindow(rule);
            }
            else
            {
                BusinessRuleNodeVO n = Utilities.DeepCopy <BusinessRuleNodeVO>(rule);
                w = new EditBusinessRuleWindow(n);
            }
            w.ShowDialog();
        }
        public void UpdateBusinessRules(BusinessRuleNodeVO rule, bool isAdd)
        {
            _tracker.ChangedRules.Add(rule);
            _tracker.SaveChangesToWorkingFile();
            if (isAdd)
            {
                _rootNode[0].Nodes.Add(rule);
                ControlHelper.TreeViewHelper.ExpandAndSelectTreeItem(this.treeRules, rule);
            }
            else
            {
                BusinessRuleNodeVO ruleNode = (from n in _rootNode[0].Nodes
                                               where n.Id == rule.Id
                                               select n).First <BusinessRuleNodeVO>();

                int idx = _rootNode[0].Nodes.IndexOf(ruleNode);
                _rootNode[0].Nodes[idx] = rule;
            }
        }
 private void AddComponentNode(BusinessRuleComponentVO newNode, BusinessRuleNodeVO parentNode)
 {
     if (parentNode != null)
     {
         BusinessRuleNodeVO node = (from n in _rootNode[0].Nodes
                                    where n.Id == parentNode.Id
                                    select n).First();
         node.ComponentList.Add(newNode);
     }
     else
     {
         foreach (BusinessRuleNodeVO r in _rootNode[0].Nodes)
         {
             if (r.ComponentList != null)
             {
                 foreach (BusinessRuleComponentVO c in r.ComponentList)
                 {
                     SearchAddChildNodes(c, newNode);
                 }
             }
         }
     }
 }
        public void UpdateBusinessComponent(BusinessRuleComponentVO comp, BusinessRuleNodeVO parentNode, bool isAdd)
        {
            //Adds to visual tree.
            if (isAdd)
            {
                //If it's a business rule as parent, will need to add the component
                //so that the relationship is updated.
                if (parentNode != null)
                {
                    if (parentNode.ComponentList == null)
                    {
                        parentNode.ComponentList =
                            new ObservableCollection <BusinessRuleComponentVO>();
                    }
                    parentNode.ComponentList.Add(comp);
                }
                else
                {
                    AddComponentNode(comp, parentNode);
                }
                ControlHelper.TreeViewHelper.ExpandAndSelectTreeItem(this.treeRules, comp);
            }
            else
            {
                ReplaceComponentNodes(comp);
            }

            //Add changes to change tracking.
            _tracker.ChangedComponents.Add(comp);
            if (parentNode != null)
            {
                _tracker.ChangedRules.Add(parentNode);
            }

            _tracker.SaveChangesToWorkingFile();
        }
        private void EditBusinessRuleComponent(BusinessRuleComponentVO comp, BusinessRuleNodeVO parent)
        {
            EditBusinessRuleCompWindow w = new EditBusinessRuleCompWindow(comp, parent, false);

            w.ShowDialog();
        }
Ejemplo n.º 9
0
 public EditBusinessRuleComponent(BusinessRuleComponentVO component, BusinessRuleNodeVO parent, bool isReadOnly)
     : this(component, isReadOnly)
 {
     _parentRule = parent;
 }
Ejemplo n.º 10
0
        public EditBusinessRuleWindow(BusinessRuleNodeVO rule)
        {
            InitializeComponent();

            spMainContent.Children.Add(new EditBusinessRule(rule, false));
        }
 public EditBusinessRuleCompWindow(BusinessRuleComponentVO comp, BusinessRuleNodeVO parent, bool isReadOnly)
 {
     InitializeComponent();
     spMainContent.Children.Add(new EditBusinessRuleComponent(comp, parent, isReadOnly));
 }