示例#1
0
 private void ShowFreeAuthorizationLogOnRow(DataGridViewRow row, FreeAuthorizationLog log)
 {
     row.Tag = log;
     row.Cells["colLogDateTime"].Value   = log.LogDateTime.ToString("yyyy-MM-dd HH:mm:ss");
     row.Cells["colOperatorID"].Value    = log.OperatorID;
     row.Cells["colCardID"].Value        = log.CardID;
     row.Cells["colBeginDateTime"].Value = log.BeginDateTime.ToString("yyyy-MM-dd HH:mm:ss");
     row.Cells["colEndDateTime"].Value   = log.EndDateTime.ToString("yyyy-MM-dd HH:mm:ss");
     row.Cells["colStationID"].Value     = log.StationID;
     row.Cells["colInPark"].Value        = log.InPark;
     row.Cells["colNotCheckOut"].Value   = !log.CheckOut;
     row.Cells["colMemo"].Value          = log.Memo;
 }
示例#2
0
        private void SaveAuthensToPark(List <string> records)
        {
            FrmProcessing frmP   = new FrmProcessing();
            Action        action = delegate()
            {
                try
                {
                    int success = 0;
                    int fail    = 0;
                    FreeAuthorizationLogBll bll = new FreeAuthorizationLogBll(AppSettings.CurrentSetting.ParkConnect);
                    foreach (string record in records)
                    {
                        Ralid.Park.POS.Model.FreeAuthorizationLog p = Ralid.Park.POS.Model.FreeAuthorizationLogSerializer.Deserialize(record);
                        if (p != null)
                        {
                            FreeAuthorizationLog item = CreateFrom(p);
                            CommandResult        ret  = bll.InsertRecordWithCheck(item);
                            if (ret.Result == ResultCode.Successful)
                            {
                                success++;
                            }
                            else
                            {
                                fail++;
                            }
                        }
                        else
                        {
                            fail++;
                        }
                        frmP.ShowProgress(string.Format(Resource1.FrmMain_ImportAuthenLog + " " + Resource1.FrmMain_Success + ":{0}  " + Resource1.FrmMain_Fail + ":{1}  " + Resource1.FrmMain_ImportTotal + ": {2}", success, fail, records.Count), (decimal)(success + fail) / records.Count);
                    }
                    ShowMessage(string.Format(Resource1.FrmMain_ImportAuthenLog + " " + Resource1.FrmMain_Success + ":{0}  " + Resource1.FrmMain_Fail + ":{1}  " + Resource1.FrmMain_ImportTotal + ": {2}", success, fail, records.Count), Color.Black);
                }
                catch (ThreadAbortException)
                {
                }
                catch (Exception ex)
                {
                    frmP.ShowProgress(ex.Message, 1);
                    ShowMessage(ex.Message, Color.Red);
                }
            };
            Thread t = new Thread(new ThreadStart(action));

            t.Start();
            if (frmP.ShowDialog() != DialogResult.OK)
            {
                t.Abort();
            }
        }
示例#3
0
        private FreeAuthorizationLog CreateFrom(Ralid.Park.POS.Model.FreeAuthorizationLog log)
        {
            FreeAuthorizationLog item = new FreeAuthorizationLog();

            item.LogDateTime   = log.LogDateTime;
            item.CardID        = log.CardID;
            item.BeginDateTime = log.BeginDateTime;
            item.EndDateTime   = log.EndDateTime;
            item.InPark        = log.InPark;
            item.CheckOut      = log.CheckOut;
            item.OperatorID    = log.OperatorID;
            item.StationID     = log.StationID;
            item.Memo          = log.Memo;
            return(item);
        }
        public CommandResult InsertRecordWithCheck(FreeAuthorizationLog info)
        {
            RecordSearchCondition searchCondition = new RecordSearchCondition();

            searchCondition.RecordDateTimeRange = new DateTimeRange(info.LogDateTime, info.LogDateTime);
            searchCondition.CardID = info.CardID;

            List <FreeAuthorizationLog> check = provider.GetItems(searchCondition).QueryObjects;

            if (check == null || check.Count == 0)
            {
                return(provider.Insert(info));
            }
            //已存在该记录,可认为插入成功
            return(new CommandResult(ResultCode.Successful, string.Empty));
        }
        private FreeAuthorizationLog CreateFreeAuthorizationLog(CardInfo info)
        {
            FreeAuthorizationLog log = new FreeAuthorizationLog();

            log.LogDateTime   = DateTime.Now;
            log.CardID        = info.CardID;
            log.BeginDateTime = info.LastDateTime;
            if (info.FreeDateTime.HasValue)
            {
                log.EndDateTime = info.FreeDateTime.Value;
            }
            log.InPark     = info.IsInPark;
            log.CheckOut   = info.HotelCheckOut;
            log.OperatorID = OperatorInfo.CurrentOperator.OperatorName;
            log.StationID  = WorkStationInfo.CurrentStation.StationName;
            log.Memo       = string.Empty;
            return(log);
        }
        /// <summary>
        /// 免费授权
        /// </summary>
        private void FreeAuthorization(CardInfo cardinfo)
        {
            bool offlineHandleCard = AppSettings.CurrentSetting.EnableWriteCard &&
                                     cardinfo != null &&
                                     !cardinfo.OnlineHandleWhenOfflineMode;
            CardBll _CardBll = new CardBll(AppSettings.CurrentSetting.ParkConnect);
            bool    success  = _CardBll.CardFreeAuthorizationWithStandby(_cardInfo, WorkStationInfo.CurrentStation.HasStandbyDatabase, AppSettings.CurrentSetting.CurrentStandbyConnect).Result == ResultCode.Successful;

            //写卡模式时需要将授权信息写入卡片扇区,并且只需要写入卡片成功就可以了
            if (offlineHandleCard)
            {
                success = CardOperationManager.Instance.WriteCardLoop(cardinfo) == CardOperationResultCode.Success;
                if (!success)
                {
                    //写入失败时,将数据库的卡片授权信息还原
                    _CardBll.CardFreeAuthorization(_OriginalCard);
                    if (!string.IsNullOrEmpty(AppSettings.CurrentSetting.CurrentStandbyConnect))
                    {
                        //还原备用数据库
                        CardBll standbyCardBll = new CardBll(AppSettings.CurrentSetting.CurrentStandbyConnect);
                        standbyCardBll.CardFreeAuthorization(_OriginalCard);
                    }
                }
            }

            if (success)
            {
                //插入授权记录
                FreeAuthorizationLog    log    = CreateFreeAuthorizationLog(_cardInfo);
                FreeAuthorizationLogBll logBll = new FreeAuthorizationLogBll(AppSettings.CurrentSetting.ParkConnect);
                logBll.Insert(log);

                MessageBox.Show(Resource1.FrmHotelAuthorization_Authe + Resource1.Form_Success);
                ClearInput();
            }
            else
            {
                MessageBox.Show(Resource1.FrmHotelAuthorization_Authe + Resource1.Form_Fail);
            }
        }
 public CommandResult Delete(FreeAuthorizationLog info)
 {
     return(provider.Delete(info));
 }
 public CommandResult Insert(FreeAuthorizationLog info)
 {
     return(provider.Insert(info));
 }