/// <summary>
 /// 从父节点向下找,确定子节点
 /// </summary>
 /// <param name="vm"></param>
 /// <param name="index"></param>
 private void Bing(ProductAccessoriesQueryConditionVM vm, int index)
 {
     if (index < ConditionList.Count)
     {
         if (IsTreeQuery) //树形结构需要一层一层按节点加载
         {
             var tempdata = (from p in ConditionList where p.ParentCondition.SysNo == vm.Condition.SysNo select p).FirstOrDefault();
             if (tempdata != null)
             {
                 spCondition.Children.Add(GetStackPanel(tempdata, index));
                 Bing(tempdata, index + 1);
             }
         }
         else //平行结构直接加载
         {
             spCondition.Children.Clear();
             index = 0;
             foreach (var item in ConditionList)
             {
                 spCondition.Children.Add(GetStackPanel(item, index));
                 index = index + 1;
             }
         }
     }
 }
        /// <summary>
        /// 返回生成的控件
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        private StackPanel GetStackPanel(ProductAccessoriesQueryConditionVM condition, int index)
        {
            TextBlock txt = new TextBlock()
            {
                VerticalAlignment = VerticalAlignment.Center
            };

            System.Windows.Data.Binding bing = new System.Windows.Data.Binding("Condition.ConditionName");
            txt.SetBinding(TextBlock.TextProperty, bing);
            ComboBox cb = new ComboBox()
            {
                Width = 120, Height = 25, Margin = new Thickness(20, 0, 0, 0)
            };

            cb.Name = "cb" + index.ToString();
            cb.DisplayMemberPath = "ConditionValue";
            cb.SelectedValuePath = "SysNo";
            cb.SelectionChanged += new SelectionChangedEventHandler(cb_SelectionChanged);
            StackPanel sp = new StackPanel()
            {
                Orientation = Orientation.Horizontal, Margin = new Thickness(5)
            };

            sp.Children.Add(txt);
            sp.Children.Add(cb);
            sp.DataContext = condition;
            NodeNumber     = index;
            switch (index) //得到每个条件的数据源
            {
            case 0:
                ConditionValueList1 = GetConditionValueList(condition.Condition.SysNo, index);
                break;

            case 1:
                ConditionValueList2 = GetConditionValueList(condition.Condition.SysNo, index);
                break;

            case 2:
                ConditionValueList3 = GetConditionValueList(condition.Condition.SysNo, index);
                break;

            case 3:
                ConditionValueList4 = GetConditionValueList(condition.Condition.SysNo, index);
                break;

            default:
                break;
            }


            return(sp);
        }
 /// <summary>
 /// 查询条件model转换
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 private ProductAccessoriesQueryConditionInfo ConvertyConditionEntity(ProductAccessoriesQueryConditionVM data)
 {
     return(new ProductAccessoriesQueryConditionInfo()
     {
         Condition = new AccessoriesQueryConditionInfo()
         {
             ConditionName = data.Condition.ConditionName, MasterSysNo = data.Condition.MasterSysNo, Priority = data.Priority, SysNo = data.Condition.SysNo
         },
         ParentCondition = new AccessoriesQueryConditionInfo()
         {
             ConditionName = data.ParentCondition.ConditionName, SysNo = data.ParentCondition.SysNo
         },
     });
 }
 public ProductAccessoriesQueryConditionSet()
 {
     InitializeComponent();
     this.ConditionSetResult.LoadingDataSource += new EventHandler <LoadingDataEventArgs>(ConditionSetResult_LoadingDataSource);
     this.Loaded += (sender, e) =>
     {
         facade           = new ProductAccessoriesFacade();
         model            = new ProductAccessoriesQueryConditionVM();
         this.DataContext = model;
         if (IsTreeQuery)
         {
             sPPreant.Visibility = Visibility.Visible;
         }
         else
         {
             sPPreant.Visibility = Visibility.Collapsed;
         }
         this.ConditionSetResult.Bind();
     };
 }
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="modle"></param>
 /// <param name="callback"></param>
 public void UpdateAccessoriesQueryCondition(ProductAccessoriesQueryConditionVM modle, EventHandler <RestClientEventArgs <dynamic> > callback)
 {
     restClient.Update(UpdateAccessoriesQueryConditionUrl, ConvertyConditionEntity(modle), callback);
 }