コード例 #1
0
ファイル: CardBll.cs プロジェクト: josephca88/510-Null
        /// <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());
        }