Exemple #1
0
        private int GetSelectedItemId()
        {
            TreeNode node = this.treeViewCategories.SelectedNode;

            if (node.Tag == null)
            {
                return(-1);
            }

            if (node.Tag.GetType() != typeof(ItemCompactInfo))
            {
                return(-1);
            }

            ItemCompactInfo itemInfo = (ItemCompactInfo)(node.Tag);

            if (itemInfo == null)
            {
                return(-1);
            }

            int itemId = itemInfo.ItemId;

            return(itemId);
        }
Exemple #2
0
        private void treeViewCategories_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Button != MouseButtons.Right)
            {
                return;
            }

            TreeNode node = treeViewCategories.GetNodeAt(e.Location);

            if (node == null)
            {
                return;
            }

            if (node.Tag == null)
            {
                return;
            }

            if (node.Tag.GetType() != typeof(ItemCompactInfo))
            {
                return;
            }

            ItemCompactInfo itemInfo = (ItemCompactInfo)(node.Tag);

            if (itemInfo == null)
            {
                return;
            }

            contextMenuStripItem.Show(treeViewCategories, e.X, e.Y);;
        }
Exemple #3
0
        // Add a new item to database.
        //  Either by create new or duplicate existing.
        private void AddItem()
        {
            InventoryItemType item = GetItemInfoFromUI(true /*insert*/);

            if (item == null)
            {
                return;
            }

            int newItemId = ItemDAL.InsertOneItem(item);

            if (newItemId <= 0)
            {
                MessageBox.Show("不能添加新商品,可能商品的SKU和已有商品重复了!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            // Add this item to tree view.
            TreeNode[] nodes = this.treeViewCategories.Nodes.Find(item.CategoryId.ToString(), true);
            if (nodes.Length == 1)
            {
                TreeNode newNode = new TreeNode();
                newNode.Text = string.Format("[{0}] {1}", item.ItemSKU, item.ItemName);
                ItemCompactInfo itemInfo = new ItemCompactInfo(newItemId, item.CategoryId, item.ItemName, item.ItemSKU);
                newNode.Tag = itemInfo;
                nodes[0].Nodes.Add(newNode);
            }

            MessageBox.Show("恭喜,添加新商品成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Exemple #4
0
        private void LoadAllItems()
        {
            DataTable dtItems = ItemDAL.GetAllItems();

            if (dtItems.Rows.Count == 0)
            {
                return;
            }

            foreach (DataRow dr in dtItems.Rows)
            {
                int    itemId    = StringUtil.GetSafeInt(dr["ItemId"]);
                int    itemCatId = StringUtil.GetSafeInt(dr["CategoryId"]);
                string itemName  = StringUtil.GetSafeString(dr["ItemName"]);
                string itemSKU   = StringUtil.GetSafeString(dr["ItemSKU"]);

                ItemCompactInfo itemInfo = new ItemCompactInfo(itemId, itemCatId, itemName, itemSKU);
                TreeNode        itemNode = new TreeNode();
                itemNode.Text = string.Format("[{0}] {1}", itemSKU, itemName);
                itemNode.Tag  = itemInfo;
                itemNode.Name = itemSKU;

                TreeNode[] nodes = this.treeViewCategories.Nodes.Find(itemCatId.ToString(), true);
                if (nodes.Length == 1)
                {
                    nodes[0].Nodes.Add(itemNode);
                }
            }
        }
Exemple #5
0
        private void LoadAllItems()
        {
            DataTable dtItems = ItemDAL.GetAllItems();

            if (dtItems.Rows.Count == 0)
            {
                return;
            }

            foreach (DataRow dr in dtItems.Rows)
            {
                int    itemId    = (int)dr["ItemId"];
                int    itemCatId = Int32.Parse(dr["CategoryId"].ToString());
                string itemName  = dr["ItemName"].ToString();

                ItemCompactInfo itemInfo = new ItemCompactInfo(itemId, itemCatId, itemName);
                TreeNode        itemNode = new TreeNode();
                itemNode.Text = itemName;
                itemNode.Tag  = itemInfo;

                TreeNode[] nodes = this.treeViewItems.Nodes.Find(itemCatId.ToString(), true);
                if (nodes.Length == 1)
                {
                    nodes[0].Nodes.Add(itemNode);
                }
            }
        }
Exemple #6
0
        private void treeViewCategories_DragDrop(object sender, DragEventArgs e)
        {
            TreeNode oldNode;

            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point    pt         = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
                TreeNode targetNode = ((TreeView)sender).GetNodeAt(pt);

                object tag = targetNode.Tag;
                if (tag == null || tag.GetType() != typeof(ItemCategoryType))
                {
                    return;
                }
                ItemCategoryType catInfo = (ItemCategoryType)tag;

                oldNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
                if (oldNode.Tag == null || oldNode.Tag.GetType() != typeof(ItemCompactInfo))
                {
                    return;
                }

                ItemCompactInfo itemInfo = (ItemCompactInfo)oldNode.Tag;
                if (itemInfo == null)
                {
                    return;
                }

                InventoryItemType item = ItemDAL.GetItemById(itemInfo.ItemId);
                if (item == null)
                {
                    return;
                }

                if (item.CategoryId == catInfo.CategoryId)
                {
                    return;
                }

                ItemDAL.ModifyItemCategory(item.ItemId, catInfo.CategoryId);

                targetNode.Nodes.Add((TreeNode)oldNode.Clone());
                targetNode.Expand();
                //Remove Original Node
                oldNode.Remove();
            }
        }
Exemple #7
0
        private void buttonDelItem_Click(object sender, EventArgs e)
        {
            if (buttonDelItem.Enabled == false)
            {
                return;
            }

            // Should be refactored.
            TreeNode node = treeViewCategories.SelectedNode;

            if (node == null || node.Tag == null)
            {
                return;
            }

            if (node.Tag.GetType() != typeof(ItemCompactInfo))
            {
                return;
            }

            ItemCompactInfo itemInfo = (ItemCompactInfo)(node.Tag);

            if (itemInfo == null)
            {
                return;
            }

            if (MessageBox.Show(string.Format("确认删除商品 {0}", itemInfo.ItemName), "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                == System.Windows.Forms.DialogResult.Yes)
            {
                bool result = ItemDAL.DeleteOneItem(itemInfo.ItemId);
                if (result)
                {
                    MessageBox.Show("删除商品成功", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    treeViewCategories.Nodes.Remove(node);
                }
                else
                {
                    MessageBox.Show("删除商品失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Exemple #8
0
        private void buttonConfirm_Click(object sender, EventArgs e)
        {
            TreeNode node = this.treeViewItems.SelectedNode;

            if (node == null)
            {
                return;
            }

            object tag = node.Tag;

            if (tag.GetType() != typeof(ItemCompactInfo))
            {
                return;
            }

            ItemCompactInfo itemInfo = (ItemCompactInfo)tag;

            if (itemInfo == null)
            {
                return;
            }

            int       itemId = itemInfo.ItemId;
            DataTable dtItem = ItemDAL.GetItemTableById(itemId);

            if (dtItem.Rows.Count == 0)
            {
                return;
            }

            string sku = dtItem.Rows[0]["ItemSKU"].ToString();

            this.SKU = sku;
            this.Close();
        }
        private void LoadAllItems()
        {
            DataTable dtItems = ItemDAL.GetAllItems();
            if (dtItems.Rows.Count == 0)
                return;

            foreach (DataRow dr in dtItems.Rows)
            {
                int itemId = (int)dr["ItemId"];
                int itemCatId = Int32.Parse(dr["CategoryId"].ToString());
                string itemName = dr["ItemName"].ToString();

                ItemCompactInfo itemInfo = new ItemCompactInfo(itemId, itemCatId, itemName);
                TreeNode itemNode = new TreeNode();
                itemNode.Text = itemName;
                itemNode.Tag = itemInfo;

                TreeNode[] nodes = this.treeViewItems.Nodes.Find(itemCatId.ToString(), true);
                if (nodes.Length == 1)
                {
                    nodes[0].Nodes.Add(itemNode);
                }
            }
        }
Exemple #10
0
        // Modify an existing item.
        //
        private void ModifyItem()
        {
            // Should be refactored.
            TreeNode node = treeViewCategories.SelectedNode;

            if (node == null || node.Tag == null)
            {
                return;
            }

            if (node.Tag.GetType() != typeof(ItemCompactInfo))
            {
                return;
            }

            ItemCompactInfo itemInfo = (ItemCompactInfo)(node.Tag);

            if (itemInfo == null)
            {
                return;
            }

            InventoryItemType item = ItemDAL.GetItemById(itemInfo.ItemId);

            if (item == null)
            {
                return;
            }

            InventoryItemType newItemInfo = GetItemInfoFromUI(false);

            if (newItemInfo == null)
            {
                return;
            }

            // CAUIION: we don't allow user to change the stock number directly.
            // ZHI_TODO:
            //newItemInfo.ItemStockNum = item.ItemStockNum;

            newItemInfo.ItemId     = item.ItemId;
            newItemInfo.CategoryId = item.CategoryId;
            if (newItemInfo.ItemImagePath == null)
            {
                newItemInfo.ItemImagePath = item.ItemImagePath;
            }
            newItemInfo.ItemNote = item.ItemNote;

            if (MessageBox.Show(string.Format("确认修改商品 {0}", itemInfo.ItemName), "请确认",
                                MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                == System.Windows.Forms.DialogResult.Yes)
            {
                bool result = ItemDAL.ModifyOneItem(newItemInfo);
                if (result)
                {
                    MessageBox.Show("修改商品成功", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    itemInfo.ItemName = newItemInfo.ItemName;
                    itemInfo.ItemSKU  = newItemInfo.ItemSKU;
                    node.Tag          = itemInfo;
                    if (newItemInfo.ItemName != item.ItemName)
                    {
                        node.Text = string.Format("[{0}] {1}", newItemInfo.ItemSKU, newItemInfo.ItemName);
                    }
                }
                else
                {
                    MessageBox.Show("修改商品失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }