public void TestShiftInsertion() { DatabaseConnection connection = new DatabaseConnection(); var shift = EmployeeShift.From(new ArduinoLogRequest { Data = "r abc", Password = "******" }, connection); shift.RegisterUsing(connection); }
public async Task <string> LogData() { Console.WriteLine("Request Received"); try { using StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8); string body = await reader.ReadToEndAsync(); ArduinoLogRequest request = JsonSerializer.Deserialize <ArduinoLogRequest>(body); // ... try { if (request.Valid) { try { DatabaseConnection database = new DatabaseConnection(); EmployeeShift.From(request, database).RegisterUsing(database); Console.WriteLine($"Insertion Done: {request.RfidData()}"); } catch (InvalidOperationException ex) { Console.WriteLine(ex); return(Messages.Failure("Invalid operation")); } catch (KeyNotFoundException) { Console.WriteLine("RFID not found"); Console.WriteLine("RFID" + request.Data); Response.StatusCode = 404; return(Messages.Failure("RFID not found")); } } else { Response.StatusCode = 403; return(Messages.Failure("Invalid credentials")); } } catch (Exception ex) when(ex is OutOfMemoryException || ex is MySqlException) { Console.WriteLine(ex); Response.StatusCode = 500; return(Messages.Failure()); } // LOG DATA return(Messages.Success()); } catch (Exception ex) { Console.WriteLine(ex); Response.StatusCode = 500; return(Messages.Failure("Internal server error")); } }