private void btnUpdate_Click(object sender, EventArgs e) { CardPaymentRecordBll cbll = new CardPaymentRecordBll(AppSettings.CurrentSetting.CurrentMasterConnect); LDB_CardPaymentRecordBll lcbll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect); InitProgress(); NotifyProgress(0); foreach (DataGridViewRow row in GridView.Rows) { LDB_CardPaymentInfo info = row.Tag as LDB_CardPaymentInfo; CardPaymentInfo payment = LDB_InfoFactory.CreateCardPaymentInfo(info); CommandResult result = cbll.InsertRecordWithCheck(payment); if (result.Result == ResultCode.Successful) { info.UpdateFlag = true; lcbll.Update(info); ShowCardPaymentOnRow(info, row.Index); row.DefaultCellStyle.ForeColor = Color.Green; } else { row.DefaultCellStyle.ForeColor = Color.Red; } GridView.Refresh(); NotifyProgress(null); } NotifyProgress(this.progressBar1.Maximum); this.progressBar1.Visible = false; }
private CommandResult SaveCardPayment(PaymentMode paymentMode) { CommandResult result = null; _ChargeRecord.PaymentMode = paymentMode; _ChargeRecord.OperatorID = OperatorInfo.CurrentOperator.OperatorName; _ChargeRecord.StationID = WorkStationInfo.CurrentStation.StationName; _ChargeRecord.Paid = this.txtPaid.DecimalValue; _ChargeRecord.Discount = _ChargeRecord.Accounts - this.txtPaid.DecimalValue; _ChargeRecord.IsCenterCharge = WorkStationInfo.CurrentStation.IsCenterCharge; _ChargeRecord.Memo = this.txtMemo.Text; LDB_CardPaymentRecordBll cbll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect); result = cbll.PayParkFee(_cardInfo, _ChargeRecord); if (result.Result == ResultCode.Successful) { _cardInfo.IsInPark = false;//标记已出场 if (CardOperationManager.Instance.WriteCardLoop(_cardInfo) != CardOperationResultCode.Success) { //这里使用DeleteCardPayment是因为sqlite插入记录后不会自动返回自增的主键,所有需要通过卡号和缴费时间查询来删除 cbll.DeleteCardPayment(_ChargeRecord.CardID, _ChargeRecord.ChargeDateTime); } } return(result); }
private CommandResult SaveCardPayment(PaymentMode paymentMode) { CommandResult result = null; _ChargeRecord.PaymentMode = paymentMode; _ChargeRecord.OperatorID = OperatorInfo.CurrentOperator.OperatorName; _ChargeRecord.StationID = WorkStationInfo.CurrentStation.StationName; _ChargeRecord.Paid = this.txtPaid.DecimalValue; _ChargeRecord.Discount = _ChargeRecord.Accounts - this.txtPaid.DecimalValue; _ChargeRecord.IsCenterCharge = true; _ChargeRecord.Memo = this.txtMemo.Text; CardBll cbll = new CardBll(AppSettings.CurrentSetting.CurrentMasterConnect); bool both = WorkStationInfo.CurrentStation.NeedBothDatabaseUpdate; bool offlineHandleCard = AppSettings.CurrentSetting.EnableWriteCard && _cardInfo != null && !_cardInfo.OnlineHandleWhenOfflineMode; result = cbll.PayParkFee(_cardInfo, _ChargeRecord, AppSettings.CurrentSetting.CurrentStandbyConnect, both, offlineHandleCard); if (result.Result != ResultCode.Successful && offlineHandleCard) { //与主数据库通信故障时,脱机模式时按脱机模式处理的卡片,收费信息写入本地数据库,待通信正在时,上传到主数据库 LDB_CardPaymentRecordBll ldb_cbll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect); result = ldb_cbll.PayParkFee(_cardInfo, _ChargeRecord); } //写卡模式需要将收费信息写入卡片扇区 if (result.Result == ResultCode.Successful && offlineHandleCard) { CardOperationManager.Instance.WriteCardLoop(_cardInfo); } return(result); }
private void ItemSearching_Handler(object sender, EventArgs e) { LDB_CardPaymentRecordSearchCondition con = new LDB_CardPaymentRecordSearchCondition(); con.RecordDateTimeRange = new DateTimeRange(); con.RecordDateTimeRange.Begin = this.ucDateTimeInterval1.StartDateTime; con.RecordDateTimeRange.End = this.ucDateTimeInterval1.EndDateTime; con.CardType = this.comCardType.SelectedCardType; con.CardID = this.txtCardID.Text.Trim(); if (carTypeComboBox1.SelectedIndex > 0) { con.CarType = carTypeComboBox1.SelectedCarType; } if (rdUpdated.Checked) { con.UpdateFlag = true; } if (rdUnupdated.Checked) { con.UpdateFlag = false; } if (chkPaymentMode.Checked) { con.PaymentMode = comPaymentMode.SelectedPaymentMode; } con.CarPlate = this.txtCarPlate.Text.Trim(); if (this.comOperator.SelectecOperator != null) { con.Operator = this.comOperator.SelectecOperator; } LDB_CardPaymentRecordBll bll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect); QueryResultList <LDB_CardPaymentInfo> result = bll.GetItems(con); if (result.Result == ResultCode.Successful) { ShowReportsOnGrid(result.QueryObjects); } else { MessageBox.Show(result.Message); } }
private CommandResult SaveCardPayment(PaymentMode paymentMode) { CommandResult result = null; _ChargeRecord.PaymentMode = paymentMode; _ChargeRecord.OperatorID = OperatorInfo.CurrentOperator.OperatorName; _ChargeRecord.StationID = WorkStationInfo.CurrentStation.StationName; _ChargeRecord.Paid = this.txtPaid.DecimalValue; _ChargeRecord.Discount = _ChargeRecord.Accounts - this.txtPaid.DecimalValue; _ChargeRecord.IsCenterCharge = WorkStationInfo.CurrentStation.IsCenterCharge; _ChargeRecord.Memo = this.txtMemo.Text; LDB_CardPaymentRecordBll cbll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect); result = cbll.PayParkFee(_cardInfo, _ChargeRecord); if (result.Result == ResultCode.Successful) { _cardInfo.IsInPark = false;//标记已出场 CardOperationManager.Instance.WriteCardLoop(_cardInfo); } return(result); }
private CommandResult SaveCardPayment(CardPaymentInfo cardPayment, PaymentMode paymentMode) { CommandResult result = null; cardPayment.Paid = txtPaid.DecimalValue; cardPayment.Discount = cardPayment.Accounts - cardPayment.Paid; cardPayment.Memo = txtMemo.Text; cardPayment.PaymentMode = paymentMode; cardPayment.OperatorID = OperatorInfo.CurrentOperator.OperatorName; cardPayment.StationID = WorkStationInfo.CurrentStation.StationName; cardPayment.IsCenterCharge = false; CardBll cbll = new CardBll(AppSettings.CurrentSetting.CurrentMasterConnect); bool both = WorkStationInfo.CurrentStation.NeedBothDatabaseUpdate; bool offlineHandleCard = AppSettings.CurrentSetting.EnableWriteCard && _cardInfo != null && !_processingEvent.OnlineHandleWhenOfflineMode && (paymentMode == PaymentMode.Cash || paymentMode == PaymentMode.Prepay); result = cbll.PayParkFee(_cardInfo, cardPayment, AppSettings.CurrentSetting.CurrentStandbyConnect, both, offlineHandleCard); if (result.Result != ResultCode.Successful && offlineHandleCard) { //与主数据库通信故障时,脱机模式时按脱机模式处理的卡片,收费信息写入本地数据库,待通信正在时,上传到主数据库 _cardInfo.UpdateFlag = false; LDB_CardPaymentRecordBll ldb_cbll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect); result = ldb_cbll.PayParkFee(_cardInfo, cardPayment); } //写卡模式并且不是按在线模式处理时需要将收费信息写入卡片扇区 if (result.Result == ResultCode.Successful && offlineHandleCard) { _cardInfo.IsInPark = false;//标记已出场 CardOperationManager.Instance.WriteCardLoop(_cardInfo); } return(result); }