private MeasurementsDTO GenerateMeasurementsDTO(string input) { try { string pattern = "Measurement Date: (.*?)" + "\r\n" + "Body temperature: (.*?)" + "\r\n" + "Blood Oxygen Level: (.*?)" + "\r\n" + "Heart Pulse Rate: (.*?)" + "\r\n"; RegexOptions options = RegexOptions.Multiline; string[] measurementsDataArray = Regex.Split(input, pattern, options); if (ValidateRequestFields(measurementsDataArray)) { MeasurementsDTO measurementsDTO = new MeasurementsDTO(); measurementsDTO.MeasurementDate = measurementsDataArray[1]; measurementsDTO.BodyTemperature = measurementsDataArray[2]; measurementsDTO.BloodOxygenLevel = measurementsDataArray[3]; measurementsDTO.HeartPulse = measurementsDataArray[4]; return(measurementsDTO); } return(null); } catch (Exception exception) { this.devLogger.Log(exception); return(null); } }
public void MeasurementsDTOJsonTest() { MeasurementsDTO firstInstance = new MeasurementsDTO(); firstInstance.MeasurementDate = "2021-05-08 17:30"; firstInstance.BloodOxygenLevel = "91"; firstInstance.BodyTemperature = "36.55"; firstInstance.HeartPulse = "99"; string firstInstanceJson = firstInstance.ToJson(); MeasurementsDTO secondInstance = new MeasurementsDTO(); secondInstance = MeasurementsDTO.FromJson(firstInstanceJson); string secondInstanceJson = secondInstance.ToJson(); Assert.Equal(firstInstanceJson, secondInstanceJson); }
private void SendMeasurmentsToDatabase(MeasurementsDTO measurementsDTO, string deviceID) { try { if (measurementsDTO != null && deviceID != null) { string jsonData = measurementsDTO.ToJson(); string entryIndex = this.entryIndexManager.GetEntryIndexAndIncrement(deviceID).ToString(); this.firebaseClient.PutData($"users\\{deviceID}\\measurementsList", entryIndex, jsonData); } else { throw new Exception("Invalid measurementsDTO or deviceID."); } } catch (Exception exception) { this.devLogger.Log(exception); } }
public static List <MeasurementsDTO> MapMeasurements(List <MeasurementsInfo> measurementsInfo) { var measurementsDTOList = new List <MeasurementsDTO>(); foreach (var measurement in measurementsInfo) { var measurementDTO = new MeasurementsDTO(); measurementDTO.location = measurement.location; measurementDTO.parameter = measurement.parameter; measurementDTO.value = measurement.value; measurementDTO.unit = measurement.unit; measurementDTO.utc = measurement.date.utc.ToString(); measurementDTO.local = measurement.date.local.ToString(); measurementDTO.latitude = measurement.coordinates.latitude; measurementDTO.longitude = measurement.coordinates.longitude; measurementsDTOList.Add(measurementDTO); } return(measurementsDTOList); }
private bool ProcessMeasurments(string encryptedBody) { try { string decryptedBody = ProcessEncryptedResponse(encryptedBody); string deviceID = ExtractDeviceID(decryptedBody); MeasurementsDTO measurementsDTO = GenerateMeasurementsDTO(decryptedBody); if (measurementsDTO == null) { return(false); } if (this.verbose) { PrintLog(decryptedBody); } SendMeasurmentsToDatabase(measurementsDTO, deviceID); return(true); } catch (Exception exception) { this.devLogger.Log(exception); return(false); } }