//添加新商品到销售明细,返回false则表明失败 private bool AddProductList() { Product product = objProductService.GetProductInfo(this.txtProductId.Text.Trim()); if (product == null)//未查到商品的情况下,允许手工添加 { DialogResult result = MessageBox.Show("未查询到商品信息,手工录入商品,请检查单价和折扣是否录入正确,确定吗?", "询问信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result != DialogResult.Yes) { return(false); } //先判断单价和折扣是否输入正确 if (!DataValidate.IsDecimalNum(this.txtUnitPrice.Text.Trim()) || Convert.ToDecimal(this.txtUnitPrice.Text.Trim()) == 0) { MessageBox.Show("手工录入商品,单价输入不正确", "提示信息"); this.txtUnitPrice.SelectAll(); this.txtUnitPrice.Focus(); return(false); } if (!DataValidate.IsDecimalNum(this.txtDiscount.Text.Trim())) { MessageBox.Show("手工录入商品,折扣输入不正确", "提示信息"); this.txtDiscount.SelectAll(); this.txtDiscount.Focus(); return(false); } product = new Product() { ProductId = this.txtProductId.Text.Trim(), ProductFullName = "手工录入商品", UnitPrice = Convert.ToDecimal(this.txtUnitPrice.Text.Trim()), Discount = Convert.ToDouble(this.txtDiscount.Text.Trim()) }; } SalesListDetail objSaleDetail = new SalesListDetail() { ProductId = product.ProductId, ProductFullName = product.ProductFullName, UnitPrice = product.UnitPrice, Discount = product.Discount, Quantity = Convert.ToInt32(this.txtQuantity.Text.Trim()) }; objSaleDetail.SubTotalMoney = objSaleDetail.Quantity * objSaleDetail.UnitPrice; if (objSaleDetail.Discount != 0) { objSaleDetail.SubTotalMoney *= Convert.ToDecimal(objSaleDetail.Discount / 10); objSaleDetail.SubTotalMoney = Decimal.Round(objSaleDetail.SubTotalMoney, 2); } objSaleDetail.Num = this.mainSaleList.SalesListDetail.Count + 1; this.mainSaleList.SalesListDetail.Add(objSaleDetail); return(true); }
//登录按钮 private void btnLogin_Click(object sender, EventArgs e) { if (this.txtLoginId.Text.Trim().Length == 0) { MessageBox.Show("请输入账号", "提示信息"); this.txtLoginId.Focus(); return; } if (this.txtLoignPwd.Text.Length == 0) { MessageBox.Show("请输入密码", "提示信息"); this.txtLoignPwd.Focus(); return; } if (!DataValidate.IsInteger(this.txtLoginId.Text.Trim())) { MessageBox.Show("请输入正确的账号", "提示信息"); this.txtLoginId.Focus(); return; } SalesPerson salesPerson = new SalesPerson() { SalesPersonId = Convert.ToInt32(this.txtLoginId.Text.Trim()), LoginPwd = this.txtLoignPwd.Text }; try { salesPerson = objSalesPersonService.SalesPersonLogin(salesPerson); if (salesPerson != null) { LoginLog currentLog = new LoginLog() { LoginId = salesPerson.SalesPersonId, SPName = salesPerson.SPName, ServerName = Dns.GetHostName() }; salesPerson.LogId = objLogService.WriteLoingLog(currentLog); Program.currentSalesPerson = salesPerson; this.DialogResult = DialogResult.OK; } else { MessageBox.Show("账号或密码错误", "登录失败"); } } catch (Exception ex) { MessageBox.Show("系统出现异常:" + ex.Message);; } }
private void TxtMemberId_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { if (!DataValidate.IsDecimalNum(this.txtRealReceive.Text.Trim()) || Convert.ToDecimal(this.txtRealReceive.Text.Trim()) < Convert.ToDecimal(this.lblTotalMoney.Text)) { MessageBox.Show("请输入正确的实收款", "提示信息"); this.txtRealReceive.SelectAll(); this.txtRealReceive.Focus(); return; } //不输入会员卡则直接结算 if (this.txtMemberId.Text.Trim().Length == 0) { this.Tag = this.txtRealReceive.Text.Trim(); this.DialogResult = DialogResult.OK; return; } //2147483647 if (this.txtMemberId.Text.Trim().Contains("|") || !DataValidate.IsInteger(this.txtMemberId.Text.Trim()) || !int.TryParse(this.txtMemberId.Text.Trim(), out int memberId)) { MessageBox.Show("请输入正确的卡号", "提示信息"); this.txtMemberId.SelectAll(); this.txtMemberId.Focus(); return; } try { //查询会员卡 bool isMemberExists = objMemberService.IsMemberExists(this.txtMemberId.Text.Trim()); if (!isMemberExists) { MessageBox.Show("没有找到会员,请检查会员号是否输入正确", "提示信息"); this.txtMemberId.SelectAll(); this.txtMemberId.Focus(); return; } else { this.Tag = this.txtRealReceive.Text.Trim() + "|" + this.txtMemberId.Text.Trim(); this.DialogResult = DialogResult.OK; } } catch (Exception ex) { MessageBox.Show("查询过程中出现异常,请检查会员号是否正确:" + ex.Message); return; } } }
private void TxtRealReceive_KeyDown(object sender, KeyEventArgs e) { if (this.txtRealReceive.Text.Trim().Length != 0 && e.KeyValue == 13) { if (!DataValidate.IsDecimalNum(this.txtRealReceive.Text.Trim()) || Convert.ToDecimal(this.txtRealReceive.Text.Trim()) < Convert.ToDecimal(this.lblTotalMoney.Text)) { MessageBox.Show("请输入正确的实收款", "提示信息"); this.txtRealReceive.SelectAll(); this.txtRealReceive.Focus(); return; } else { this.txtMemberId.SelectAll(); this.txtMemberId.Focus(); } } }
private void TxtProductId_KeyDown(object sender, KeyEventArgs e) { if (this.txtProductId.Text.Trim().Length != 0 && e.KeyValue == 13) //回车键 { if (!DataValidate.IsInteger(this.txtQuantity.Text.Trim())) //查找商品前先检查数量输入是否正确 { MessageBox.Show("数量输入不正确", "校验提示"); this.txtQuantity.SelectAll(); this.txtQuantity.Focus(); return; } try { if (this.dgvProdutList.RowCount == 0 || this.lblSerialNum.Text.Length == 0)//第一次扫描生成序列号 { this.lblTotalMoney.Text = "0.00"; this.lblReceivedMoney.Text = "0.00"; this.lblReturnMoney.Text = "0.00"; this.lblSerialNum.Text = CreateSerialNum(); } var pList = from p in this.mainSaleList.SalesListDetail where p.ProductId.Equals(this.txtProductId.Text.Trim()) select p; if (pList.Count() > 0)//已经在列表中 { SalesListDetail objSalesDetail = pList.FirstOrDefault <SalesListDetail>(); objSalesDetail.Quantity += Convert.ToInt32(this.txtQuantity.Text.Trim()); objSalesDetail.SubTotalMoney = objSalesDetail.Quantity * objSalesDetail.UnitPrice; if (objSalesDetail.Discount != 0) { objSalesDetail.SubTotalMoney *= Convert.ToDecimal(objSalesDetail.Discount / 10); objSalesDetail.SubTotalMoney = Decimal.Round(objSalesDetail.SubTotalMoney, 2); } } else { bool addResult = AddProductList(); if (!addResult) { return; } } //显示数据(测试不使用BindingSource) this.dgvProdutList.DataSource = null; this.bs.DataSource = this.mainSaleList.SalesListDetail; //if (this.mainSaleList.SalesListDetail != null && this.mainSaleList.SalesListDetail.Count > 0)//第一次绑定时候判断是否有值,否则会引发点击dgv异常 //this.dgvProdutList.DataSource = this.mainSaleList.SalesListDetail; this.dgvProdutList.DataSource = this.bs; this.bs.MoveLast(); //更新商品总金额 this.lblTotalMoney.Text = (from d in this.mainSaleList.SalesListDetail select d.SubTotalMoney).Sum().ToString(); //还原输入列表 this.txtProductId.Clear(); this.txtQuantity.Text = "1"; this.txtUnitPrice.Text = "0.00"; this.txtDiscount.Text = "0"; } catch (Exception ex) { MessageBox.Show("扫码出现异常,请重试" + ex.Message, "错误提示"); return; } } }