Exemple #1
0
        /**根据RawMaterialBean创建原料资料对象RawMaterial*/
        public RawMaterial CreateRawMaterial(RawMaterialBean bean)
        {
            RawMaterial beanBack = new RawMaterial();

            beanBack.Id             = bean.Id;
            beanBack.RawId          = bean.RawId;
            beanBack.MaterialName   = bean.MaterialName;
            beanBack.Format         = bean.Format;
            beanBack.Pinying        = bean.Pinying;
            beanBack.InGoodsUnit    = bean.InGoodsUnit;
            beanBack.StockUnit      = bean.StockUnit;
            beanBack.InGoodsStock   = bean.InGoodsStock;
            beanBack.FormulaUnit    = bean.FormulaUnit;
            beanBack.StockFormula   = bean.StockFormula;
            beanBack.InGoodsPrice   = bean.InGoodsPrice;
            beanBack.StockMax       = bean.StockMax;
            beanBack.StockMin       = bean.StockMin;
            beanBack.WriteDowns     = bean.WriteDowns;
            beanBack.OrderRawAdd    = bean.OrderRawAdd;
            beanBack.RawAddPrice    = bean.RawAddPrice;
            beanBack.SaleUnit       = bean.SaleUnit;
            beanBack.IsWeight       = bean.IsWeight;
            beanBack.CheckDay       = bean.CheckDay;
            beanBack.Detail         = bean.Detail;
            beanBack.CreateDatetime = bean.CreateDatetime;
            beanBack.CreateBy       = bean.CreateBy;
            beanBack.Deleted        = bean.Deleted;
            beanBack.Status         = bean.Status;
            beanBack.UpdateDatetime = bean.UpdateDatetime;
            beanBack.UpdateBy       = bean.UpdateBy;
            return(beanBack);
        }
        /// <summary>
        /// 刷新数据
        /// </summary>
        /// <param name="node"></param>
        private void RefreshRawMaterialData(TreeNodeModel node)
        {
            if (node!=null&&!node.Text.Equals("全部类型"))
            {
                SelectedRawNode = node;
                //如果是小类,则显示该小类下的所有的原料资料,如果是大类,则显示所有小类下的所有的原料资料
                
                if (node.Parent.Equals(RootTreeNode))      //是大类
                {
                    MaterialItems.Clear();
                    //根据其小类的所有成员,去数据表里面查找所有的原料资料
                    ObservableCollection<TreeNodeModel> childrens = node.Children;
                    if (childrens != null)
                        for (int x = 0; x < childrens.Count; x++)
                        {
                            var child = childrens.ElementAt(x);   //小类的树对象
                            
                            List<RawMaterial> rms = _MaterialDataService.FindAllRawMaterialByRawIdAndDeletedStatus(int.Parse(child.Id));
                            if (rms != null)
                            {
                                foreach (var rm in rms)   //遍历该小类下的对应的原料资料
                                {
                                    _RawMaterialBean = new Model.RawMaterialBean();
                                    LoadRawMaterialLineAndCode(rm,node.Id);
                                    _RawMaterialBean.CreateRawMaterialBean(rm);
                                    _RawMaterialBean.BigType = node.Text;
                                    _RawMaterialBean.LittleType = child.Text;
                                    if (!SelectedFlag)
                                    {
                                        SelectedMaterialItem = RawMaterialBean;
                                        SelectedFlag = true;
                                    }
                                    InitComboxData();
                                    MaterialItems.Add(RawMaterialBean);
                                }

                            }
                        }
                }
                else
                {
                    //小类
                    List<RawMaterial> rms = _MaterialDataService.FindAllRawMaterialByRawIdAndDeletedStatus(int.Parse(node.Id));
                    MaterialItems.Clear();
                    if (rms != null)
                    {
                        foreach (var rm in rms)   //遍历该小类下的对应的原料资料
                        {
                            _RawMaterialBean = new Model.RawMaterialBean();
                            LoadRawMaterialLineAndCode(rm,node.Parent.Id);
                            _RawMaterialBean.CreateRawMaterialBean(rm);
                            _RawMaterialBean.BigType = node.Text;
                            _RawMaterialBean.LittleType = node.Text;
                            InitComboxData();
                            if (rm.Equals(rms.ElementAt(0)))
                            {
                                SelectedMaterialItem = _RawMaterialBean;
                            }
                            MaterialItems.Add(RawMaterialBean);
                        }

                    }
                }
            }
            else
            {
                SelectedRawNode = null;
                //显示全部的原料资料
                //LoadTreeAndDataMaterial();
                LoadAllMaterialData();
            }
        }
        //加载所有的原料数据
        private void LoadAllMaterialData()
        {
                rawUtils = _RawUnitDataService.FindRawUnitByDeletedStatus();
            
                if (_RootTreeNode != null)
                {
                    ObservableCollection<TreeNodeModel>firstChildrens=_RootTreeNode.Children;
                    foreach (var fc in firstChildrens)
                    {
                        MaterialItems.Clear();
                        //根据其小类的所有成员,去数据表里面查找所有的原料资料
                        ObservableCollection<TreeNodeModel> childrens = fc.Children;
                        if (childrens != null)
                            for (int x = 0; x < childrens.Count; x++)
                            {
                                var child = childrens.ElementAt(x);   //小类的树对象
                                new Task(() =>
                                {
                                    List<RawMaterial> rms = _MaterialDataService.FindAllRawMaterialByRawIdAndDeletedStatus(int.Parse(child.Id));
                                    DispatcherHelper.CheckBeginInvokeOnUI(() =>
                                    {
                                        if (rms != null)
                                        {
                                            for (int y = 0; y < rms.Count; y++)   //遍历该小类下的对应的原料资料
                                            {
                                                var rm = rms.ElementAt(y);
                                                _RawMaterialBean = new Model.RawMaterialBean();

                                                LoadRawMaterialLineAndCode(rm,fc.Id);
                                                _RawMaterialBean.CreateRawMaterialBean(rm);
                                                _RawMaterialBean.BigType = fc.Text;
                                                _RawMaterialBean.LittleType = child.Text;

                                                InitComboxData();
                                                if (!SelectedFlag)
                                                {
                                                    SelectedMaterialItem = RawMaterialBean;
                                                    SelectedFlag = true;
                                                }
                                                MaterialItems.Add(RawMaterialBean);
                                            }

                                        }
                                    });
                                    
                                }).Start();
                            }   
                      }
                }
           
        }
        /**根据RawMaterialBean创建原料资料对象RawMaterial*/
        public RawMaterial CreateRawMaterial(RawMaterialBean bean)
        {
            RawMaterial beanBack = new RawMaterial();
            beanBack.Id = bean.Id;
            beanBack.RawId = bean.RawId;
            beanBack.MaterialName = bean.MaterialName;
            beanBack.Format = bean.Format;
            beanBack.Pinying = bean.Pinying;
            beanBack.InGoodsUnit = bean.InGoodsUnit;
            beanBack.StockUnit = bean.StockUnit;
            beanBack.InGoodsStock = bean.InGoodsStock;
            beanBack.FormulaUnit = bean.FormulaUnit;
            beanBack.StockFormula = bean.StockFormula;
            beanBack.InGoodsPrice = bean.InGoodsPrice;
            beanBack.StockMax = bean.StockMax;
            beanBack.StockMin = bean.StockMin;
            beanBack.WriteDowns = bean.WriteDowns;
            beanBack.OrderRawAdd = bean.OrderRawAdd;
            beanBack.RawAddPrice = bean.RawAddPrice;
            beanBack.SaleUnit = bean.SaleUnit;
            beanBack.IsWeight = bean.IsWeight;
            beanBack.CheckDay = bean.CheckDay;
            beanBack.Detail = bean.Detail;
            beanBack.CreateDatetime = bean.CreateDatetime;
            beanBack.CreateBy = bean.CreateBy;
            beanBack.Deleted = bean.Deleted;
            beanBack.Status = bean.Status;
            beanBack.UpdateDatetime = bean.UpdateDatetime;
            beanBack.UpdateBy = bean.UpdateBy;
            return beanBack;

        }