예제 #1
0
        public List <SelectableNomenclatureTypeNode> GenerateGoodsGroupNodes(List <ProductGroup> groups, ProductGroup parent)
        {
            var result = new List <SelectableNomenclatureTypeNode>();

            foreach (var item in groups.Where(x => x.Parent == parent))
            {
                var subNode = new SelectableNomenclatureTypeNode();
                subNode.Category = NomenclatureCategory.additional;
                subNode.Subject  = item;
                subNode.Title    = item.Name;
                subNode.Children = GenerateGoodsGroupNodes(groups, item);
                subNode.Children.ForEach(x => x.Parent = subNode);
                result.Add(subNode);
            }
            return(result);
        }
예제 #2
0
        public EquipmentBalance()
        {
            this.Build();
            UoW = UnitOfWorkFactory.CreateWithoutRoot();

            var categoryList = Enum.GetValues(typeof(NomenclatureCategory)).Cast <NomenclatureCategory>().ToList();

            List <SelectableNomenclatureTypeNode> items = new List <SelectableNomenclatureTypeNode>();

            foreach (var cat in categoryList)
            {
                var node = new SelectableNomenclatureTypeNode();
                node.Category = cat;
                var attr = cat.GetAttribute <DisplayAttribute>();
                if (attr == null)
                {
                    node.Title = cat.ToString();
                }
                else
                {
                    node.Title = attr.Name;
                }
                if (cat == NomenclatureCategory.equipment)
                {
                    node.Children = GenerateEnumCategoryNodes();
                }
                //РАСКОМЕНТИРОВАТЬ ПРИ ПЕРЕХОДЕ НА ОБЯЗАТЕЛЬНОЕ УКАЗАНИЕ ГРУППЫ У ТОВАРОВ

                /*if(cat == NomenclatureCategory.additional) {
                 *      var groups = uow.Session.QueryOver<ProductGroup>().List().ToList();
                 *      node.Children = GenerateGoodsGroupNodes(groups, null);
                 * }*/
                node.Children.ForEach(x => x.Parent = node);
                items.Add(node);
            }

            observableItems = new GenericObservableList <SelectableNomenclatureTypeNode>(items);
            observableItems.ListContentChanged += ObservableItemsField_ListContentChanged;

            ytreeviewCategories.ColumnsConfig = FluentColumnsConfig <SelectableNomenclatureTypeNode>
                                                .Create()
                                                .AddColumn("Выбрать").AddToggleRenderer(node => node.Selected).Editing()
                                                .AddColumn("Название").AddTextRenderer(node => node.Title)
                                                .Finish();

            ytreeviewCategories.YTreeModel = new RecursiveTreeModel <SelectableNomenclatureTypeNode>(observableItems, x => x.Parent, x => x.Children);
        }
예제 #3
0
        public List <SelectableNomenclatureTypeNode> GenerateEnumCategoryNodes()
        {
            var result       = new List <SelectableNomenclatureTypeNode>();
            var categoryList = Enum.GetValues(typeof(SaleCategory)).Cast <SaleCategory>().ToList();

            foreach (var cat in categoryList)
            {
                var node = new SelectableNomenclatureTypeNode();
                node.Category = NomenclatureCategory.equipment;
                node.Subject  = cat;
                var attr = cat.GetAttribute <DisplayAttribute>();
                if (attr == null)
                {
                    node.Title = cat.ToString();
                }
                else
                {
                    node.Title = attr.Name;
                }
                result.Add(node);
            }
            return(result);
        }