//通过读数据库获取会员卡 private bool get_member_by_db() { if (phone.Text != "") m_Member = dao.get_CardInfo("CI_Telephone='" + phone.Text + "'"); //m_Member = db.CardInfo.FirstOrDefault(x => x.CI_Telephone == phone.Text); else if (name.Text != "") { var members = dao.get_CardInfos("CI_Name='" + name.Text + "'"); //var members = db.CardInfo.Where(x => x.CI_Name == name.Text); if (members.Count() != 1) { BathClass.printErrorMsg("名称不唯一或者不存在!"); return false; } m_Member = members.FirstOrDefault(); } else if (old_id.Text != "") m_Member = dao.get_CardInfo("CI_CardNo='" + old_id.Text+"'"); //m_Member = db.CardInfo.FirstOrDefault(x => x.CI_CardNo == old_id.Text); if (m_Member == null) { BathClass.printErrorMsg("该会员卡不在本店登记!"); return false; } if (m_Member.state == null || m_Member.state == "在用") return true; else { BathClass.printErrorMsg("该会员卡状态为" + m_Member.state + ",不能补卡!"); return false; } }
//会员打折 private void btnDiscount_Click(object sender, EventArgs e) { //BathClass.sendMessageToCamera(db, m_Seats[0].systemId); var id = string.Join("|", m_Seats.Select(x => x.systemId).ToArray()); MemberPromotionForm memberPromotionForm = new MemberPromotionForm(m_Seats, id); memberPromotionForm.ShowDialog(); m_Member = memberPromotionForm.m_member; this.Close(); }
//构造函数 public MemberFingerForm(CCardInfo member) { InitializeComponent(); try { dao = new DAO(LogIn.connectionString); m_member = member; } catch (System.Exception e) { BathClass.printErrorMsg(e.Message); } }
//构造函数 public PayForm(List<CSeat> _seats, Dictionary<Int64, bool> orders, CCardInfo member, double discount_money, double money) { //seat_keeps = seats; m_orders = orders; m_wipe_limit = MConvert<int>.ToTypeOrDefault(LogIn.options.抹零限制, 0); m_Seats = _seats; //m_Seats.AddRange(db.Seat.Where(x => seats.Keys.Contains(x.text))); m_promotion_Member = member; m_discount_money = discount_money; m_money = money; InitializeComponent(); }
//会员打折 private void memberTool_Click(object sender, EventArgs e) { double money_pre = Convert.ToDouble(moneyPayable.Text); MemberPromotionOptionForm memberPromotionOptionForm = new MemberPromotionOptionForm(m_Seats); if (memberPromotionOptionForm.ShowDialog() != DialogResult.OK) return; //var dc = new BathDBDataContext(LogIn.connectionString); m_Member = memberPromotionOptionForm.m_Member; dgvExpense_show(); double money = Convert.ToDouble(moneyPayable.Text); moneyPayable.Text = money.ToString(); discount_money = money_pre - money; }
//获取会员卡 private void get_member() { string card_data = ""; string company_code = LogIn.options.companyCode; bool st = false; if (cardType == "SLE4442") st = ICCard.read_data_4442(company_code, ref card_data); else if (cardType == "M1") st = ICCard.read_data_M1(company_code, ref card_data); else if (cardType == "CT") { card_data = id.Text; st = true; } if (!st) return; //card_data = "103051"; id.Text = card_data; m_member = dao.get_CardInfo("CI_CardNo='" + id.Text + "'"); //m_member = db.CardInfo.FirstOrDefault(x => x.CI_CardNo == id.Text); if (m_member == null) { BathClass.printErrorMsg("非本公司卡!"); return; } var t = dao.get_MemberType("id=" + m_member.CI_CardTypeNo); //var t = db.MemberType.FirstOrDefault(x => x.id == m_member.CI_CardTypeNo); if (t != null) type.Text = t.name; balance.Text = dao.get_member_balance(id.Text).ToString(); //balance.Text = BathClass.get_member_balance(db, card_data).ToString(); if (m_member.state == "入库") btnOk.Text = "激活"; if (m_member.state == "在用") btnOk.Text = "退卡"; }
//获取会员卡 private void get_member() { string card_data = ""; string company_code = LogIn.options.companyCode; bool st = false; //var cardType = db.MemberSetting.FirstOrDefault().cardType; if (cardType == "SLE4442") st = ICCard.read_data_4442(company_code, ref card_data); else if (cardType == "M1") st = ICCard.read_data_M1(company_code, ref card_data); else if (cardType == "CT") { card_data = id.Text; st = true; } if (!st) return; //card_data = "0000117"; id.Text = card_data; m_member = dao.get_CardInfo("CI_CardNo='" + id.Text + "'"); //m_member = db.CardInfo.FirstOrDefault(x => x.CI_CardNo == id.Text); if (m_member == null) { BathClass.printErrorMsg("非本公司卡!"); return; } name.Text = m_member.CI_Name; var t = dao.get_MemberType("id=" + m_member.CI_CardTypeNo); //var t = db.MemberType.FirstOrDefault(x => x.id == m_member.CI_CardTypeNo); if (t != null) type.Text = t.name; var cc = dao.get_CardCharges("CC_CardNo='" + m_member.CI_CardNo + "'"); //var cc = db.CardCharge.Where(x => x.CC_CardNo == m_member.CI_CardNo); int debit = MConvert<int>.ToTypeOrDefault(cc.Sum(x => x.CC_DebitSum), 0); int lend = MConvert<int>.ToTypeOrDefault(cc.Sum(x => x.CC_LenderSum), 0); balance.Text = (debit - lend).ToString(); var c = MConvert<int>.ToTypeOrDefault(m_member.CI_CreditsUsed, 0); var cu = MConvert<int>.ToTypeOrDefault(MemberForm.memberSetting.money, 0); int cs = (int)(lend / cu - c); credits.Text = cs.ToString(); btnOk.Text = "充值"; }
//通过读卡获取会员卡 private void get_member_by_card() { string card_data = ""; string company_code = LogIn.options.companyCode; bool st = false; var cardType = MemberForm.memberSetting.cardType; if (cardType == "SLE4442") st = ICCard.read_data_4442(company_code, ref card_data); else if (cardType == "M1") st = ICCard.read_data_M1(company_code, ref card_data); if (!st) return; m_member = dao.get_CardInfo("CI_CardNo='" + card_data + "'"); //m_member = db.CardInfo.FirstOrDefault(x => x.CI_CardNo == card_data); if (m_member == null) return; set_member(); }
//读会员卡 private void btnOk_Click(object sender, EventArgs e) { if (btnOk.Text == "读卡") { m_member = null; get_member(); //if (m_member == null) //{ // BathClass.printErrorMsg("输入卡不存在"); //} } else if (btnOk.Text == "重置") { reset_form(); } }
//添加储值卡 private void btnAdd_Click(object sender, EventArgs e) { double paid_money = get_paid_money(); if (paid_money >= m_money) { BathClass.printErrorMsg("刷卡金额已经足够!"); return; } if (id.Text != "") { m_member = dao.get_CardInfo("CI_CardNo='" + id.Text + "'"); } else { string card_data = ""; string company_code = LogIn.options.companyCode; bool st = false; var cardType = memberSetting.cardType; if (cardType == "SLE4442") st = ICCard.read_data_4442(company_code, ref card_data); else if (cardType == "M1") st = ICCard.read_data_M1(company_code, ref card_data); if (!st) return; m_member = dao.get_CardInfo("CI_CardNo='" + card_data + "'"); } if (m_member == null) { BathClass.printErrorMsg("非本公司卡!"); return; } if (m_member.state == "挂失") { BathClass.printErrorMsg("卡已挂失,无法使用!"); return; } if (m_member.state == "入库") { BathClass.printErrorMsg("卡已入库,但未激活,无法使用!"); return; } if (m_member.state == "停用") { BathClass.printErrorMsg("卡已停用,无法使用!,新卡卡号为:" + m_member.CI_Special1 + ",补卡时间为:" + m_member.CI_SpecialDate1.Value.ToString("yyyy-MM-dd HH:mm")); return; } string memberType = ""; var t = dao.get_MemberType("id=" + m_member.CI_CardTypeNo); if (t != null) memberType = t.name; if (t != null && MConvert<bool>.ToTypeOrDefault(t.userOneTimeOneDay, false) && dao.exist_instance("CardCharge", "datediff(day,CC_InputDate,getdate())=0 and cc_itemExplain!='售卡收' and cc_cardno='" + m_member.CI_CardNo + "'")) { BathClass.printErrorMsg("此卡被限定一天只能使用一次,今天已经使用过!"); return; } if (t != null && MConvert<bool>.ToTypeOrDefault(t.LimitedTimesPerMonth, false) && dao.get_memberCard_useTimes_this_month(m_member.CI_CardNo) >= t.TimesPerMonth) { BathClass.printErrorMsg("此卡被限定每月只能使用" + t.TimesPerMonth + "次,本月已达额度!"); return; } if (m_memberList.Keys.Contains(m_member.CI_CardNo)) { BathClass.printErrorMsg("已经添加卡号为" + m_member.CI_CardNo + "的会员卡,不能重复添加!"); return; } if (m_use_finger_pwd) { var form = new MemberFingerForm(m_member); form.ShowDialog(); if (!form.verified) { BathClass.printErrorMsg("验证指纹失败!"); return; } } var cc = dao.get_CardCharges("CC_CardNo='" + m_member.CI_CardNo + "'"); double debit = MConvert<int>.ToTypeOrDefault(cc.Sum(x => x.CC_DebitSum), 0); double lend = MConvert<int>.ToTypeOrDefault(cc.Sum(x => x.CC_LenderSum), 0); double balance = debit - lend; var c = MConvert<int>.ToTypeOrDefault(m_member.CI_CreditsUsed, 0); var cu = memberSetting.money.Value; int cs = (int)(lend / cu - c); double hasto_money = 0; if (balance <= m_money - paid_money) hasto_money = balance; else hasto_money = m_money - paid_money; m_memberList[m_member.CI_CardNo] = hasto_money; dgv.Rows.Add(m_member.CI_CardNo, m_member.CI_Name, m_member.CI_Telephone, memberType, balance, cs, hasto_money); id.Text = ""; }
public List<CCardInfo> get_CardInfos(string state_str) { List<CCardInfo> cardInfos = new List<CCardInfo>(); SqlConnection sqlCn = null; string cmd_str = ""; try { sqlCn = new SqlConnection(_con_str); sqlCn.Open(); cmd_str = "Select * from [CardInfo]"; if (state_str != null && state_str != "") cmd_str += "where (" + state_str + ")"; SqlCommand cmdSelect = new SqlCommand(cmd_str, sqlCn); using (SqlDataReader dr = cmdSelect.ExecuteReader()) { while (dr.Read()) { var cardInfo = new CCardInfo(); cardInfo.CI_CardNo = dr["CI_CardNo"].ToString(); cardInfo.CI_CardTypeNo = ToInt(dr["CI_CardTypeNo"]); cardInfo.CI_Name = dr["CI_Name"].ToString(); cardInfo.CI_Sexno = dr["CI_Sexno"].ToString(); cardInfo.CI_Address = dr["CI_Address"].ToString(); cardInfo.CI_Telephone = dr["CI_Telephone"].ToString(); cardInfo.CI_Remark = dr["CI_Remark"].ToString(); cardInfo.CI_SendCardDate = ToDateTime(dr["CI_SendCardDate"]); cardInfo.CI_SendCardOperator = dr["CI_SendCardOperator"].ToString(); cardInfo.CI_CreditsUsed = ToInt(dr["CI_CreditsUsed"]); cardInfo.birthday = ToDateTime(dr["birthday"]); cardInfo.state = dr["state"].ToString(); cardInfos.Add(cardInfo); } } } catch (System.Exception e) { IOUtil.insert_file(DateTime.Now.ToString() + "=" + cmd_str); BathClass.printErrorMsg(e.Message); } finally { close_connection(sqlCn); } return cardInfos; }
public CCardInfo get_CardInfo(string cmd_str) { CCardInfo cardInfo = null; SqlConnection sqlCn = null; try { sqlCn = new SqlConnection(_con_str); sqlCn.Open(); cmd_str = "Select * from [CardInfo] where (" + cmd_str + ")"; SqlCommand cmdSelect = new SqlCommand(cmd_str, sqlCn); using (SqlDataReader dr = cmdSelect.ExecuteReader()) { while (dr.Read()) { cardInfo = new CCardInfo(); cardInfo.CI_CardNo = dr["CI_CardNo"].ToString(); cardInfo.CI_CardTypeNo = ToInt(dr["CI_CardTypeNo"]); cardInfo.CI_Name = dr["CI_Name"].ToString(); cardInfo.CI_Sexno = dr["CI_Sexno"].ToString(); cardInfo.CI_Address = dr["CI_Address"].ToString(); cardInfo.CI_Telephone = dr["CI_Telephone"].ToString(); cardInfo.CI_Remark = dr["CI_Remark"].ToString(); cardInfo.CI_SendCardDate = ToDateTime(dr["CI_SendCardDate"]); cardInfo.CI_SendCardOperator = dr["CI_SendCardOperator"].ToString(); cardInfo.CI_CreditsUsed = ToInt(dr["CI_CreditsUsed"]); cardInfo.birthday = ToDateTime(dr["birthday"]); cardInfo.state = ToString(dr["state"]); cardInfo.CI_Special1 = dr["CI_Special1"].ToString(); cardInfo.CI_SpecialDate1 = ToDateTime(dr["CI_SpecialDate1"]); cardInfo.CI_Password = ToString(dr["CI_Password"]); break; } } } catch (System.Exception e) { IOUtil.insert_file("method=get_CardInfo,time=" + DateTime.Now.ToString() + ",cmd_str=" + cmd_str); BathClass.printErrorMsg(e.Message); } finally { close_connection(sqlCn); } return cardInfo; }
//获取会员卡 private void get_member() { string card_data = ""; string company_code = LogIn.options.companyCode; bool st = false; if (cardType == "SLE4442") st = ICCard.read_data_4442(company_code, ref card_data); else if (cardType == "M1") st = ICCard.read_data_M1(company_code, ref card_data); else if (cardType == "CT") { card_data = id.Text; st = true; } if (!st) return; //card_data = "000000"; m_member = dao.get_CardInfo("CI_CardNo='" + card_data + "'"); if (m_member == null) { BathClass.printErrorMsg("非本公司卡!"); return; } id.Text = m_member.CI_CardNo; name.Text = m_member.CI_Name; phone.Text = m_member.CI_Telephone; cmemberType = dao.get_MemberType("id='" + m_member.CI_CardTypeNo + "'"); if (memberType != null) memberType.Text = cmemberType.name; var cc = dao.get_CardCharges("CC_CardNo='" + m_member.CI_CardNo + "'"); double debit = MConvert<int>.ToTypeOrDefault(cc.Sum(x => x.CC_DebitSum), 0); double lend = MConvert<int>.ToTypeOrDefault(cc.Sum(x => x.CC_LenderSum), 0); balance.Text = (debit - lend).ToString(); var c = MConvert<int>.ToTypeOrDefault(m_member.CI_CreditsUsed, 0); var cu = MConvert<int>.ToTypeOrDefault(memberSetting.money, 0); int cs = (int)(lend / cu - c); credits.Text = cs.ToString(); btnOk.Text = "会员打折"; }