Exemple #1
0
        public Node AnalysisData()
        {
            if (this.node == null)
            {
                return(null);
            }
            SuccessRate = 0.0000m;
            List <Node> _entitys = checkFind.GetAllNodes(this.node.State, this.isBlanck);


            foreach (var _entity in _entitys)
            {
                List <Nodes> ls = checkFind.GetData(_entity, _entity.IsBlanck);

                NodesGridView.AddRange(ls);
            }
            var _resultLis = NodesGridView.Where(x => x.SuccessRate >= 2.5M).ToList();

            if (_resultLis != null && _resultLis.Count > 0)
            {
                _resultLis = _resultLis.OrderByDescending(x => x.SuccessRate).ToList();
                var _node1 = _resultLis[0].NextNode;

                if (_node1 != null)
                {
                    SuccessRate = _resultLis[0].SuccessRate;
                    return(_node1);
                }
            }

            // 添加一个子
            foreach (var _view in NodesGridView)
            {
                Node __view = _view.GetNode(checkFind.Copy(), Convert.ToBoolean(this.isBlanck));
                if (__view != null)
                {
                    _view.YGRate = __view.Rate;
                }
            }

            var _NodesGridView = NodesGridView.Where(x => x.YGRate != 0.00M && x.YGRate >= 2.5M).OrderByDescending(x => x.YGRate).ToList();

            if (_NodesGridView != null && _NodesGridView.Count > 0)
            {
                var _node = _NodesGridView[0].NextNode;

                if (_node != null)
                {
                    SuccessRate = _NodesGridView[0].YGRate;
                    return(_node);
                }
            }
            return(null);
        }
Exemple #2
0
        public static Nodes AnalysisData(bool?IsBlanck, CheckFind checkFind, bool isCheck)
        {
            List <Nodes> TNodesGridView = new List <Nodes>();
            List <Node>  _entitys       = checkFind.GetAllNodes(1, IsBlanck);

            if (_entitys == null || _entitys.Count <= 0)
            {
                return(null);
            }
            foreach (var _entity in _entitys)
            {
                List <Nodes> ls = checkFind.GetData(_entity, IsBlanck);
                TNodesGridView.AddRange(ls);
            }
            if (isCheck)
            {
                var _resultLis = TNodesGridView.Where(x => x.SuccessRate >= 2.5M).ToList();
                if (_resultLis != null && _resultLis.Count > 0)
                {
                    _resultLis = _resultLis.OrderByDescending(x => x.SuccessRate).ToList();
                    return(_resultLis[0]);

                    //var _node1 = _resultLis[0].NextNode;
                    //if (_node1 != null)
                    //{
                    //    text = _resultLis[0].RateText;
                    //    return _resultLis[0].SuccessRate;
                    //}
                }
                return(null);
            }
            else
            {
                var _NodesGridView = TNodesGridView.OrderByDescending(x => x.SuccessRate).ToList();
                if (_NodesGridView != null && _NodesGridView.Count > 0)
                {
                    return(_NodesGridView[0]);
                }
                //return GetDefautNode(node);
                throw new NotImplementedException("未处理异常!");
            }
        }