// This will transmit the same patient arrival record to all 3 event hubs private async Task broadcastSinglePatient(int patientId) { PatientArrival arrivalRecord = this.generatePatientArrival(patientId); string record = arrivalRecord.ToString(); Console.WriteLine("\n"); Console.WriteLine("========================================================================"); Console.WriteLine("Transmitting Patient Record to all event hubs"); Console.WriteLine(record); await sendMessage(this.eventHubClientCA, record); await sendMessage(this.eventHubClientFL, record); await sendMessage(this.eventHubClientWA, record); }
private PatientArrival generatePatientArrival(int patientNumber) { var checkinTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); Random random = new Random(); var patientId = HashUtils.SHA1HashStringForUTF8String(patientNumber + ""); int hospitalId = random.Next(1, 6); // 1-5 int feedbackId = random.Next(1, 9); // 1-8 int departmentPrefix = random.Next(0, 2); string departmentName = departments[departmentPrefix]; PatientArrival arrivalRecord = new PatientArrival(patientId, checkinTimestamp, hospitalId, departmentName, feedbackId); return(arrivalRecord); }
public IPatientArrival GeneratePatientArrival() { var patientId = GeneratorHelper.RandomNumericalValue(int.MaxValue); while (_patientIds.Contains(patientId)) { s_logger.Trace("Patient {0} already exist. Generated new one...", patientId); patientId = GeneratorHelper.RandomNumericalValue(int.MaxValue); } var patientArrival = new PatientArrival(patientId, _hospitals[GeneratorHelper.RandomNumericalValue(_hospitals.Count)].Id, _diseases[GeneratorHelper.RandomNumericalValue(_diseases.Count)], DateTime.Now); // Keep the new generated patient in the arrival list _patientsArrival[patientArrival.Disease.Priority].Add(patientArrival); _patientIds.Add(patientId); return(patientArrival); }