public void RandomDataCycle() { try { string StoreId = "1081"; OpenTestLogDb(); using (var gateway = new TcpClient(GatewayAddress, GatewayPort)) { using (var stream = gateway.GetStream()) { for (var s = 0; s < 3; s++) { if (!useLegacy) { var Store = new MotStoreRecord("Add") { AutoTruncate = AutoTruncate, logRecords = true, UseAscii = UseAscii, StoreID = Guid.NewGuid().ToString(), StoreName = $"{DateTime.Now.ToLongTimeString()}{RandomData.String()}", Address1 = RandomData.TrimString(), Address2 = RandomData.TrimString(), City = RandomData.TrimString(), State = "NH", Zipcode = $"{RandomData.Integer(0, 100000).ToString("D5")}-{RandomData.Integer(0, 100000).ToString("D4")}", DEANum = RandomData.ShortDEA(), Phone = RandomData.USPhoneNumber(), Fax = RandomData.USPhoneNumber() }; Store.Write(stream); WriteTestLogRecord(new TestRecord() { Id = Guid.NewGuid().ToString(), RecordId = new Guid(Store.StoreID).ToString(), RecordType = RecordType.Store, Name = Store.StoreName, TimeStamp = DateTime.UtcNow }); StoreId = Store.StoreID; } for (var i = 0; i < MaxLoops; i++) { var Facility = new MotFacilityRecord("Add") { AutoTruncate = AutoTruncate, logRecords = true, UseAscii = UseAscii, LocationID = Guid.NewGuid().ToString(), StoreID = StoreId, LocationName = RandomData.String(), Address1 = RandomData.TrimString(), Address2 = RandomData.TrimString(), City = RandomData.TrimString(), State = "NH", Zipcode = $"0{RandomData.Integer(1000, 10000)}", Phone = RandomData.USPhoneNumber(), CycleDays = RandomData.Integer(1, 32), CycleType = RandomData.Bit(), Comments = RandomData.String(2048) }; Facility.Write(stream); WriteTestLogRecord(new TestRecord() { Id = Guid.NewGuid().ToString(), RecordId = new Guid(Facility.LocationID).ToString(), RecordType = RecordType.Facility, Name = Facility.LocationName, TimeStamp = DateTime.UtcNow }); var Prescriber = new MotPrescriberRecord("Add") { AutoTruncate = AutoTruncate, logRecords = true, UseAscii = UseAscii, RxSys_DocID = Guid.NewGuid().ToString(), LastName = RandomData.TrimString(), FirstName = RandomData.TrimString(), MiddleInitial = RandomData.TrimString(1), Address1 = RandomData.TrimString(), Address2 = RandomData.TrimString(), City = RandomData.TrimString(), State = "NH", Zipcode = $"0{RandomData.Integer(1000, 10000)}", DEA_ID = RandomData.ShortDEA(), TPID = RandomData.Integer(100000).ToString(), Phone = RandomData.USPhoneNumber(), Comments = RandomData.String(2048), Fax = RandomData.USPhoneNumber() }; Prescriber.Write(stream); WriteTestLogRecord(new TestRecord() { Id = Guid.NewGuid().ToString(), RecordId = new Guid(Prescriber.PrescriberID).ToString(), RecordType = RecordType.Prescriber, Name = $"{Prescriber.LastName}, {Prescriber.FirstName}, {Prescriber.MiddleInitial}", TimeStamp = DateTime.UtcNow }); for (var f = 0; f < MaxLoops; f++) { var rxId = Guid.NewGuid().ToString(); var drugId = Guid.NewGuid().ToString(); var Patient = new MotPatientRecord("Add") { AutoTruncate = AutoTruncate, logRecords = true, UseAscii = UseAscii, PatientID = Guid.NewGuid().ToString(), LocationID = Facility.LocationID, PrimaryPrescriberID = Prescriber.PrescriberID, LastName = RandomData.TrimString(), FirstName = RandomData.TrimString(), MiddleInitial = RandomData.TrimString(1), Address1 = RandomData.TrimString(), Address2 = RandomData.TrimString(), City = RandomData.TrimString(), State = "NH", Zipcode = $"0{RandomData.Integer(1000, 10000)}", Gender = RandomData.TrimString(1), CycleDate = RandomData.Date(DateTime.Now.Year), CycleDays = RandomData.Integer(0, 32), CycleType = RandomData.Bit(), AdmitDate = RandomData.Date(), ChartOnly = RandomData.Bit().ToString(), Phone1 = RandomData.USPhoneNumber(), Phone2 = RandomData.USPhoneNumber(), WorkPhone = RandomData.USPhoneNumber(), DOB = RandomData.Date(), SSN = RandomData.SSN(), Allergies = RandomData.String(1024), Diet = RandomData.String(1024), DxNotes = RandomData.String(1024), InsName = RandomData.String(), InsPNo = RandomData.Integer().ToString(), AltInsName = RandomData.String(), AltInsPNo = RandomData.Integer().ToString() }; Patient.Write(stream); WriteTestLogRecord(new TestRecord() { Id = Guid.NewGuid().ToString(), RecordId = new Guid(Patient.PatientID).ToString(), RecordType = RecordType.Patient, Name = $"{Patient.LastName}, {Patient.FirstName}, {Patient.MiddleInitial}", TimeStamp = DateTime.UtcNow }); for (var rx = 0; rx < 8; rx++) { var Drug = new MotDrugRecord("Add") { AutoTruncate = AutoTruncate, logRecords = true, UseAscii = UseAscii, DrugID = Guid.NewGuid().ToString(), DrugName = RandomData.TrimString(), NDCNum = RandomData.TrimString().ToUpper(), ProductCode = RandomData.TrimString().ToUpper(), LabelCode = RandomData.TrimString().ToUpper(), TradeName = RandomData.TrimString(), DrugSchedule = RandomData.Integer(2, 8), Strength = RandomData.Double(100), Route = RandomData.TrimString(), RxOTC = RandomData.Bit() == 1 ? "R" : "O", VisualDescription = $"{RandomData.TrimString(3)}/{RandomData.TrimString(3)}/{RandomData.TrimString(3)}", DoseForm = RandomData.TrimString(), DefaultIsolate = RandomData.Bit(), ShortName = RandomData.TrimString(), ConsultMsg = RandomData.String() }; WriteTestLogRecord(new TestRecord() { Id = Guid.NewGuid().ToString(), RecordId = new Guid(Drug.DrugID).ToString(), RecordType = RecordType.Drug, Name = $"{Drug.TradeName}", TimeStamp = DateTime.UtcNow }); Drug.Write(stream); var Rx = new MotPrescriptionRecord("Add") { AutoTruncate = AutoTruncate, logRecords = true, UseAscii = UseAscii, PatientID = Patient.PatientID, PrescriberID = Prescriber.PrescriberID, DrugID = Drug.DrugID, RxSys_RxNum = RandomData.Integer(1, 1000000000).ToString(), RxStartDate = RandomData.Date(DateTime.Now.Year), RxStopDate = RandomData.Date(DateTime.Now.Year), DoseScheduleName = RandomData.TrimString().ToUpper(), QtyPerDose = RandomData.Double(10), QtyDispensed = RandomData.Integer(1, 120), RxType = RandomData.Integer(1, 21), DoseTimesQtys = RandomData.DoseTimes(RandomData.Integer(1, 25)), Isolate = RandomData.Bit().ToString(), Refills = RandomData.Integer(1, 100), Sig = RandomData.String() }; WriteTestLogRecord(new TestRecord() { Id = Guid.NewGuid().ToString(), RecordId = Guid.NewGuid().ToString(), RecordType = RecordType.Prescription, Name = $"{Rx.RxSys_RxNum}", TimeStamp = DateTime.UtcNow }); Rx.Write(stream); } } } } } } CloseTestLogDb(); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { StartCleaning = true; } }