/// <summary> /// 通过ID查询商品 /// </summary> /// <param name="productId"></param> /// <returns></returns> public Produts GetProductWithId(string productId) { string procName = "GetProductWithId"; SqlParameter[] sp = { new SqlParameter("@productId", SqlDbType.NVarChar, 50) }; sp[0].Value = productId; SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); Produts produt = null; while (reader.Read()) { produt = new Produts() { ProductId = reader["ProductId"].ToString(), ProductName = reader["ProductName"].ToString(), UnitPrice = Convert.ToDecimal(reader["UnitPrice"]), Unit = reader["Unit"].ToString(), Discount = Convert.ToDouble(reader["Discount"]), CategoryId = Convert.ToInt32(reader["CategoryId"]), CategoryName = reader["CategoryName"].ToString() }; } reader.Close(); return(produt); }
/// <summary> /// 添加商品 /// </summary> /// <param name="products"></param> /// <param name="inventory"></param> /// <returns></returns> public bool InsertProduct(Produts products, ProductInventory inventory) { List <string> proc = new List <string>() { "InsertProduct", "InsertInventory" }; List <SqlParameter[]> parameters = new List <SqlParameter[]>(); SqlParameter[] prodps = new SqlParameter[] { new SqlParameter("@productId", products.ProductId), new SqlParameter("@productName", products.ProductName), new SqlParameter("@unitPrice", products.UnitPrice), new SqlParameter("@unit", products.Unit), new SqlParameter("@discount", products.Discount), new SqlParameter("@categoryId", products.CategoryId) }; SqlParameter[] inventps = new SqlParameter[] { new SqlParameter("@productId", inventory.ProductId), new SqlParameter("@minCount", inventory.MinCount), new SqlParameter("@maxCount", inventory.MaxCount) }; parameters.Add(prodps); parameters.Add(inventps); return(SQLHelper.UpdateByTran(proc, parameters)); }
public Produts GetProductWithId(string id) { string procName = "GetProductWithId"; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@productId", id) }; SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); Produts products = null; while (reader.Read()) { products = new Produts() { ProductId = reader["ProductId"].ToString(), ProductName = reader["ProductName"].ToString(), Discount = Convert.ToSingle(reader["Discount"]), CategoryId = Convert.ToInt32(reader["CategoryId"]), CategoryNmae = reader["CategoryNmae"].ToString(), Unit = reader["Unit"].ToString(), UnitPrice = Convert.ToDecimal(reader["UnitPrice"]) }; } reader.Close(); return(products); }
public FrmUpdateProduct(Produts products) { InitializeComponent(); txtProductName.Focus(); Categories = manager.GetCategories(); source.DataSource = Categories; comCategory.DataSource = source; comCategory.DisplayMember = "CategoryName"; comCategory.ValueMember = "CategoryId"; comCategory.SelectedIndex = products.CategoryId - 1; units = manager.GetUnit(); source1.DataSource = units; comUnit.DataSource = source1; comUnit.DisplayMember = "Unit"; comUnit.ValueMember = "Id"; comUnit.SelectedIndex = (from item in units where item.Unit == products.Unit select item.Id).FirstOrDefault() - 1; if (Categories.Count == 0 || units.Count == 0) { return; } txtProdunctId.Text = products.ProductId; txtProductName.Text = products.ProductName; txtUnitPrice.Text = products.UnitPrice.ToString("F2"); currentProduct = products; txtProdunctId.GotFocus += TxtProdunctId_GotFocus; txtProductName.GotFocus += TxtProdunctId_GotFocus; txtUnitPrice.GotFocus += TxtProdunctId_GotFocus; }
public bool UpdateProduct(Produts produts) { if (product.UpdateProduct(produts) > 0) { return(true); } else { return(false); } }
/// <summary> /// 修改商品 /// </summary> /// <param name="products"></param> /// <returns></returns> public bool SetProductInfor(Produts products) { if (servers.SetProductInfor(products) > 0) { return(true); } else { return(false); } }
private void AddProduct_FormClosed(object sender, FormClosedEventArgs e) { FrmAddProduct frmadd = sender as FrmAddProduct; if (frmadd.DialogResult == DialogResult.OK) { currentProduct = frmadd.Tag as Produts; frmadd.DialogResult = DialogResult.Cancel; btnIntoProduct_Click(frmadd, null); } }
/// <summary> /// 商品入库 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnIntoProduct_Click(object sender, EventArgs e) { FrmIntoProduct intoProduct = new FrmIntoProduct(); if (currentProduct != null) { intoProduct.txtProductId.Text = currentProduct.ProductId; intoProduct.txtProductName.Text = currentProduct.ProductName; } ShowMDIChild(intoProduct); currentProduct = null; }
public int SetProductInfor(Produts products) { string procName = "SetProductInfor"; SqlParameter[] sp = { new SqlParameter("@productName", products.ProductName), new SqlParameter("@uniPrice", products.UnitPrice), new SqlParameter("@categoryId", products.CategoryId), new SqlParameter("@unit", products.Unit), new SqlParameter("@productId", products.ProductId) }; return(SQLHelper.ExecuteNonQuery(procName, sp)); }
private void BindProduct() { //商品编号正确 txtProductId.Text = txtProductId.Text.Replace("\r\n", ""); if (txtProductId.CheckData(@"^[1-9]\d*$", "商品编号为10-15纯数字") != 0) { //检查这个商品是否已经在购物车中存在了,如果已经有了这个商品则直接添加数量,如果没有才往购物车中添加 var product = from p in productList where p.ProductId.Equals(txtProductId.Text.Trim()) select p; //【1】在购物车中未找到该商品则进行重新添加 if (product.Count() == 0) { AddNewProductToList(); } // 【2】商品已经存在,则只需要更新数量和小计金额即可 else { Produts pro = product.FirstOrDefault(); pro.Quantity += Convert.ToInt32(txtQuantity.Text.Trim()); pro.SubTotal = pro.Quantity * pro.UnitPrice; if (pro.Discount != 0) { pro.SubTotal *= (Convert.ToDecimal(pro.Discount) / 10); } } //【3】整个商品加入购物车完成,刷新界面显示 bs.DataSource = productList; dgvProductList.DataSource = null; dgvProductList.DataSource = bs; //【4】更新购物车的应付金额数量 txtPay.Text = (from p in productList select p.SubTotal).Sum().ToString(); //【5】清空商品的相关信息 txtProductId.Text = ""; txtQuantity.Text = "1"; txtDiscount.Text = "0"; txtUnitPrice.Text = "0.00"; txtAmount.Text = "0.00"; txtChange.Text = "0.00"; txtProductId.Focus(); } else { MessageBox.Show("商品编号为10-15纯数字", "操作"); } }
private void TxtProductId_LostFocus(object sender, EventArgs e) { if (txtProductId.CheckData(@"^\d+$", "商品编号录入有误") == 1) { Produts produts = manager.GetProductWithId(txtProductId.Text.Trim()); if (produts == null) { MessageBox.Show("商品编号录入有误,未查询到对应商品!", "提示"); txtProductId.SelectAll(); txtProductId.Focus(); return; } else { txtProductName.Text = produts.ProductName; } } }
public FrmUpdateProduct(Produts produts) { InitializeComponent(); //商品名字获取焦点 txtProductName.Focus(); //获取并给 categories泛型中添加内容 categories = productManager.GetCategories(); //获取并给 units泛型中添加内容 units = productManager.GetUnit(); //【商品类型】和【商品计量单位】不能为空 if (categories.Count == 0 || units.Count == 0) { return; } source1.DataSource = categories; cmbCategory.DataSource = source1; //通过 CategoryId的key名字来记录内容 cmbCategory.ValueMember = "CategoryId"; //Combox的值的显示 cmbCategory.DisplayMember = "CategoryName"; //获取或设置指定当前选定的索引项 cmbCategory.SelectedIndex = produts.CategoryId - 1; source2.DataSource = units; cmbUnit.DataSource = source2; //Combox中对应位置放入对应的所有数据 cmbUnit.ValueMember = "Id"; cmbUnit.DisplayMember = "Unit"; //通过linq查询返回第一个Id值 cmbUnit.SelectedIndex = ((from item in units where item.Unit == produts.Unit select item.Id).FirstOrDefault() - 1); //添加ID数据 txtProductId.Text = produts.ProductId; //天津四商品名字 txtProductName.Text = produts.ProductName; //折扣的修改 txtUnitPrice.Text = produts.UnitPrice.ToString("F2"); //CurrentProduct商品属性记录 CurrentProduct = produts; //把获取焦点是触发数据 txtProductId.GotFocus += TxtProductId_GotFocus; txtProductName.GotFocus += TxtProductId_GotFocus; txtUnitPrice.GotFocus += TxtProductId_GotFocus; }
private void AddNewProductToList() { //【1.】根据商品编号查询商品 Produts objProduct = productManager.GetProductWithId(txtProductId.Text.Trim()); //【2.】未查到对应的商品 if (objProduct == null) { //证明该商品是临时商品,或未来得及录入商品 objProduct = new Produts() { ProductName = "暂未提供商品名称", ProductId = txtProductId.Text.Trim(), UnitPrice = Convert.ToDecimal(txtUnitPrice.Text.Trim()), Discount = Convert.ToInt32(txtDiscount.Text.Trim()) }; } //【3.】查询到对应的商品 else { txtUnitPrice.Text = objProduct.UnitPrice.ToString(); txtDiscount.Text = objProduct.Discount.ToString(); } //【4.】根据商品的数量折扣计算小计金额 objProduct.Quantity = Convert.ToInt32(txtQuantity.Text.Trim()); objProduct.SubTotal = objProduct.Quantity * objProduct.UnitPrice; //【5.】检查这个商品是否计算折扣价 if (objProduct.Discount != 0) { objProduct.SubTotal *= (Convert.ToDecimal(objProduct.Discount) / 10); } //【6.】商品列表序号问题 objProduct.ProductNo = productList.Count + 1; productList.Add(objProduct); //【7.】添加商品之后应该立刻让最新添加的商品作为选中项 bs.MoveLast(); //【8.】商品添加到购物车清除商品编号内容以便输入下一件商品编号 txtProductId.Text = ""; }
private void AddNewProductToList() { //【1.根据商品编号查询商品】 Produts objProduct = saleManager.GetProductWithId(txtProductId.Text.Trim()); //【2.】未查到对应的商品 if (objProduct == null)//商品编号未查到对应的商品信息,要么是临时商品 { //假设是临时商品 objProduct = new Produts() { ProductName = "暂未提供商品名称", ProductId = txtProductId.Text.Trim(), UnitPrice = Convert.ToDecimal(txtUnitPrice.Text.Trim()), Discount = Convert.ToInt32(txtDiscount.Text.Trim()) }; } else//【3.】扫到的商品 { txtUnitPrice.Text = objProduct.UnitPrice.ToString(); txtDiscount.Text = objProduct.Discount.ToString(); } //【4.】根据商品的数量折扣计算小计金额 objProduct.Quantity = Convert.ToInt32(txtQuantity.Text.Trim()); objProduct.SubTotalMoney = objProduct.Quantity * objProduct.UnitPrice; //【5.】如果这个商品有折扣 if (objProduct.Discount != 0) { objProduct.SubTotalMoney *= (Convert.ToDecimal(objProduct.Discount) / 10); } //【6.】商品列表序号问题 objProduct.ProductNo = productList.Count + 1; productList.Add(objProduct); //【7.】添加商品之后应该立刻让最新添加的商品作为选中项 bs.MoveLast(); //【8.】商品添加到购物车清除商品编号内容以便输入下一件商品编号 txtProductId.Text = ""; }
public bool InsertProduct(Produts produt, ProductInventory inventory) { return(product.InsertProduct(produt, inventory)); }
private void Add_Click(object sender, EventArgs e) { if (txtProductId.CheckData("^\\d+$", "商品编号必须是至少6位数字") * txtProductName.CheckNullOrEmpty() * txtProductUnitprice.CheckData(@"^(([1-9]\d*)|(\d*.\d{1,2}))$", "输入金额有误") * txtDiscount.CheckData(@"^((\d)|(\d.\d))$", "折扣输入有误") * txtMinCount.CheckData(@"^\d+$", "最小库存输入有误") * txtMaxCount.CheckData(@"^\d+$", "最大库存输入有误") == 0) { return; } else { //当录入商品的时候要做一些判断:判断商品编号必须是唯一的,其二判断商品的名称必须是唯一的 List <Produts> productList = productManager.GetAllProduct(); var obj1 = from objPro in productList where objPro.ProductId == txtProductId.Text select objPro; if (obj1.Count() > 0) { MessageBox.Show("商品编号已经存在,请重新录入!", "提示"); txtProductId.SelectAll(); return; } var obj2 = from objPro in productList where objPro.ProductName == txtProductName.Text select objPro; if (obj2.Count() > 0) { MessageBox.Show("商品名称已经存在,请重新录入!", "提示"); txtProductName.SelectAll(); return; } if (int.Parse(txtMinCount.Text) > int.Parse(txtMaxCount.Text)) { MessageBox.Show("最大库存量不能小于最小库存量", "提示"); return; } else//添加商品 { var pu = from item in units where item.Id == Convert.ToInt32(cmbUnit.SelectedValue) select item; Produts produts = new Produts() { ProductId = txtProductId.Text.Trim(), ProductName = txtProductName.Text.Trim(), Discount = Convert.ToSingle(txtDiscount.Text.Trim()), UnitPrice = Convert.ToDecimal(txtProductUnitprice.Text.Trim()), CategoryId = Convert.ToInt32(cmbCategory.SelectedValue), Unit = pu.FirstOrDefault().Unit }; ProductInventory inventory = new ProductInventory() { ProductId = txtProductId.Text.Trim(), MinCount = Convert.ToInt32(txtMinCount.Text.Trim()), MaxCount = Convert.ToInt32(txtMaxCount.Text.Trim()) }; bool res = productManager.InsertProduct(produts, inventory); if (res) { if (MessageBox.Show("添加商品成功,是否继续添加", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { InitializeProduct(); txtProductId.Focus(); return; } else { if (MessageBox.Show("是否对该商品进行入库?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { this.DialogResult = DialogResult.OK; this.Tag = produts; } else { this.DialogResult = DialogResult.Cancel; } this.Close(); } } else { MessageBox.Show("添加商品失败!", "提示"); return; } } } }
private void Source_CurrentChanged(object sender, EventArgs e) { CurrentProduct = source.Current as Produts; }
/// <summary> /// 添加商品 /// </summary> /// <param name="products"></param> /// <param name="inventory"></param> /// <returns></returns> public bool InsertProduct(Produts products, ProductInventory inventory) { return(servers.InsertProduct(products, inventory)); }