protected override CommandResult UpdateItem(object updatingItem) { CommandResult result = this.chkWriteCard.Checked ? bll.UpdateCardAll((CardInfo)updatingItem) : bll.UpdateCard((CardInfo)updatingItem); if (result.Result == ResultCode.Successful) { WriteCard((CardInfo)updatingItem); } return(result); }
protected override CommandResult UpdateItem(object updatingItem) { CardInfo card = (CardInfo)updatingItem; CardBll bll = new CardBll(AppSettings.CurrentSetting.ParkConnect); CommandResult result = bll.UpdateCardAll(card); if (result.Result == ResultCode.Successful) { WriteCard(card); } return(result); }
protected override CommandResult UpdateItem(object updatingItem) { CommandResult result = this.chkWriteCard.Checked ? bll.UpdateCardAll((CardInfo)updatingItem) : bll.UpdateCard((CardInfo)updatingItem); if (result.Result == ResultCode.Successful) { WriteCard((CardInfo)updatingItem); if (DataBaseConnectionsManager.Current.StandbyConnected) { //备用数据连上时,同步到备用数据库 bll.SyncCardToDatabaseWithoutPaymentInfo((CardInfo)updatingItem, AppSettings.CurrentSetting.CurrentStandbyConnect); } } return(result); }
protected override CommandResult UpdateItem(object updatingItem) { CardInfo card = (CardInfo)updatingItem; CardBll bll = new CardBll(AppSettings.CurrentSetting.ParkConnect); CommandResult result = bll.UpdateCardAll(card); if (result.Result == ResultCode.Successful) { WriteCard(card); if (DataBaseConnectionsManager.Current.StandbyConnected) { //备用数据连上时,同步到备用数据库 bll.SyncCardToDatabaseWithoutPaymentInfo((CardInfo)updatingItem, AppSettings.CurrentSetting.CurrentStandbyConnect); } } return(result); }
private string CardOut(CardBll bll, CardInfo card) { ParkInfo park = this.ucEntrance1.SelectedPark; EntranceInfo entrance = this.ucEntrance1.SelectedEntrance; //手动生成出场事件 CardEventReport report = CardEventReport.CreateExitEvent(card, entrance.ParkID, entrance.EntranceID, entrance.EntranceName, park.WorkMode, card.CarType, TariffSetting.Current, DateTime.Now); report.EventStatus = CardEventStatus.Valid; report.OperatorID = OperatorInfo.CurrentOperator.OperatorName; report.StationID = WorkStationInfo.CurrentStation.StationName; report.UpdateFlag = true;//先标识为已上传 CardInfo origal = card.Clone(); ////卡片出场 //card.ParkingStatus = ParkingStatus.Out; //card.LastDateTime = DateTime.Now; bool offlineHandleCard = AppSettings.CurrentSetting.EnableWriteCard && card != null && !card.OnlineHandleWhenOfflineMode; //CommandResult result = bll.UpdateCardAll(card); CommandResult result = bll.SaveCardAndEvent(card, report); //写卡模式需要将收费信息写入卡片扇区 if (result.Result == ResultCode.Successful && offlineHandleCard) { if (CardOperationManager.Instance.WriteCardLoop(card) != CardOperationResultCode.Success) { //写入失败时,需将数据库卡片状态还原及删除出场事件 bll.UpdateCardAll(origal); (new CardEventBll(AppSettings.CurrentSetting.ParkConnect)).Delete(new CardEventRecord(report)); result = new CommandResult(ResultCode.Fail); } } if (result.Result == ResultCode.Successful) { if (string.IsNullOrEmpty(AppSettings.CurrentSetting.CurrentStandbyConnect)) { //更新到备用数据库 CardBll standbybll = new CardBll(AppSettings.CurrentSetting.CurrentStandbyConnect); //standbybll.UpdateCardAll(card); standbybll.SaveCardAndEvent(card, report); } string msg = string.Format("{0}:[{1}] {2}:[{3}]", Resource1.FrmCardOut_CardID, card.CardID, Resource1.FrmCardOut_InDateTime, origal.LastDateTime.ToString("yyyy-MM-dd HH:mm:ss")); //插入卡片直接出场报警记录 AlarmInfo alarm = new AlarmInfo(); alarm.AlarmDateTime = card.LastDateTime; alarm.AlarmType = AlarmType.CardOutAnomaly; alarm.OperatorID = OperatorInfo.CurrentOperator.OperatorName; alarm.AlarmDescr = msg + string.Format(" {0}:[{1}]", Resource1.FrmCardOut_OutReason, this.txtMemo.Text.Trim()); new AlarmBll(AppSettings.CurrentSetting.ParkConnect).Insert(alarm); if (!_OutCardsWitPark.ContainsKey(park)) { _OutCardsWitPark.Add(park, 0); } //该停车场出场卡片数加1 _OutCardsWitPark[park] += 1; this.txtCount.Text = _OutCardsWitPark[park].ToString(); return(msg); } return(result.Message); }