public OperationResult<bool> EnterCard(Guid uid, uint cardNo, GKCodeReaderEnterType enterType) { var descriptor = MainViewModel.Current.Descriptors.FirstOrDefault(x => x.GKBase.UID == uid); if (descriptor == null) return OperationResult<bool>.FromError("Не найден элемент " + uid + " в конфигурации"); var device = descriptor.GKBase as GKDevice; if (device == null || !device.Driver.IsCardReaderOrCodeReader) return OperationResult<bool>.FromError("Ввод кода для данного объекта запрещен"); descriptor.EnterCard(cardNo, enterType); return new OperationResult<bool>(true); }
static GKStateBit CodeReaderEnterTypeToStateBit(GKCodeReaderEnterType codeReaderEnterType) { switch (codeReaderEnterType) { case GKCodeReaderEnterType.CodeOnly: return GKStateBit.Attention; case GKCodeReaderEnterType.CodeAndOne: return GKStateBit.Fire1; case GKCodeReaderEnterType.CodeAndTwo: return GKStateBit.Fire2; } return GKStateBit.Fire1; }
public void EnterCard(uint cardNo, GKCodeReaderEnterType enterType) { CurrentCardNo = cardNo; var backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += backgroundWorker_DoWork; backgroundWorker.RunWorkerAsync(); switch (enterType) { case GKCodeReaderEnterType.CodeOnly: SetStateBit(GKStateBit.Fire1, false); SetStateBit(GKStateBit.Fire2, false); SetStateBit(GKStateBit.Attention, true); break; case GKCodeReaderEnterType.CodeAndOne: SetStateBit(GKStateBit.Attention, false); SetStateBit(GKStateBit.Fire2, false); SetStateBit(GKStateBit.Fire1, true); break; case GKCodeReaderEnterType.CodeAndTwo: SetStateBit(GKStateBit.Attention, false); SetStateBit(GKStateBit.Fire1, false); SetStateBit(GKStateBit.Fire2, true); break; } }
public OperationResult<bool> EnterCard(Guid uid, uint cardNo, GKCodeReaderEnterType enterType) { var imitatorService = ImitatorServiceFactory.Create(); return imitatorService.EnterCard(uid, cardNo, enterType); }