public static byte[] AddVIPCardPayment(byte[] itemBuffer) { byte[] objRet = null; string strReceive = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD, itemBuffer.Length - ParamFieldLength.PACKAGE_HEAD).Trim('\0'); VIPCardPayment cardPayment = JsonConvert.DeserializeObject <VIPCardPayment>(strReceive); string tradePayNo = string.Empty; int result; //验证卡身份 VIPCard card; int resultCode = VIPCardService.GetInstance().GetVIPCard(cardPayment.CardNo, cardPayment.CardPassword, out card); if (resultCode == 1 && card != null) { result = VIPCardTradeService.GetInstance().AddVIPCardPayment(cardPayment, out tradePayNo); } else { result = 99; //会员卡号或者密码错误 } byte[] buffer = Encoding.UTF8.GetBytes(tradePayNo); int transCount = ParamFieldLength.PACKAGE_HEAD + BasicTypeLength.INT32 + ParamFieldLength.TRADEPAYNO; objRet = new byte[transCount]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.SUCCEEDED), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(transCount), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(result), 0, objRet, ParamFieldLength.PACKAGE_HEAD, BasicTypeLength.INT32); Array.Copy(buffer, 0, objRet, ParamFieldLength.PACKAGE_HEAD + BasicTypeLength.INT32, buffer.Length); return(objRet); }
public static byte[] RefundVIPCardPayment(byte[] itemBuffer) { byte[] objRet = null; string cardNo = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD, ParamFieldLength.CARD_NO).Trim('\0'); string cardPassword = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD + ParamFieldLength.CARD_NO, ParamFieldLength.CARD_PASSWORD).Trim('\0'); string tradePayNo = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD + ParamFieldLength.CARD_NO + ParamFieldLength.CARD_PASSWORD, ParamFieldLength.TRADEPAYNO).Trim('\0'); int result; //验证卡身份 VIPCard card; int resultCode = VIPCardService.GetInstance().GetVIPCard(cardNo, cardPassword, out card); if (resultCode == 1 && card != null) { result = VIPCardTradeService.GetInstance().RefundVIPCardPayment(cardNo, tradePayNo); } else { result = 99; //会员卡号或者密码错误 } //返回对象 objRet = new byte[ParamFieldLength.PACKAGE_HEAD + BasicTypeLength.INT32]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.SUCCEEDED), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(ParamFieldLength.PACKAGE_HEAD + BasicTypeLength.INT32), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(result), 0, objRet, ParamFieldLength.PACKAGE_HEAD, BasicTypeLength.INT32); return(objRet); }
public static byte[] GetCardDiscountRate(byte[] itemBuffer) { byte[] objRet = null; string cardNo = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD, ParamFieldLength.CARD_NO).Trim('\0'); decimal discountRate = VIPCardService.GetInstance().GetCardDiscountRate(cardNo); int transCount = BasicTypeLength.INT32 + BasicTypeLength.INT32 + BasicTypeLength.DOUBLE_DECIMAL; objRet = new byte[transCount]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.SUCCEEDED), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(transCount), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes((double)discountRate), 0, objRet, 2 * BasicTypeLength.INT32, BasicTypeLength.DOUBLE_DECIMAL); return(objRet); }
public static byte[] UpdateVIPCardStatus(byte[] itemBuffer) { byte[] objRet = null; string cardNo = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD, ParamFieldLength.CARD_NO).Trim('\0'); string password = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD + ParamFieldLength.CARD_NO, ParamFieldLength.CARD_PASSWORD).Trim('\0'); int status = BitConverter.ToInt32(itemBuffer, ParamFieldLength.PACKAGE_HEAD + ParamFieldLength.CARD_NO + ParamFieldLength.CARD_PASSWORD); int result = VIPCardService.GetInstance().UpdateVIPCardStatus(cardNo, password, status); //返回 objRet = new byte[ParamFieldLength.PACKAGE_HEAD + BasicTypeLength.INT32]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.SUCCEEDED), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(ParamFieldLength.PACKAGE_HEAD + BasicTypeLength.INT32), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(result), 0, objRet, ParamFieldLength.PACKAGE_HEAD, BasicTypeLength.INT32); return(objRet); }
private void txtCardNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string cardNo = txtCardNo.Text.Trim(); if (!string.IsNullOrEmpty(cardNo)) { m_CardNo = cardNo; m_DiscountRate = VIPCardService.GetInstance().GetCardDiscountRate(cardNo); if (m_DiscountRate == 0M) { txtDiscountRate.Text = "无折扣"; } else { txtDiscountRate.Text = Convert.ToString((1M - m_DiscountRate) * 10) + "折"; } } } }
public static byte[] SearchVIPCard(byte[] itemBuffer) { byte[] objRet = null; string cardNo = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD, ParamFieldLength.CARD_NO).Trim('\0'); string password = Encoding.UTF8.GetString(itemBuffer, ParamFieldLength.PACKAGE_HEAD + ParamFieldLength.CARD_NO, ParamFieldLength.CARD_PASSWORD).Trim('\0'); VIPCard card = null; int result = VIPCardService.GetInstance().GetVIPCard(cardNo, password, out card); if (result == 1) { //获取成功 string json = JsonConvert.SerializeObject(card); byte[] jsonByte = Encoding.UTF8.GetBytes(json); int transCount = BasicTypeLength.INT32 + BasicTypeLength.INT32 + jsonByte.Length; objRet = new byte[transCount]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.SUCCEEDED), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(transCount), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); Array.Copy(jsonByte, 0, objRet, 2 * BasicTypeLength.INT32, jsonByte.Length); } else if (result == 2) { //会员卡号或者密码错误 objRet = new byte[ParamFieldLength.PACKAGE_HEAD]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.ERROR_AUTHENTICATION), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(ParamFieldLength.PACKAGE_HEAD), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); } else { //数据库操作失败 objRet = new byte[ParamFieldLength.PACKAGE_HEAD]; Array.Copy(BitConverter.GetBytes((int)RET_VALUE.ERROR_DB), 0, objRet, 0, BasicTypeLength.INT32); Array.Copy(BitConverter.GetBytes(ParamFieldLength.PACKAGE_HEAD), 0, objRet, BasicTypeLength.INT32, BasicTypeLength.INT32); } return(objRet); }
private void btnConfirm_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtNewPassword.Text.Trim())) { MessageBox.Show("请输入新密码!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (string.IsNullOrEmpty(txtNewPwd.Text.Trim())) { MessageBox.Show("请再次确认密码!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (txtNewPassword.Text.Trim() != txtNewPwd.Text.Trim()) { MessageBox.Show("两次输入的新密码不一致!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } string newPassword = this.txtNewPassword.Text.Trim(); int result = VIPCardService.GetInstance().UpdateCardPassword(cardNo, currentPassword, newPassword); if (result == 1) { _operResult = true; MessageBox.Show("密码修改成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else if (result == 2) { _operResult = false; MessageBox.Show("您输入的原密码不正确!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { _operResult = false; MessageBox.Show("密码修改失败!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void txtVIPCardNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { _card = null; Feature.FormNumericKeypad keyForm = new Feature.FormNumericKeypad(false); keyForm.DisplayText = "请输入密码"; keyForm.IsPassword = true; keyForm.ShowDialog(); if (!string.IsNullOrEmpty(keyForm.KeypadValue)) { string cardNo = txtVIPCardNo.Text.Trim(); string cardPassword = keyForm.KeypadValue; VIPCard card; int result = VIPCardService.GetInstance().SearchVIPCard(cardNo, cardPassword, out card); if (card != null && result == 1) { if (card.Status == 0) { MessageBox.Show("该卡未开通,请先开卡!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } txtName.Text = card.Name; txtBalance.Text = card.Balance.ToString("f2"); txtIntegral.Text = card.Integral.ToString(); txtDiscount.Text = ((1M - card.DiscountRate) * 10M).ToString("f2") + "折"; txtTelephone.Text = card.Telephone; txtAddress.Text = card.Address; if (card.Status == 1) { txtCardStatus.Text = "启用"; } if (card.Status == 2) { txtCardStatus.Text = "锁卡"; } if (card.Status == 3) { txtCardStatus.Text = "挂失"; } if (card.Status == 4) { txtCardStatus.Text = "作废"; } txtOpenCardTime.Text = card.OpenCardTime.ToString("yyyy-MM-dd HH:mm:ss"); if (card.LastConsumeTime != null) { txtLastConsumeTime.Text = Convert.ToDateTime(card.LastConsumeTime).ToString("yyyy-MM-dd HH:mm:ss"); } _cardNo = cardNo; _cardPassword = cardPassword; _card = card; if (card.Balance == 0M) { btnConsume.Enabled = false; btnConsume.BackColor = ConstantValuePool.DisabledColor; } else { btnConsume.Enabled = true; btnConsume.BackColor = btnConsume.DisplayColor; } } else if (result == 2) { txtVIPCardNo.Text = string.Empty; txtName.Text = string.Empty; txtBalance.Text = string.Empty; txtIntegral.Text = string.Empty; txtDiscount.Text = string.Empty; txtTelephone.Text = string.Empty; txtAddress.Text = string.Empty; txtCardStatus.Text = string.Empty; txtOpenCardTime.Text = string.Empty; txtLastConsumeTime.Text = string.Empty; MessageBox.Show("您输入的会员卡号或者密码错误!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { txtVIPCardNo.Text = string.Empty; txtName.Text = string.Empty; txtBalance.Text = string.Empty; txtIntegral.Text = string.Empty; txtDiscount.Text = string.Empty; txtTelephone.Text = string.Empty; txtAddress.Text = string.Empty; txtCardStatus.Text = string.Empty; txtOpenCardTime.Text = string.Empty; txtLastConsumeTime.Text = string.Empty; MessageBox.Show("服务器出现错误,请重新操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void btnConfirm_Click(object sender, EventArgs e) { string cardNo = txtCardNo.Text.Trim(); if (string.IsNullOrEmpty(cardNo)) { MessageBox.Show("请输入您的会员卡号!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (string.IsNullOrEmpty(_cardPassword)) { MessageBox.Show("请重新输入您的会员卡号!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (string.IsNullOrEmpty(txtStoreAmout.Text.Trim())) { MessageBox.Show("请输入充值金额!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } decimal storeAmount; if (!decimal.TryParse(txtStoreAmout.Text.Trim(), out storeAmount)) { MessageBox.Show("请输入正确的充值金额格式!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_curPayoffWay == null) { MessageBox.Show("请选择充值付款方式!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } VIPCard card; int resultCode = VIPCardService.GetInstance().SearchVIPCard(cardNo, _cardPassword, out card); if (card == null || resultCode != 1) { txtCardNo.Text = string.Empty; MessageBox.Show("您输入的会员卡号或者密码错误!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } VIPCardAddMoney cardAddMoney = new VIPCardAddMoney { CardNo = cardNo, CardPassword = _cardPassword, StoreMoney = storeAmount, EmployeeNo = ConstantValuePool.CurrentEmployee.EmployeeNo, DeviceNo = ConstantValuePool.BizSettingConfig.DeviceNo, PayoffID = _curPayoffWay.PayoffID, PayoffName = _curPayoffWay.PayoffName }; string tradePayNo; int result = VIPCardTradeService.GetInstance().AddVIPCardStoredValue(cardAddMoney, out tradePayNo); if (result == 1) { VIPCard card2; int resultCode2 = VIPCardService.GetInstance().SearchVIPCard(cardNo, _cardPassword, out card2); if (card2 != null && resultCode2 == 1) { PrintMemberCard printCard = new PrintMemberCard { MemberVoucher = "会员充值凭单", CardNo = cardNo, ShopName = ConstantValuePool.CurrentShop.ShopName, TradeType = "充值", TranSequence = tradePayNo, TradeTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), PreTradeAmount = card.Balance.ToString("f2"), PostTradeAmount = card2.Balance.ToString("f2"), Payment = _curPayoffWay.PayoffName, StoreValue = storeAmount.ToString("f2"), GivenAmount = (card2.Balance - card.Balance - storeAmount).ToString("f2"), PresentExp = (card2.Integral - card.Integral).ToString(), AvailablePoints = card2.Integral.ToString(), Operator = ConstantValuePool.CurrentEmployee.EmployeeNo, Remark = string.Empty }; int copies = ConstantValuePool.BizSettingConfig.printConfig.OrderCopies; string paperWidth = ConstantValuePool.BizSettingConfig.printConfig.PaperWidth; if (ConstantValuePool.BizSettingConfig.printConfig.PrinterPort == PortType.DRIVER) { string printerName = ConstantValuePool.BizSettingConfig.printConfig.Name; string paperName = ConstantValuePool.BizSettingConfig.printConfig.PaperName; DriverCardPrint printer = DriverCardPrint.GetInstance(printerName, paperName, paperWidth); for (int i = 0; i < copies; i++) { printer.DoPrintCardStore(printCard); } } MessageBox.Show("会员充值成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } } else if (result == 2) { MessageBox.Show("卡号不存在,请确认输入的卡号是否正确!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (result == 3) { MessageBox.Show("该卡未开通,请先开卡!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (result == 4) { MessageBox.Show("该卡已挂失,不能充值!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (result == 5) { MessageBox.Show("该卡已锁卡,不能充值!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (result == 6) { MessageBox.Show("该卡已作废,不能充值!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (result == 7) { MessageBox.Show("该卡所属会员组没有储值功能!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (result == 99) { txtCardNo.Text = string.Empty; MessageBox.Show("会员卡号或者密码错误!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("服务器出现错误,请重新操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnConfirm_Click(object sender, EventArgs e) { string cardNo = txtCardNo.Text.Trim(); if (string.IsNullOrEmpty(cardNo)) { MessageBox.Show("请输入您的会员卡号!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } string password = txtPassword.Text.Trim(); int status = 0; string strStatus = cmbCardStatus.Text; if (strStatus == "开卡") { status = 1; } if (strStatus == "挂失") { status = 2; } if (strStatus == "锁卡") { status = 3; } if (strStatus == "作废") { status = 4; } int result = VIPCardService.GetInstance().UpdateCardStatus(cardNo, password, status); if (result == 0) { MessageBox.Show("卡状态更新失败!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (result == 1) { MessageBox.Show("卡状态更新成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } if (result == 2) { MessageBox.Show("该卡还未开通!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (result == 3) { MessageBox.Show("该卡已开通!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (result == 4) { MessageBox.Show("您输入的密码不正确!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (result == 5) { MessageBox.Show("该卡已挂失!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (result == 6) { MessageBox.Show("该卡已锁卡!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (result == 7) { MessageBox.Show("该卡已作废!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private bool IsVipCardPaySuccess(out Dictionary <string, VIPCardPayment> dicCardPayment, out Dictionary <string, string> dicCardTradePayNo) { bool isSuccess = false; //key: cardNo dicCardPayment = new Dictionary <string, VIPCardPayment>(); dicCardTradePayNo = new Dictionary <string, string>(); foreach (KeyValuePair <string, OrderPayoff> item in dic) { if (item.Value.Quantity > 0 && item.Value.PayoffType == (int)PayoffWayMode.MembershipCard) { if (string.IsNullOrEmpty(item.Value.CardNo)) { continue; } string[] cardArr = item.Value.CardNo.Split('#'); //会员卡支付 string cardNo = cardArr[0]; string cardPassword = cardArr[1]; decimal payAmount = item.Value.AsPay * item.Value.Quantity - item.Value.NeedChangePay; const int payIntegral = 0; VIPCard card; int resultCode = VIPCardService.GetInstance().SearchVIPCard(cardNo, cardPassword, out card); if (card == null || resultCode != 1) { continue; } VIPCardPayment cardPayment = new VIPCardPayment { CardNo = cardNo, CardPassword = cardPassword, PayAmount = payAmount, PayIntegral = payIntegral, OrderNo = m_SalesOrder.order.OrderNo, EmployeeNo = ConstantValuePool.CurrentEmployee.EmployeeNo, DeviceNo = ConstantValuePool.BizSettingConfig.DeviceNo }; string tradePayNo; int result = VIPCardTradeService.GetInstance().AddVIPCardPayment(cardPayment, out tradePayNo); if (result == 1) { VIPCard card2; int resultCode2 = VIPCardService.GetInstance().SearchVIPCard(cardNo, cardPassword, out card2); if (card2 != null && resultCode2 == 1) { PrintMemberCard printCard = new PrintMemberCard { MemberVoucher = "会员消费凭单", CardNo = cardNo, ShopName = ConstantValuePool.CurrentShop.ShopName, TradeType = "消费", TranSequence = tradePayNo, TradeTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), PreConsumeAmount = card.Balance.ToString("f2"), PostConsumeAmount = card2.Balance.ToString("f2"), ConsumeAmount = payAmount.ToString("f2"), ConsumePoints = payIntegral.ToString(), AvailablePoints = card2.Integral.ToString(), LastConsumeTime = card.LastConsumeTime == null ? string.Empty : ((DateTime)card.LastConsumeTime).ToString("yyyy/MM/dd HH:mm:ss"), Operator = ConstantValuePool.CurrentEmployee.EmployeeNo, Remark = string.Empty }; int copies = ConstantValuePool.BizSettingConfig.printConfig.OrderCopies; string paperWidth = ConstantValuePool.BizSettingConfig.printConfig.PaperWidth; if (ConstantValuePool.BizSettingConfig.printConfig.PrinterPort == PortType.DRIVER) { string printerName = ConstantValuePool.BizSettingConfig.printConfig.Name; string paperName = ConstantValuePool.BizSettingConfig.printConfig.PaperName; DriverCardPrint printer = DriverCardPrint.GetInstance(printerName, paperName, paperWidth); for (int i = 0; i < copies; i++) { printer.DoPrintCardConsume(printCard); } } //会员充值成功 dicCardPayment.Add(item.Value.CardNo, cardPayment); dicCardTradePayNo.Add(item.Value.CardNo, tradePayNo); isSuccess = true; } } else if (result == 2) { MessageBox.Show(string.Format("卡号'{0}'不存在,请确认输入的卡号是否正确!", item.Value.CardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else if (result == 3) { MessageBox.Show(string.Format("卡号'{0}'未开通,请先开卡!", item.Value.CardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else if (result == 4) { MessageBox.Show(string.Format("卡号'{0}'已挂失,不能充值!", item.Value.CardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else if (result == 5) { MessageBox.Show(string.Format("卡号'{0}'已锁卡,不能充值!", item.Value.CardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else if (result == 6) { MessageBox.Show(string.Format("卡号'{0}'已作废,不能充值!", item.Value.CardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else if (result == 7) { MessageBox.Show(string.Format("卡号'{0}'所属会员组没有储值功能!", item.Value.CardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else if (result == 99) { MessageBox.Show("会员卡号或者密码错误!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } else { MessageBox.Show("服务器出现错误,请重新操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); isSuccess = false; break; } } } if (isSuccess) { return(true); } if (dicCardPayment.Count > 0) { //取消会员卡支付 foreach (KeyValuePair <string, VIPCardPayment> item in dicCardPayment) { string cardNo = item.Value.CardNo; //将支付成功的会员卡取消支付 int returnValue = VIPCardTradeService.GetInstance().RefundVipCardPayment(cardNo, item.Value.CardPassword, dicCardTradePayNo[cardNo]); if (returnValue == 1) { continue; } if (returnValue == 2) { MessageBox.Show(string.Format("交易流水号'{0}'不存在或者已作废", dicCardTradePayNo[cardNo]), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (returnValue == 99) { MessageBox.Show(string.Format("'{0}'的会员卡号或者密码错误!", cardNo), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("服务器出现错误,请重新操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } //保存到本地Sqlite CardRefundPay cardRefundPay = new CardRefundPay { CardNo = cardNo, ShopID = ConstantValuePool.CurrentShop.ShopID.ToString(), TradePayNo = dicCardTradePayNo[cardNo], PayAmount = item.Value.PayAmount, EmployeeNo = item.Value.EmployeeNo, DeviceNo = item.Value.DeviceNo }; CardRefundPayService refundPayService = new CardRefundPayService(); refundPayService.AddRefundPayInfo(cardRefundPay); } dicCardPayment = new Dictionary <string, VIPCardPayment>(); dicCardTradePayNo = new Dictionary <string, string>(); } return(false); }