//将商品加入到购物列表 private void AddProductToSaleList() { if (this.txtProductId.Text.Trim() == string.Empty || this.txtQuantity.Text.Trim() == string.Empty) { return; } var pro = from p in this.saleProductList where p.ProductId.Equals(this.txtProductId.Text.Trim()) select p; if (pro.Count() > 0) { SaleProductInfo obj = pro.FirstOrDefault <SaleProductInfo>(); obj.Quantity += Convert.ToInt32(this.txtQuantity.Text.Trim()); obj.SubTotal = Math.Round(obj.Quantity * obj.UnitPrice * (obj.Discount == 0 ? 1 : obj.Discount) / 10, 2); //return; } else { //购物列表没有该商品 if (!AddNewProductToSaleList()) { return; } } this.bs.DataSource = this.saleProductList; this.dgvProdutList.DataSource = null; this.dgvProdutList.DataSource = this.bs; //修改总金额 this.lblTotalMoney.Text = (from p in this.saleProductList select p.SubTotal).Sum().ToString(); ClearProductInfo(); }
//将新商品加入到购物列表 private bool AddNewProductToSaleList() { SaleProductInfo objSaleProduct = null; Product objProduct = new ProductService().GetProductInfoById(this.txtProductId.Text.Trim()); if (objProduct == null)//商品不存在 { if (Convert.ToDecimal(this.txtUnitPrice.Text.Trim()) == 0 && MessageBox.Show("请问该商品不要钱吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return(false); } objProduct = new Product() { ProductId = this.txtProductId.Text.Trim().ToString(), ProductName = "暂未登记商品", UnitPrice = Convert.ToDecimal(this.txtUnitPrice.Text.Trim()), Discount = this.txtDiscount.Text.Trim() == string.Empty ? 0 : Convert.ToDecimal(this.txtDiscount.Text.Trim())//若折扣框为空 }; } objSaleProduct = new SaleProductInfo() { //SaleProduct = objProduct, ProductId = objProduct.ProductId, ProductName = objProduct.ProductName, UnitPrice = objProduct.UnitPrice, Discount = Math.Round(objProduct.Discount, 1), Num = saleProductList.Count + 1, Quantity = Convert.ToInt32(this.txtQuantity.Text.Trim()), SubTotal = Math.Round(Convert.ToDecimal(Convert.ToInt32(this.txtQuantity.Text.Trim()) * objProduct.UnitPrice * (objProduct.Discount == 0 ? 1 : objProduct.Discount / 10)), 2) }; saleProductList.Add(objSaleProduct); this.bs.MoveLast(); return(true); }