Ejemplo n.º 1
0
        //添加新商品到销售明细,返回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);
        }
Ejemplo n.º 2
0
        //登录按钮
        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);;
            }
        }
Ejemplo n.º 3
0
 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;
         }
     }
 }
Ejemplo n.º 4
0
 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();
         }
     }
 }
Ejemplo n.º 5
0
 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;
         }
     }
 }