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); }
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);; }
// 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); }
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); } } }
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); } } }
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(); } }
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); } } }
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); } } }
// 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); } } }