private void AddMainGroupNodeFor(View_ListStorageItemRow pView_ListStorageItemLoop)
        {
            View_ListStorageItemDT view_ListStorageItem = new View_ListStorageItemDT();

            view_ListStorageItem.Query.AddWhereParameter(View_ListStorageItemDT.Parameters.ListID, pView_ListStorageItemLoop.ListID);
            //    Where.ListID.Value = pView_ListStorageItemLoop.ListID;
            //view_GroupStorageItem.Query.AddOrderBy(View_GroupStorageItem.ColumnNames.StorageItemID, WhereParameter.Dir.ASC);
            view_ListStorageItem.Query.Load();
            TreeNodeQuickList mainNode = new TreeNodeQuickList();

            mainNode.View_ListStorageItem = pView_ListStorageItemLoop;
            mainNode.Text       = pView_ListStorageItemLoop.s_LName;
            mainNode.IsMainNode = true;


            foreach (View_ListStorageItemRow view_ListStorageItemLoop in view_ListStorageItem.Rows)
            {
                //AddMainGroupNodeFor(view_GroupStorageItemLoop);
                //AddNewNodeForView_GroupStorageItem(view_GroupStorageItemLoop);
                TreeNodeQuickList itemNode = GetNewItemNodeForView_ListStorageItem(view_ListStorageItemLoop);

                mainNode.Nodes.Add(itemNode);
            }

            mainNode.ExpandAll();
            this.Nodes.Add(mainNode);

            //AddNewNodeForView_GroupStorageItem(view_GroupStorageItemLoop);
        }
        private void LocateListByMainNode(TreeNodeQuickList pTreeNodeQuickList)
        {
            mListViewStorage.SetBackColorForAllItemsWith(Color.White);

            bool lIsSkip = false;

            foreach (TreeNodeQuickList node in pTreeNodeQuickList.Nodes)
            {
                bool isFound = false;
                View_ListStorageItemRow selectedItem = node.View_ListStorageItem;

                foreach (ListViewStorageItem item in mListViewStorage.Items)
                {
                    //item.BackColor = Color.White;
                    if (selectedItem.StorageItemID == item.StorageItem.ID)
                    {
                        isFound        = true;
                        item.BackColor = mTargetColor;
                        if (!lIsSkip)
                        {
                            item.EnsureVisible();
                            lIsSkip = true;
                        }
                    }
                }

                if (!isFound)
                {
                    mListViewStorage.AddNewStorageItem(selectedItem.StorageItemID, mTargetColor, true);
                }
            }
        }
        private void LocateNode(TreeNodeQuickList node)
        {
            if (node == null)
            {
                return;
            }
            Color color = Color.Orange;
            View_ListStorageItemRow view_ListStorageItem = node.View_ListStorageItem;

            mListViewStorage.EnsureHasItem(view_ListStorageItem.StorageItemID, color, pAllowMultiple: false, pIsEnsueVisible: true);
        }
 public void RemoveStorageItemID(long PID)
 {
     for (int index = 0; index <= this.Nodes.Count - 1; index++)
     {
         TreeNodeQuickList node = (TreeNodeQuickList)this.Nodes[index];
         if (node.View_ListStorageItem.StorageItemID == PID)
         {
             this.Nodes.RemoveAt(index);
             break;
         }
     }
 }
        public void OpenSelectedNode()
        {
            if (SelectedNode == null)
            {
                return;
            }
            TreeNodeQuickList       node = (TreeNodeQuickList)SelectedNode;
            View_ListStorageItemRow view_ListStorageItem = node.View_ListStorageItem;
            //mListViewStorage.EnsureHasItem(view_ListStorageItem.StorageItemID, color, false, true);
            StorageItemDT storageItem = new StorageItemDT();

            storageItem.LoadByPrimaryKey(view_ListStorageItem.StorageItemID);
            storageItem[0].Open();
        }
        //public void AddNewItem(int pStorageItemID)
        //{
        //    View_GroupStorageItem view_GroupStorageItem = new View_GroupStorageItem();
        //    view_GroupStorageItem.Where.ListID.Value = mQList.ID;
        //    view_GroupStorageItem.Where.StorageItemID.Value = pStorageItemID;
        //    //view_GroupStorageItem.Query.AddOrderBy(View_ListStorageItem.ColumnNames.StorageItemID, WhereParameter.Dir.ASC);
        //    view_GroupStorageItem.Query.Load();
        //    foreach (View_GroupStorageItem view_GroupStorageItemLoop in view_GroupStorageItem.AsList())
        //    {
        //        AddNewNodeForView_GroupStorageItem(view_GroupStorageItemLoop);

        //    }
        //}

        private TreeNodeQuickList GetNewItemNodeForView_ListStorageItem(View_ListStorageItemRow pView_ListStorageItem)
        {
            TreeNodeQuickList node = new TreeNodeQuickList();

            node.Text = string.Format("{0}({1})", pView_ListStorageItem.ItemName, pView_ListStorageItem.Description);
            node.Tag  = pView_ListStorageItem;
            node.View_ListStorageItem = pView_ListStorageItem;
            node.ImageIndex           = node.SelectedImageIndex = mSysIcons.GetIconIndex(pView_ListStorageItem.GetPathIcon());
            //this.Nodes.Add(node);
            if (pView_ListStorageItem.StorageItemID == mStorageItem.ID)
            {
                node.BackColor = Color.Red;
            }

            return(node);
        }
        private TreeNodeQuickList AddNewNodeForView_ListStorageItem(View_ListStorageItemRow pView_ListStorageItem)
        {
            TreeNodeQuickList node = new TreeNodeQuickList();

            //node.Text = string.Format("{0}({1})", pView_ListStorageItem.ItemName, pView_ListStorageItem.Desciption);
            node.Text = string.Format("{0} ({1})", pView_ListStorageItem.Description, pView_ListStorageItem.ItemName);
            node.Tag  = pView_ListStorageItem;
            node.View_ListStorageItem = pView_ListStorageItem;
            node.ImageIndex           = node.SelectedImageIndex = mSysIcons.GetIconIndex(pView_ListStorageItem.GetPathIcon());
            this.Nodes.Add(node);
            //node.BackColor = Color.Yellow;
            if (!node.View_ListStorageItem.IsNull(View_ListStorageItemDT.ColumnNames.Color))
            {
                node.BackColor = System.Drawing.Color.FromArgb(node.View_ListStorageItem.Color);
            }

            return(node);
        }
        public void RemoveSelectedNode()
        {
            if (this.SelectedNode == null)
            {
                return;
            }
            TreeNodeQuickList       selectedTreeNodeQuickList = this.SelectedNode as TreeNodeQuickList;
            View_ListStorageItemRow view_ListStorageItem      = selectedTreeNodeQuickList.View_ListStorageItem;
            ListStorageItemDT       listStorageItem           = new ListStorageItemDT();

            listStorageItem.Query.AddWhereParameter(ListStorageItemDT.Parameters.ListID, view_ListStorageItem.ListID);
            listStorageItem.Query.AddWhereParameter(ListStorageItemDT.Parameters.StorageItemID, view_ListStorageItem.StorageItemID);
            if (listStorageItem.Query.Load())
            {
                listStorageItem[0].DeleteListStorageItem();
                //listStorageItem.Save();
                this.Nodes.Remove(this.SelectedNode);
            }
        }
        public void LocateList(TreeNodeQuickList pTreeNodeQuickList)
        {
            if (pTreeNodeQuickList == null)
            {
                return;
            }

            View_ListStorageItemRow view_ListStorageItem = pTreeNodeQuickList.View_ListStorageItem;

            if (pTreeNodeQuickList.IsMainNode)
            {
                LocateListByMainNode(pTreeNodeQuickList);
            }

            else
            {
                mListViewStorage.EnsureHasItem(view_ListStorageItem.StorageItemID, mTargetColor, false, true);
            }
        }
        public void SetSelectedNodeColor(Color pColor)
        {
            if (this.SelectedNode == null)
            {
                return;
            }
            TreeNodeQuickList selectedTreeNodeQList = this.SelectedNode as TreeNodeQuickList;

            selectedTreeNodeQList.BackColor = pColor;
            View_ListStorageItemRow view_ListStorageItem = selectedTreeNodeQList.View_ListStorageItem;
            ListStorageItemDT       listStorageItem      = new ListStorageItemDT();

            listStorageItem.Query.AddWhereParameter(ListStorageItemDT.Parameters.ListID, view_ListStorageItem.ListID);
            listStorageItem.Query.AddWhereParameter(ListStorageItemDT.Parameters.StorageItemID, view_ListStorageItem.StorageItemID);
            if (listStorageItem.Query.Load())
            {
                listStorageItem[0].Color = pColor.ToArgb();
                listStorageItem[0].Save();
            }
        }