/// <summary> /// 会员注册 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSure_Click(object sender, EventArgs e) { if (txtMemberName.CheckNullOrEmpty() * txtMemArr.CheckData(@"^1\d{10}$", "手机号格式有误1") != 0) { if (memberManager.GetMemberByIdOrPhone(txtMemArr.Text.Trim()) != null) { MessageBox.Show("该手机号已经被注册!"); return; } SMMembers member = new SMMembers() { MemberName = txtMemberName.Text.Trim(), PhoneNumber = txtMemArr.Text.Trim(), MemberAddress = string.IsNullOrEmpty(txtAddress.Text.Trim()) ? "地址不详" : txtAddress.Text.Trim() }; member = memberManager.AddMember(member); if (member != null) { if (MessageBox.Show($"注册成功!会员账号是【{member.Memberid}】\r\n是否继续注册?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { txtMemArr.Text = ""; txtMemberName.Text = ""; txtAddress.Text = ""; txtMemberName.Focus(); } ; } else { MessageBox.Show("注册失败请稍后再试!"); } } }
public SMMembers GetMembersById(int id) { string procName = "GetMembersById"; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@MemberId", System.Data.SqlDbType.Int) }; sp[0].Value = id; SMMembers members = null; SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); while (reader.Read()) { members = new SMMembers() { MemberId = Convert.ToInt32(reader["MemberId"]), MemberAddress = reader["MemberAddress"].ToString(), MemberName = reader["MemberName"].ToString(), MemberStatus = Convert.ToInt32(reader["MemberStatus"]), OpenTime = Convert.ToDateTime(reader["OpenTime"]), PhoneNumber = reader["PhoneNumber"].ToString(), Points = Convert.ToInt32(reader["Points"]) }; } reader.Close(); return(members); }
/// <summary> /// 提交查询 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSelectOK_Click(object sender, EventArgs e) { //有条件的查询 if (txtSelect.Text != "") { //通过卡号或者电话号查询 if (txtSelect.CheckData(@"^[1-9]\d*$", "会员卡号有误") != 0) { sm = manager.GetSMMemberByIdOrNum(txtSelect.Text.Trim()); source.DataSource = sm; dataGridView1.DataSource = null; dataGridView1.DataSource = source; txtSelect.Text = ""; } else if (txtSelect.CheckData(@"^[\u2E80-\u9FFF]+$", "姓名输入不正确") != 0) { //通过姓名查询 sm = manager.GetMemberByrName(txtSelect.Text.Trim()); source.DataSource = sm; dataGridView1.DataSource = null; dataGridView1.DataSource = source; txtSelect.Text = ""; } } else { members = manager.GetMembers(); CshVip(); } }
/// <summary> /// 确认注册 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnZC_Click(object sender, EventArgs e) { if (txtName.CheckNullOrEmpty() * txtMumber.CheckData(@"^1\d{10}$", "手机号格式有误") != 0) { if (manager.GetSMMemberByIdOrPhone(txtMumber.Text.Trim()) != null) { MessageBox.Show("手机号已经注册时会员!", "提示"); } SMMembers members = new SMMembers() { MemberName = txtName.Text.Trim(), PhoneNumber = txtMumber.Text.Trim(), MemberAddress = string.IsNullOrEmpty(txtAddress.Text.Trim()) ? "地址不详" : txtAddress.Text.Trim() }; if (manager.addMembers(members) != null) { if (MessageBox.Show($"会员注册成功!账号是【{members.MemberId}】\r\n是否继续注册", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { txtName.Text = ""; txtMumber.Text = ""; txtAddress.Text = ""; txtName.Focus(); } else { this.Close(); } } else { MessageBox.Show("会员注册失败!", "提示"); } } }
private void btnSure_Click(object sender, EventArgs e) { if (txtMemberName.CheckNullOrEmpty() * txtMemberTel.CheckData(@"^1\d{10}", "手机号格式有误!") == 1) { if (manager.GetMMemberByIdOrPhone(txtMemberTel.Text.Trim()) != null) { MessageBox.Show("该手机号已被注册!"); } SMMembers members = new SMMembers() { MemberName = txtMemberName.Text.Trim(), PhoneNumber = txtMemberTel.Text.Trim(), MemberAddress = string.IsNullOrEmpty(txtAddress.Text.Trim()) ? "地址不详!":txtAddress.Text.Trim() }; members = manager.AddMember(members); if (members != null) { if (MessageBox.Show($"注册成功!会员账号为{members.MemberId}\r\n是否继续注册?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { txtMemberName.Text = ""; txtMemberTel.Text = ""; txtAddress.Text = ""; txtMemberName.Focus(); } else { this.Close(); } } else { MessageBox.Show("注册失败!请稍后重试......"); } } }
/// <summary> /// 结算 /// </summary> /// <param name="sales"></param> /// <param name="members"></param> /// <returns></returns> public bool SaveSalerInfo(SalesList sales, SMMembers members) { List <string> procList = new List <string>(); List <SqlParameter[]> psList = new List <SqlParameter[]>(); //给消费主表中添加数据 procList.Add("AddSalesList"); SqlParameter[] saleSp = new SqlParameter[] { new SqlParameter("@SerialNum", SqlDbType.NVarChar, 50), new SqlParameter("@TotalMoney", SqlDbType.Decimal), new SqlParameter("@RealReceive", SqlDbType.Decimal), new SqlParameter("@ReturnMoney", SqlDbType.Decimal), new SqlParameter("@SalesPersonId", SqlDbType.Int) }; saleSp[0].Value = sales.SerialNum; saleSp[1].Value = sales.TotalMoney; saleSp[2].Value = sales.RealReceive; saleSp[3].Value = sales.ReturnMoney; saleSp[4].Value = sales.SalesPersonId; psList.Add(saleSp); //给消费明细表中添加每次购物的详细数据 foreach (SalesListDetail item in sales.salesLists) { procList.Add("AddSalesListDetail"); SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@SerialNum", SqlDbType.NVarChar, 50), new SqlParameter("@ProductId", SqlDbType.NVarChar, 50), new SqlParameter("@ProductName", SqlDbType.NVarChar, 50), new SqlParameter("@UnitPrice", SqlDbType.Decimal), new SqlParameter("@Discount", SqlDbType.Int), new SqlParameter("@Quantity", SqlDbType.Int), new SqlParameter("@SubTotalMoney", SqlDbType.Decimal) }; sp[0].Value = item.SerialNum; sp[1].Value = item.ProductId; sp[2].Value = item.ProductName; sp[3].Value = item.UnitPrice; sp[4].Value = item.Discount; sp[5].Value = item.Quantity; sp[6].Value = item.SubTotalMoney; psList.Add(sp); } //更新会员的积分 if (members != null) { procList.Add("RefreshMemberPoint"); SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@point", SqlDbType.Int), new SqlParameter("@memberId", SqlDbType.Int) }; sp[0].Value = members.Points; sp[1].Value = members.MemberId; psList.Add(sp); } return(SQLHelper.UpdateByTran(procList, psList)); }
public FrmUpdateVip(SMMembers member) { InitializeComponent(); txtName.Focus(); txtId.Text = member.MemberId.ToString(); txtName.GotFocus += TxtName_GotFocus; txtNumber.GotFocus += TxtName_GotFocus; txtAddress.GotFocus += TxtName_GotFocus; members = member; }
/// <summary> /// 修改会员状态 /// </summary> /// <param name="members"></param> /// <returns></returns> public bool UpVIP(SMMembers members) { if (server.UpVIP(members) > 0) { return(true); } else { return(false); } }
/// <summary> /// 修改会员状态 /// </summary> /// <param name="members"></param> /// <returns></returns> public int UpVIP(SMMembers members) { string procName = "UpVIP"; SqlParameter[] sp = { new SqlParameter("@memberStatus", members.MemberStatus), new SqlParameter("@memberId", members.MemberId) }; return(SQLHelper.ExecuteNonQuery(procName, sp)); }
/// <summary> /// 修改会员信息 /// </summary> /// <param name="members"></param> /// <returns></returns> public int UpdateVip(SMMembers members) { string procName = "UpdateVip"; SqlParameter[] sp = { new SqlParameter("@memberName", members.MemberName), new SqlParameter("@phonrNaumber", members.PhoneNumber), new SqlParameter("@memberAddress", members.MemberAddress), new SqlParameter("@memberId", members.MemberId) }; return(SQLHelper.ExecuteNonQuery(procName, sp)); }
/// <summary> /// 通过卡号电话查询会员信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public SMMembers GetSMMemberByIdOrNum(string id) { string procName = "GetMemberBysId"; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@MemberId", SqlDbType.Int), new SqlParameter("@PhoneNumber", SqlDbType.NVarChar, 50) }; if (id.Length == 11) { sp[0].Value = -1; sp[1].Value = id; } else { sp[0].Value = id; sp[1].Value = ""; } SMMembers members = new SMMembers(); SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); while (reader.Read()) { members.MemberId = Convert.ToInt32(reader["MemberId"]); members.MemberAddress = reader["MemberAddress"].ToString(); members.MemberName = reader["MemberName"].ToString(); int res = Convert.ToInt32(reader["MemberStatus"]); if (res == 1) { members.MemberStatu = "正常"; } else if (res == 0) { members.MemberStatu = "已冻结"; } else { members.MemberStatu = "已注销"; } members.OpenTime = Convert.ToDateTime(reader["OpenTime"]); members.PhoneNumber = reader["PhoneNumber"].ToString(); members.Points = Convert.ToInt32(reader["Points"]); } reader.Close(); return(members); }
public SMMembers AddMember(SMMembers member) { string procName = "AddMember"; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@MemberName", member.MemberName), new SqlParameter("@PhoneNumber", member.PhoneNumber), new SqlParameter("@MemberAddress", member.MemberAddress) }; object res = SQLHelper.ExecuteScalar(procName, sp); if (res != null) { member.Memberid = Convert.ToInt32(res); } else { member = null; } return(member); }
public bool SaveSaleInfo(SaleList objSaleList, SMMembers objSMMembers) { List <string> sqllist = new List <string>(); string mainsql = "insert into SalesList(SerialNum, TotalMoney, RealReceive, ReturnMoney, SalesPersonId) "; mainsql += "values('{0}', {1}, {2}, {3}, {4})"; sqllist.Add(string.Format(mainsql, objSaleList.SerialNum, objSaleList.TotalMoney, objSaleList.RealReceive, objSaleList.ReturnMoney, objSaleList.SalesPersonId)); foreach (SaleListDetail itemDetail in objSaleList.SaleListDetails) { string detailsql = "insert into SalesListDetail(SerialNum, ProductId, ProductName, UnitPrice, Discount, Quantity, SubTotalMoney) "; detailsql += "values('{0}','{1}', '{2}',{3}, {4}, {5}, {6})"; detailsql = string.Format(detailsql, itemDetail.SerialNum, itemDetail.ProductId, itemDetail.ProductName, itemDetail.UnitPrice, itemDetail.Discount, itemDetail.Quantity, itemDetail.SubTotalMoney); sqllist.Add(detailsql); string updatesql = "update ProductInventory Set TotalCount=TotalCount-{0} where ProductId='{1}'"; updatesql = string.Format(updatesql, itemDetail.Quantity, itemDetail.ProductId); sqllist.Add(updatesql); } if (objSMMembers != null) { string pointsql = "update SMMembers Set Points+={0} where MemberId={1}"; pointsql = string.Format(pointsql, objSMMembers.Points, objSMMembers.MemberId); sqllist.Add(pointsql); } try { return(SQLHelp.UpdateByTran(sqllist, null)); } catch (SqlException ex) { throw new Exception("应用程序与数据库连接出错,具体内容: " + ex.Message); } catch (Exception ex) { throw ex; } }
public SMMembers GetMembersById(string id) { string procName = "GetMembersById"; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@Memberid", System.Data.SqlDbType.Int), new SqlParameter("@PhoneNumber", System.Data.SqlDbType.NVarChar, 50) }; if (id.Length == 11) { sp[0].Value = -1; sp[1].Value = id; } else { sp[0].Value = id; sp[1].Value = ""; } SMMembers members = null; SqlDataReader reader = SQLHelper.DataReader(procName, sp); while (reader.Read()) { members = new SMMembers() { Memberid = Convert.ToInt32(reader["Memberid"]), MemberAddress = reader["MemberAddress"].ToString(), MemberName = reader["MemberName"].ToString(), MemberStatus = Convert.ToInt32(reader["MemberStatus"]), OpenTime = Convert.ToDateTime(reader["OpenTime"]), PhoneNumber = reader["PhoneNumber"].ToString(), Points = Convert.ToInt32(reader["Points"]) }; } reader.Close(); return(members); }
/// <summary> /// 查询会员信息 /// </summary> /// <returns></returns> public List <SMMembers> GetMembers() { string procName = "GetAllTables"; SqlParameter[] sp = { new SqlParameter("@tableName", "SMMembers") }; SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); List <SMMembers> members = new List <SMMembers>(); while (reader.Read()) { SMMembers sm = new SMMembers(); sm.MemberId = Convert.ToInt32(reader["MemberId"]); sm.MemberName = reader["MemberName"].ToString(); sm.Points = Convert.ToInt32(reader["Points"]); sm.PhoneNumber = reader["PhoneNumber"].ToString(); sm.MemberAddress = reader["MemberAddress"].ToString(); sm.OpenTime = Convert.ToDateTime(reader["OpenTime"]); sm.MemberStatus = Convert.ToInt32(reader["MemberStatus"]); if (sm.MemberStatus == 1) { sm.MemberStatu = "正常"; } else if (sm.MemberStatus == 0) { sm.MemberStatu = "已冻结"; } else { sm.MemberStatu = "已注销"; } members.Add(sm); } reader.Close(); return(members); }
public SMMembers GetSMMemberById(string smmemberId) { string sql = "select MemberId, MemberName, Points, PhoneNumber, MemberAddress, OpenTime, MemberStatus from "; sql += "SMMembers where MemberId={0}"; sql = string.Format(sql, smmemberId); SMMembers objSMMember = null; try { SqlDataReader objReader = SQLHelp.GetResult(sql, null); if (objReader.Read()) { objSMMember = new SMMembers() { MemberAddress = objReader["MemberAddress"].ToString(), MemberId = objReader["MemberId"].ToString(), MemberName = objReader["MemberName"].ToString(), MemberStatus = Convert.ToInt32(objReader["MemberStatus"]), OpenTime = Convert.ToDateTime(objReader["OpenTime"]), PhoneNumber = objReader["PhoneNumber"].ToString(), Points = Convert.ToInt32(objReader["Points"]) }; } objReader.Close(); return(objSMMember); } catch (System.Data.SqlClient.SqlException ex) { throw new Exception("应用程序与数据库连接出错,具体内容: " + ex.Message); } catch (Exception ex) { throw ex; } }
/// <summary> /// 结账 /// </summary> /// <param name="objSaleList"></param> /// <param name="member"></param> /// <returns></returns> public bool SaveSaleInfo(SalesListMain objSaleList, SMMembers member) { List <string> sqlList = new List <string>(); //【1】组合sql语句(插入主表) string mainSql = "insert into SalesList(SerialNum, TotalMoney, RealReceive, ReturnMoney, SalesPersonId) values('{0}',{1},{2},{3},{4})"; mainSql = string.Format(mainSql, objSaleList.SeriaINum, objSaleList.TotalMoney, objSaleList.RealRecieve, objSaleList.ReturnMoney, objSaleList.SalesPersonId); sqlList.Add(mainSql); //【2】组合sql语句(插入明细表以及更新库存) foreach (SalesListDetail detail in objSaleList.ListDetail) { //插入明细表 string detailSql = "insert into SalesListDetail(SerialNum, ProductId, ProductName, UnitPrice, Discount, Quantity, SubTotalMoney)"; detailSql += " values('{0}','{1}','{2}',{3},{4},{5},{6})"; detailSql = string.Format(detailSql, detail.SeriaINum, detail.ProductId, detail.ProductName, detail.UnitPrice, detail.Discount, detail.Quantity, detail.SubTotalMoney); sqlList.Add(detailSql); //跟新库存 string updateSql = $"update ProductInventory set TotalCount=TotalCount-{detail.Quantity} where ProductId='{detail.ProductId}'"; sqlList.Add(updateSql); } //【3】更新客户积分 if (member != null) { string pointSql = "update SMMembers set Points=Points+{0} where MemberId={1}"; pointSql = string.Format(pointSql, member.Points, member.MemeberId); sqlList.Add(pointSql); } try { //【4】启用事务,返回结果 return(SQLHelper.ExecuteTransaction(sqlList)); } catch (Exception ex) { throw ex; } }
/// <summary> /// 通过姓名查询会员信息 /// </summary> /// <param name="where"></param> /// <returns></returns> public SMMembers GetMemberByrName(string where) { string procName = "GetMemberByName"; SqlParameter[] sp = { new SqlParameter("@memberName", where) }; SMMembers sm = new SMMembers(); SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); while (reader.Read()) { sm.MemberId = Convert.ToInt32(reader["MemberId"]); sm.MemberName = reader["MemberName"].ToString(); sm.Points = Convert.ToInt32(reader["Points"]); sm.PhoneNumber = reader["PhoneNumber"].ToString(); sm.MemberAddress = reader["MemberAddress"].ToString(); sm.OpenTime = Convert.ToDateTime(reader["OpenTime"]); int res = Convert.ToInt32(reader["MemberStatus"]); if (res == 1) { sm.MemberStatu = "正常"; } else if (res == 0) { sm.MemberStatu = "已冻结"; } else { sm.MemberStatu = "已注销"; } } reader.Close(); return(sm); }
/// <summary> /// 添加会员 /// </summary> /// <param name="members"></param> /// <returns></returns> public SMMembers addMembers(SMMembers members) { return(server.addMembers(members)); }
private void Balance() { //显示结算窗口,考虑支付被取消或修改 FrmBalance frm = new FrmBalance(txtPay.Text); if (frm.ShowDialog() != DialogResult.OK) { if (frm.Tag.ToString() == "Esc")//客户放弃购买(忘记带钱等) { RestForm(); } } else//正式进入结算环节 { SMMembers members = null; if (frm.Tag.ToString().Contains("&"))//输入了会员卡号 { string[] info = frm.Tag.ToString().Split('&'); txtAmount.Text = info[0]; members = new SMMembers() { MemberId = Convert.ToInt32(info[1]), Points = (int)(Convert.ToDouble(txtPay.Text) / 10.0) }; } else { txtAmount.Text = frm.Tag.ToString(); } //找零 txtChange.Text = (Convert.ToDecimal(txtPay.Text) - Convert.ToDecimal(txtAmount.Text)).ToString(); //创建消费对象 SalesList saleObj = new SalesList() { SerialNum = txtSerialNum.Text, TotalMoney = Convert.ToDecimal(txtPay.Text.Trim()), RealReceive = Convert.ToDecimal(txtAmount.Text.Trim()), ReturnMoney = Convert.ToDecimal(txtChange.Text.Trim()), SalesPersonId = Program.Sale.SalePersonId }; //封装消费明细列表 foreach (Produts item in productList) { saleObj.ListDetail.Add( new SalesListDetail() { SerialNum = txtSerialNum.Text, ProductId = item.ProductId, ProductName = item.ProductName, Quantity = item.Quantity, UnitPrice = item.UnitPrice, Discount = item.Discount, SubTotalMoney = item.SubTotal } ); } try { productManager.SaveSalerInfo(saleObj, members); } catch (Exception ex) { MessageBox.Show($"保存销售数据的时候发生异常!{ex.Message}", "异常提示"); return; } //小票打印 printDocument.Print(); PrintPriview(); //重置主界面 RestForm(); } }
public SMMembers AddMember(SMMembers member) { return(memberServer.AddMember(member)); }
private void Balance() { //【1】打开UI界面:考虑取消或者修改的情况 FrmBalance frmBalance = new FrmBalance(this.lblTotalMoney.Text); DialogResult dialogResult = frmBalance.ShowDialog(); if (dialogResult == DialogResult.Cancel) { if (frmBalance.Tag.ToString() == "F4")//放弃购买:重新生成流水号,等待下一个客户 { RestForm(); } else if (frmBalance.Tag.ToString() == "F5")//放弃部分商品 { this.txtProductId.Focus(); } } else { //【2】正式结算 SMMembers members = null; if (frmBalance.Tag.ToString().Contains("|"))//判断是否有会员卡 { string[] info = frmBalance.Tag.ToString().Split('|'); this.lblReceivedMoney.Text = info[0]; members = new SMMembers { MemeberId = info[1], Points = (int)Convert.ToDouble(this.lblTotalMoney.Text.Trim()) / 10 }; } else//不包含会员卡 { this.lblReceivedMoney.Text = frmBalance.Tag.ToString(); } //显示找零 this.lblReturnMoney.Text = (Convert.ToDecimal(this.lblReceivedMoney.Text.Trim()) - Convert.ToDecimal(this.lblTotalMoney.Text.Trim())).ToString(); //【3】封装主表对象 SalesListMain salesListMain = new SalesListMain { SeriaINum = this.lblSerialNum.Text, TotalMoney = Convert.ToDecimal(this.lblTotalMoney.Text.Trim()), RealRecieve = Convert.ToDecimal(this.lblReceivedMoney.Text.Trim()), ReturnMoney = Convert.ToDecimal(this.lblReturnMoney.Text.Trim()), SalesPersonId = Program.currentSalesPerson.SalesPersonId, }; //【4】封装明细表对象 foreach (Product product in productList) { salesListMain.ListDetail.Add(new SalesListDetail { SeriaINum = this.lblSerialNum.Text, ProductId = product.ProductId, ProductName = product.ProductName, Quantity = product.Quantity, UnitPrice = product.UnitPrice, Discount = product.Discount, SubTotalMoney = product.SubTotal, }); } //【5】调用后台 try { productService.SaveSaleInfo(salesListMain, members); } catch (Exception ex) { MessageBox.Show("保存数据发生异常" + ex.Message); } //【6】打印小票 this.printDocument.Print(); //【7】生成新的流水号 RestForm(); } }
private void txtAmount_KeyDown(object sender, KeyEventArgs e) { txtAmount.Text = txtAmount.Text.Replace("\r\n", ""); txtVip.Text = txtVip.Text.Replace("\r\n", ""); if (e.KeyCode == Keys.F1) { radMoney.Checked = true; } else if (e.KeyCode == Keys.F2) { radCard.Checked = true; } else if (e.KeyCode == Keys.F3) { radQRCode.Checked = true; } else if (e.KeyCode == Keys.Enter)//回车键:表示正常结算 { if (txtAmount.CheckData(@"^(([1-9]\d*)|(\d*.\d{0,2}))$", "输入金额有误") != 0) { if (txtAmount.Text.Contains(".") && txtAmount.Text.IndexOf(".") == txtAmount.Text.Length) { txtAmount.Text += "00"; } else if (!txtAmount.Text.Contains(".")) { txtAmount.Text += ".00"; } txtAmount.Text = Convert.ToDecimal(txtAmount.Text).ToString("F2"); if (txtVip.Text.Length == 0)//判断不是会员 { this.Tag = txtAmount.Text.Trim(); } else//有会员卡号 { if (txtVip.CheckData(@"^[1-9]\d*$", "会员卡号或者手机号有误") != 0) { //进一步判断会员是否正常、、自己完成 SMMembers members = memberManager.GetMembersById(txtVip.Text.Trim()); if (members != null) { if (members.MemberStatus == 1) { this.Tag = $"{txtAmount.Text.Trim()}&{txtVip.Text.Trim()}"; } else { if (members.MemberStatus == 0) { MessageBox.Show($"会员【{txtVip.Text.Trim()}】被冻结!请联系管理员", "提示"); } else { MessageBox.Show("会员【{txtVip.Text.Trim()}】被注销!请联系管理员", "提示"); txtVip.Text = ""; return; } } } else { MessageBox.Show("会员【{txtVip.Text.Trim()}】不存在!请检查账号", "提示"); txtVip.Text = ""; return; } } else { this.Tag = txtAmount.Text.Trim(); } } //证明客户付钱够了 if (Convert.ToDecimal(txtPay.Text) <= Convert.ToDecimal(txtAmount.Text)) { this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("客户实际付款金额不足!", "注意"); } } } else if (e.KeyCode == Keys.Escape) { this.Tag = "Esc"; this.Close(); } else if (e.KeyCode == Keys.Tab) { SuperTextbox txt = sender as SuperTextbox; if (txt.Tag.ToString() == "vip") { txtAmount.Focus(); } else if (txt.Tag.ToString() == "pay") { txtVip.Focus(); } } }
private void Balance() { FrmBalance objFrmBalance = new FrmBalance(this.lblTotalMoney.Text.Trim()); if (objFrmBalance.ShowDialog() != DialogResult.OK) { if (objFrmBalance.Tag.ToString() == "F4")//用户放弃本次购买 { //重新生成流水号等待结算下一个客户 RestForm(); } else if (objFrmBalance.Tag.ToString() == "F5")//用户放弃部分商品购买 { this.txtProductId.Focus(); } } else //进入正式结算,获取用户的实付金额和会员卡 { SMMembers objSMM = null; if (objFrmBalance.Tag.ToString().Contains('|'))//如果有会员卡号 { string[] info = objFrmBalance.Tag.ToString().Split('|'); this.lblReceivedMoney.Text = info[0]; objSMM = new SMMembers()//新建一个会员卡对象 { MemberId = info[1], Points = (int)(Convert.ToDouble(this.lblTotalMoney.Text) / 10.0) }; } else { this.lblReceivedMoney.Text = objFrmBalance.Tag.ToString(); } //显示找零 this.lblReturnMoney.Text = (Convert.ToDecimal(this.lblReceivedMoney.Text.Trim()) - Convert.ToDecimal(this.lblTotalMoney.Text)).ToString(); SaleList objSaleList = new SaleList() { SerialNum = this.lblSerialNum.Text.Trim(), TotalMoney = Convert.ToDecimal(this.lblTotalMoney.Text.Trim()), RealReceive = Convert.ToDecimal(this.lblReceivedMoney.Text.Trim()), ReturnMoney = Convert.ToDecimal(this.lblReturnMoney.Text.Trim()), SalesPersonId = Program.CurrentPerson.SalesPersonId }; foreach (Product item in this.productlist) { objSaleList.SaleListDetails.Add(new SaleListDetail() { SerialNum = this.lblSerialNum.Text.Trim(), ProductId = item.ProductId, ProductName = item.ProductName, Quantity = item.Quantity, Discount = item.Discount, SubTotalMoney = item.SubTotal, UnitPrice = item.UnitPrice }); } try { objProductService.SaveSaleInfo(objSaleList, objSMM); } catch (Exception ex) { MessageBox.Show("保存销售数据到数据库时发生错误" + ex.Message, "错误信息"); return; } this.printDocument.Print(); //打印小票 RestForm(); //重置窗口 } }
public bool SaveSalerInfo(SalesList sales, SMMembers members) { return(server.SaveSalerInfo(sales, members)); }
public bool SaveSalerInfo(SalesList sales, SMMembers members) { List <string> procList = new List <string>(); List <SqlParameter[]> psList = new List <SqlParameter[]>(); //给消费主表中添加数据 procList.Add("AddSalesList"); SqlParameter[] saleSp = new SqlParameter[] { new SqlParameter("@SerialNum", SqlDbType.NVarChar, 50), new SqlParameter("@TotalMoney", SqlDbType.Decimal), new SqlParameter("@RealReceive", SqlDbType.Decimal), new SqlParameter("@ReturnMoney", SqlDbType.Decimal), new SqlParameter("@SalesPersonid", SqlDbType.Int) }; saleSp[0].Value = sales.SerialNum; saleSp[1].Value = sales.TotalMoney; saleSp[2].Value = sales.RealReceive; saleSp[3].Value = sales.ReturnMoney; saleSp[4].Value = sales.SalesPersonId; psList.Add(saleSp); //给消费明细表中添加每次购物的详细数据 foreach (SalesListDetail detail in sales.ListDetail) { procList.Add("AddSalesListDetail"); SqlParameter[] detailList = new SqlParameter[] { new SqlParameter("@SerialNum", SqlDbType.NVarChar, 50), new SqlParameter("@Productid", SqlDbType.NVarChar, 50), new SqlParameter("@ProductName", SqlDbType.NVarChar, 50), new SqlParameter("@UnitPrice", SqlDbType.Decimal), new SqlParameter("@Discount", SqlDbType.Float), new SqlParameter("@Quantity", SqlDbType.Int), new SqlParameter("@SubTotalMoney", SqlDbType.Decimal) }; detailList[0].Value = detail.SerialNum; detailList[1].Value = detail.ProductId; detailList[2].Value = detail.ProductName; detailList[3].Value = detail.UnitPrice; detailList[4].Value = detail.Discount; detailList[5].Value = detail.Quantity; detailList[6].Value = detail.SubTotalMoney; psList.Add(detailList); //更新库存数据 procList.Add("InventoryOut"); SqlParameter[] inventorySp = new SqlParameter[] { new SqlParameter("@Productid", SqlDbType.NVarChar, 50), new SqlParameter("@TotalCount", SqlDbType.Int) }; inventorySp[0].Value = detail.ProductId; inventorySp[1].Value = detail.Quantity; psList.Add(inventorySp); } //更新会员的积分 if (members != null) { procList.Add("RefreshMemberPoint"); SqlParameter[] memberSp = new SqlParameter[] { new SqlParameter("@Points", SqlDbType.Int), new SqlParameter("@Memberid", SqlDbType.Int) }; memberSp[0].Value = members.Points; memberSp[1].Value = members.Memberid; psList.Add(memberSp); } return(SQLHelper.UpdateByTran(procList, psList)); }
//键盘事件 private void txtVip_KeyDown(object sender, KeyEventArgs e) { txtAmount.Text = txtAmount.Text.Replace("\r\n", ""); txtVip.Text = txtVip.Text.Replace("\r\n", ""); if (e.KeyCode == Keys.F1) { radMoney.Checked = true;//确定选中 } else if (e.KeyCode == Keys.F2) { radCard.Checked = true; } else if (e.KeyCode == Keys.F3) { radQRCode.Checked = true; } else if (e.KeyCode == Keys.Enter) { if (txtAmount.CheckData(@"^(([1-9]\d*)|(\d*.\d{0,2}))$", "输入金额有误!") != 0) { if (txtAmount.Text.Contains(".") && txtAmount.Text.IndexOf(".") == txtAmount.Text.Length) { txtAmount.Text += "00"; } else if (!txtAmount.Text.Contains(".")) { txtAmount.Text += ".00"; } txtAmount.Text = Convert.ToDecimal(txtAmount.Text).ToString("F2"); if (txtVip.Text.Length == 0)//如果不是会员 { this.Tag = txtAmount.Text.Trim(); } else//有会员 { if (txtVip.CheckData(@"^[1-9]\d*$", "会员卡号有误!或手机号有误!") != 0) { //进一步判断会员卡号是否正常 SMMembers members = memberManager.GetMembersById(txtVip.Text.Trim()); if (members == null) { this.Tag = $"{txtAmount.Text.Trim()}${txtVip.Text.Trim()}"; } else { this.Tag = txtAmount.Text.Trim(); } } //卡号无误则 else { this.Tag = txtAmount.Text.Trim(); } } if (Convert.ToDecimal(txtPay.Text) <= Convert.ToDecimal(txtAmount.Text)) { this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("客户所付金额不足!", "注意!"); } } } else if (e.KeyCode == Keys.Escape) { this.Tag = "Esc"; this.Close(); } else if (e.KeyCode == Keys.Tab) { SuperText txt = sender as SuperText; if (txt.Tag.ToString() == "Vip") { txtAmount.Focus(); } else if (txt.Tag.ToString() == "pay") { txtVip.Focus(); } } }