Пример #1
0
        /// <summary>
        /// 根据list生成树状结构
        /// </summary>
        /// <param name="treeViewInfos"></param>
        /// <returns></returns>
        public static List <TreeViewModel> GetTreeViewModel(List <TreeViewInfo> treeViewInfos)
        {
            List <TreeViewModel> treeViewModel = new List <TreeViewModel>();

            foreach (var item in treeViewInfos)
            {
                TreeViewInfo info = treeViewInfos.Find(e => e.ID == item.ParentID);

                if (info == null)
                {
                    TreeViewModel        parent   = new TreeViewModel();
                    List <TreeViewModel> children = GetChildrenNodes(treeViewInfos, item);
                    parent.Id   = item.ID;
                    parent.Text = item.Name;

                    if (children.Count != 0)
                    {
                        parent.Nodes = children;
                    }

                    treeViewModel.Add(parent);
                }
            }

            return(treeViewModel);
        }
Пример #2
0
        /// <summary>
        /// 递归调用方式填充树状结构的子节点
        /// </summary>
        /// <param name="treeViewInfos"></param>
        /// <param name="parentItem"></param>
        /// <returns></returns>
        List <TreeViewModel> GetChildrenNodes(List <TreeViewInfo> treeViewInfos, TreeViewInfo parentItem)
        {
            string parentID = parentItem.ID;
            List <TreeViewModel> treeViewList = new List <TreeViewModel>();
            var children = treeViewInfos.Where(c => c.ParentID == parentID);

            foreach (var item in children)
            {
                TreeViewModel node = new TreeViewModel();
                node.Id   = item.ID;
                node.Text = item.Name;
                if (GetChildrenNodes(treeViewInfos, item).Count > 0)
                {
                    node.Nodes = GetChildrenNodes(treeViewInfos, item);
                }

                treeViewList.Add(node);
            }

            return(treeViewList);
        }
Пример #3
0
        public static IEnumerable <ITreeViewItemInfo> Draw(PreProcessing preProcessing, IEnumerable <IBoxInfo> yoloBoxes)
        {
            preProcessing.outputBitmap = (Bitmap)preProcessing.originalBitmap.Clone();
            using var g = Graphics.FromImage(preProcessing.outputBitmap);

            var result = new List <ITreeViewItemInfo>();

            foreach (var box in yoloBoxes)
            {
                if (result.Find(b => b.Title == box.Title) is ITreeViewItemInfo treeViewItemInfo)
                {
                    treeViewItemInfo.Count++;
                    treeViewItemInfo.Boxes.Add(box);
                }
                else
                {
                    var info = new TreeViewInfo
                    {
                        Boxes = new List <IBoxInfo>(),
                        Count = 1,
                        Title = box.Title,
                        Color = box.Color
                    };
                    info.Boxes.Add(box);
                    result.Add(info);
                }
                var pen = new Pen(box.Color, (float)Settings.Params.PenWidth);
                g.DrawRectangle(pen, box.Position);
            }
            var comparer = new Comparison <IBoxInfo>((x, y) =>
                                                     x.Position.X.CompareTo(y.Position.X));

            foreach (var r in result)
            {
                r.Boxes.Sort(comparer);
            }

            return(result);
        }
Пример #4
0
        public OutlookData LoadData()
        {
            XmlDocument doc  = new XmlDocument();
            string      path = Path.Combine(env.WebRootPath, "data", "data.xml");

            doc.Load(path);

            List <OutlookItem> outlist  = new List <OutlookItem>();
            List <OutlookItem> outlist1 = new List <OutlookItem>();
            XmlNodeList        list     = doc.DocumentElement.SelectNodes("/root/Customers");
            int count = list.Count - 7;

            int index = 0;

            foreach (XmlNode node1 in list)
            {
                if (count != -1 && index >= count)
                {
                    OutlookItem txt1 = new OutlookItem();
                    txt1.ContactID    = node1.SelectSingleNode("ContactID").InnerText;
                    txt1.CompanyName  = node1.SelectSingleNode("CompanyName").InnerText;
                    txt1.ContactName  = node1.SelectSingleNode("ContactName").InnerText;
                    txt1.ContactTitle = node1.SelectSingleNode("ContactTitle").InnerText;
                    txt1.Greetings    = node1.SelectSingleNode("Greetings").InnerText;
                    txt1.Message      = node1.SelectSingleNode("Message").InnerText;
                    txt1.To           = node1.SelectSingleNode("To").InnerText;
                    txt1.Address      = node1.SelectSingleNode("Address").InnerText;
                    txt1.City         = node1.SelectSingleNode("City").InnerText;
                    txt1.PostalCode   = node1.SelectSingleNode("PostalCode").InnerText;
                    txt1.Today        = node1.SelectSingleNode("Today").InnerText;
                    txt1.Time         = node1.SelectSingleNode("Time").InnerText;
                    txt1.Date         = node1.SelectSingleNode("Date").InnerText;
                    txt1.Day          = node1.SelectSingleNode("Day").InnerText;
                    txt1.Size         = node1.SelectSingleNode("Size").InnerText;
                    outlist1.Add(txt1);
                }

                if (index != 3 && index != 4 && index != 5 && index != 6 && index != 7 && index != 8 && index != 9 &&
                    index != 10)
                {
                    OutlookItem txt = new OutlookItem();
                    txt.ContactID    = node1.SelectSingleNode("ContactID").InnerText;
                    txt.CompanyName  = node1.SelectSingleNode("CompanyName").InnerText;
                    txt.ContactName  = node1.SelectSingleNode("ContactName").InnerText;
                    txt.ContactTitle = node1.SelectSingleNode("ContactTitle").InnerText;
                    txt.Greetings    = node1.SelectSingleNode("Greetings").InnerText;
                    txt.Message      = node1.SelectSingleNode("Message").InnerText;
                    txt.To           = node1.SelectSingleNode("To").InnerText;
                    txt.Address      = node1.SelectSingleNode("Address").InnerText;
                    txt.City         = node1.SelectSingleNode("City").InnerText;
                    txt.PostalCode   = node1.SelectSingleNode("PostalCode").InnerText;
                    txt.Today        = node1.SelectSingleNode("Today").InnerText;
                    txt.Time         = node1.SelectSingleNode("Time").InnerText;
                    txt.Date         = node1.SelectSingleNode("Date").InnerText;
                    txt.Day          = node1.SelectSingleNode("Day").InnerText;
                    txt.Size         = node1.SelectSingleNode("Size").InnerText;
                    outlist.Add(txt);
                }

                index++;
            }

            TreeViewInfo data = new TreeViewInfo {
                TreeData = treeData()
            };
            MenuInfo data1 = new MenuInfo {
                MenuData = menuData()
            };

            return(new OutlookData
            {
                OutlookItem = outlist,
                OutlookItem1 = outlist1,
                TreeviewDB = data,
                MenuDB = data1
            });
        }