/// <summary> /// 卡片禁用 /// </summary> /// <param name="info"></param> /// <param name="reason"></param> /// <param name="keepParkingStatus">是否保持卡片运行状态</param> /// <returns></returns> public CommandResult CardDisable(CardInfo info, string reason, bool keepParkingStatus) { string op = OperatorInfo.CurrentOperator.OperatorName; string station = WorkStationInfo.CurrentStation.StationName; IUnitWork unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri); CardDisableEnableRecord record = new CardDisableEnableRecord { CardID = info.CardID, OwnerName = info.OwnerName, CardCertificate = info.CardCertificate, CarPlate = info.CarPlate, DisableDateTime = DateTime.Now, DisableOperator = op, DisableStationID = station, DisableMemo = reason }; ICardDisableEnableRecordProvider recordProvider = ProviderFactory.Create <ICardDisableEnableRecordProvider>(_RepoUri); recordProvider.Insert(record, unitWork); info.Disable(); if (keepParkingStatus) { UpdateCard(info, unitWork); } else { UpdateCardAll(info, unitWork); } return(unitWork.Commit()); }