Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }