Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
 public bool UpdateProduct(Produts produts)
 {
     if (product.UpdateProduct(produts) > 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 修改商品
 /// </summary>
 /// <param name="products"></param>
 /// <returns></returns>
 public bool SetProductInfor(Produts products)
 {
     if (servers.SetProductInfor(products) > 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        /// <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;
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        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纯数字", "操作");
            }
        }
Ejemplo n.º 11
0
 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;
         }
     }
 }
Ejemplo n.º 12
0
        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;
        }
Ejemplo n.º 13
0
        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 = "";
        }
Ejemplo n.º 14
0
        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 = "";
        }
Ejemplo n.º 15
0
 public bool InsertProduct(Produts produt, ProductInventory inventory)
 {
     return(product.InsertProduct(produt, inventory));
 }
Ejemplo n.º 16
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 17
0
 private void Source_CurrentChanged(object sender, EventArgs e)
 {
     CurrentProduct = source.Current as Produts;
 }
Ejemplo n.º 18
0
 /// <summary>
 /// 添加商品
 /// </summary>
 /// <param name="products"></param>
 /// <param name="inventory"></param>
 /// <returns></returns>
 public bool InsertProduct(Produts products, ProductInventory inventory)
 {
     return(servers.InsertProduct(products, inventory));
 }