/// <summary> /// 获取会员卡信息 0:数据库操作失败, 1:成功, 2:会员卡号或者密码错误 /// </summary> public int GetVIPCard(string cardNo, string password, out VIPCard card) { int result = 0; try { _daoManager.OpenConnection(); //加密的密码 string str = string.Empty; string saltedPassword = _vipCardDao.GetCardPassword(cardNo); if (!string.IsNullOrEmpty(saltedPassword)) { int index = saltedPassword.IndexOf(Delim); string salt = saltedPassword.Substring(0, index); str = salt + Delim + PasswordCryptographer.SaltPassword(password, salt); } card = _vipCardDao.GetVIPCard(cardNo, str); result = card == null ? 2 : 1; } catch (Exception exception) { card = null; LogHelper.GetInstance().Error(string.Format("[GetVIPCard]参数:cardNo_{0}", cardNo), exception); } finally { _daoManager.CloseConnection(); } return result; }
public VIPCard GetVIPCard(string cardNo, string password) { VIPCard card = new VIPCard(); card.CardNo = cardNo; card.Password = password; return ExecuteQueryForObject("GetVIPCardInfo", card) as VIPCard; }
/// <summary> /// 获取会员卡信息 0:数据库操作失败, 1:成功, 2:会员卡号或者密码错误 /// </summary> public int SearchVIPCard(string cardNo, string password, out VIPCard card) { const int cByte = ParamFieldLength.PACKAGE_HEAD + ParamFieldLength.CARD_NO + ParamFieldLength.CARD_PASSWORD; byte[] sendByte = new byte[cByte]; int byteOffset = 0; Array.Copy(BitConverter.GetBytes((int)Command.ID_GET_VIPCARD), sendByte, BasicTypeLength.INT32); byteOffset = BasicTypeLength.INT32; Array.Copy(BitConverter.GetBytes(cByte), 0, sendByte, byteOffset, BasicTypeLength.INT32); byteOffset += BasicTypeLength.INT32; byte[] tempByte = null; //cardNo tempByte = Encoding.UTF8.GetBytes(cardNo); Array.Copy(tempByte, 0, sendByte, byteOffset, tempByte.Length); byteOffset += ParamFieldLength.CARD_NO; //password tempByte = Encoding.UTF8.GetBytes(password); Array.Copy(tempByte, 0, sendByte, byteOffset, tempByte.Length); byteOffset += ParamFieldLength.CARD_PASSWORD; int result = 0; card = null; using (SocketClient socket = new SocketClient(ConstantValuePool.BizSettingConfig.IPAddress, ConstantValuePool.BizSettingConfig.Port)) { Byte[] receiveData = null; Int32 operCode = socket.SendReceive(sendByte, out receiveData); if (operCode == (int)RET_VALUE.SUCCEEDED) { string strReceive = Encoding.UTF8.GetString(receiveData, ParamFieldLength.PACKAGE_HEAD, receiveData.Length - ParamFieldLength.PACKAGE_HEAD); card = JsonConvert.DeserializeObject<VIPCard>(strReceive); result = 1; } else if (operCode == (int)RET_VALUE.ERROR_AUTHENTICATION) { result = 2; } else { result = 0; } socket.Close(); } return result; }
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); } } } }