public static async Task <NfcReaderType> GetNfcReaderTypeFromDbAsync(ApplicationDbContext dbContext = null) { using (UnitOfWork unitOfWork = (dbContext == null) ? new UnitOfWork() : new UnitOfWork(dbContext)) { NfcReaderType nfcReaderType = await unitOfWork.SettingRepository.GetNfcReaderTypeAsync(); return(nfcReaderType); } }
public async Task <IActionResult> PostNfcReaderType(NfcReaderType type) { try { await _unitOfWork.SettingRepository.SetNfcReaderTypeAsync(type); await _unitOfWork.SaveChangesAsync(); } catch (Exception e) { return(BadRequest(e.Message)); } return(CreatedAtAction("PostNfcReaderType", null)); }
public async Task UnitOfWork_SettingRepository_GetDefaultNfcReaderType_ShouldReturnCorrectValue() { string dbName = Guid.NewGuid().ToString(); using (IUnitOfWork unitOfWork = new UnitOfWork(GetDbContext(dbName))) { // Arrange NfcReaderType expectedNfcReaderType = NfcReaderType.uFr; // Act NfcReaderType nfcReaderType = await unitOfWork.SettingRepository.GetNfcReaderTypeAsync(); // Assert Assert.AreEqual(expectedNfcReaderType, nfcReaderType); } }
public async Task SetNfcReaderTypeAsync(NfcReaderType nfcReaderType) { var nfcReaderTypeInDb = await _dbContext.Settings .SingleOrDefaultAsync(s => s.Name == P04_NfcReaderType); if (nfcReaderTypeInDb == null) { Setting newSetting = new Setting { Name = P04_NfcReaderType, Type = 2, Value = nfcReaderType.ToString() }; _dbContext.Add(newSetting); } else { nfcReaderTypeInDb.Value = nfcReaderType.ToString(); } }
public async Task UnitOfWork_SettingRepository_SetTwoNfcReaderTypes_ShouldReturnSecondNfcReaderType() { string dbName = Guid.NewGuid().ToString(); using (IUnitOfWork unitOfWork = new UnitOfWork(GetDbContext(dbName))) { // Arrange NfcReaderType expectedNfcReaderType1 = NfcReaderType.uFr; NfcReaderType expectedNfcReaderType2 = NfcReaderType.RC522; await unitOfWork.SettingRepository.SetNfcReaderTypeAsync(expectedNfcReaderType1); unitOfWork.SaveChanges(); await unitOfWork.SettingRepository.SetNfcReaderTypeAsync(expectedNfcReaderType2); unitOfWork.SaveChanges(); // Act NfcReaderType nfcReaderType = await unitOfWork.SettingRepository.GetNfcReaderTypeAsync(); // Assert Assert.AreEqual(expectedNfcReaderType2, nfcReaderType); } }
public async Task <NfcReaderType> GetNfcReaderTypeAsync() { NfcReaderType defaultValue = NfcReaderType.uFr; var nfcReaderType = await _dbContext.Settings .SingleOrDefaultAsync(s => s.Name == P04_NfcReaderType); if (nfcReaderType == null) { return(defaultValue); } else { try { return((NfcReaderType)Enum.Parse(typeof(NfcReaderType), nfcReaderType.Value)); } catch { return(defaultValue); } } }
static async Task <int> Main(string[] args) { string _actEnvironment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); bool _card_in_field_uFR = false; int _card_in_field_RC522 = 0; DateTime _dateOld = DateTime.Now; int cyleTime = 300; // milliseconds char c; Mode _operationMode = Mode.Read; NfcReaderType _nfcReaderType = NfcReaderType.uFr; try { // Check database FunctionsCCT.CheckDatabase(); FunctionsCCT.AddRemoveDummyInDb(); // Delete persons older then storage time (default 30 days) from database await FunctionsCCT.DeletePersonsOutsideStoragePeriode(); // Get NfcReaderType from database _nfcReaderType = await FunctionsCCT.GetNfcReaderTypeFromDbAsync(); // Start NFC-Reader programm Functions_uFR.headline(); // Start PipeServer var pipeServer = new PipeServer(autoRun: true); // Init Reader switch (_nfcReaderType) { case NfcReaderType.uFr: Functions_uFR.reader_automaticOpen(); break; case NfcReaderType.RC522: if (_actEnvironment != null && _actEnvironment.StartsWith("RPI")) { // toDo } break; default: Console.WriteLine("Kein gültiger NFC-Readertyp angewählt"); break; } do { while ((!Console.IsInputRedirected)? !Console.KeyAvailable : true) { // Get message from Web - Application string message = pipeServer.ReceiceMessage(); string nfcNewDataContent = string.Empty; switch (message) { case "SetReadMode": _operationMode = Mode.Read; break; case "SetWriteMode": _operationMode = Mode.Write; break; default: if (!string.IsNullOrEmpty(message)) { nfcNewDataContent = message; } break; } if (_operationMode == Mode.Read) { switch (_nfcReaderType) { case NfcReaderType.uFr: ReadCycle_uFR(ref _card_in_field_uFR); break; case NfcReaderType.RC522: ReadCycle_RC522(_actEnvironment, ref _card_in_field_RC522); break; default: Console.WriteLine("Kein gültiger NFC-Readertyp angewählt"); break; } } else if (_operationMode == Mode.Write) { switch (_nfcReaderType) { case NfcReaderType.uFr: WriteCycle_uFR(nfcNewDataContent); break; case NfcReaderType.RC522: WriteCycle_RC522(_actEnvironment, nfcNewDataContent); break; default: Console.WriteLine("Kein gültiger NFC-Readertyp angewählt"); break; } } //ReadCycle_RC522(_actEnvironment, ref _card_in_field_RC522); // to delete Thread.Sleep(cyleTime); // Delete persons older then storage time (default 30 days) from database if (DateTime.Now.Date != _dateOld.Date) { await FunctionsCCT.DeletePersonsOutsideStoragePeriode(); } _dateOld = DateTime.Now; } c = Console.ReadKey(true).KeyChar; } while (c != '\x1b'); } catch (System.FormatException ex) { Console.WriteLine($"Unexpected error occured:"); WriteExceptions(ex); } Functions_RC522.ResetSignals(); return(0); }