Untitled
unknown
plain_text
9 months ago
28 kB
7
Indexable
using System; using System.Threading.Tasks; using SurgerySchedulingBackend.Infrastructure.Algorithm; using SurgerySchedulingBackend.Repositories.OperationRoom; namespace SurgerySchedulingBackend.Infrastructure.Algorithm { public class JsonInput { private readonly IJsonToDatabase _jsonToDatabase; public JsonInput(IJsonToDatabase jsonToDatabase) { _jsonToDatabase = jsonToDatabase; } public async Task Run() { // // Sample JSON data for Anesthetist // string anesthetistJson = @" // { // ""Id"": ""55b0e6e7-0c3c-4f94-93c1-47b8a8e4f5e9"", // ""FirstName"": ""Arda"", // ""LastName"": ""Altinors"" // }"; // // await _jsonToDatabase.AddAnesthetistFromJsonAsync(anesthetistJson); // // Sample JSON data for OperationRoom // string operationRoomJson = @" // { // ""Id"": ""c8b0e6e7-0a3c-4b94-83c1-57b8a8e4f5e0"", // ""OperationRoomStatus"": 2 // }"; // // await _jsonToDatabase.AddOperationRoomFromJsonAsync(operationRoomJson); // // Sample JSON data for Patient // string patientJson = @" // { // ""Id"": ""a3b0e6e7-0c3c-4f94-93c1-47b8a8e4f5e1"", // ""FirstName"": ""Jane"", // ""LastName"": ""Smith"", // ""DateOfBirth"": ""1990-01-01T00:00:00"" // }"; // // await _jsonToDatabase.AddPatientFromJsonAsync(patientJson); // // Sample JSON data for Surgeon // string surgeonJson = @" // { // ""Id"": ""b3c1e6e7-0c3c-4f94-93c1-47b8a8e4f5e2"", // ""FirstName"": ""Alice"", // ""LastName"": ""Johnson"" // }"; // // await _jsonToDatabase.AddSurgeonFromJsonAsync(surgeonJson); // // Sample JSON data for Surgery // string surgeryJson = @" // { // ""Id"": ""c5d2e6e7-0c3c-4f94-93c1-47b8a8e4f5e3"", // ""Surgeon"": { // ""Id"": ""b3c1e6e7-0c3c-4f94-93c1-47b8a8e4f5e2"", // ""FirstName"": ""Alice"", // ""LastName"": ""Johnson"" // }, // ""Anesthetist"": { // ""Id"": ""55b0e6e7-0c3c-4f94-93c1-47b8a8e4f5e9"", // ""FirstName"": ""Arda"", // ""LastName"": ""Altinors"" // }, // ""Patient"": { // ""Id"": ""a3b0e6e7-0c3c-4f94-93c1-47b8a8e4f5e1"", // ""FirstName"": ""Jane"", // ""LastName"": ""Smith"", // ""DateOfBirth"": ""1990-01-01T00:00:00"" // }, // ""ProtocolNo"": 123, // ""Duration"": 120, // ""Priority"": 1, // ""AnesthesiaTime"": 15, // ""CleaningTime"": 10, // ""MedEquipSterilizationTime"": 5 // }"; // // await _jsonToDatabase.AddSurgeryFromJsonAsync(surgeryJson); // // Sample JSON data for Appointment // string appointmentJson = @" // { // ""Id"": ""d6d2e6e7-0c3c-4f94-93c1-47b8a8e4f5e4"", // ""Surgery"": { // ""Id"": ""c5d2e6e7-0c3c-4f94-93c1-47b8a8e4f5e3"", // ""Surgeon"": { // ""Id"": ""b3c1e6e7-0c3c-4f94-93c1-47b8a8e4f5e2"", // ""FirstName"": ""Alice"", // ""LastName"": ""Johnson"" // }, // ""Anesthetist"": { // ""Id"": ""55b0e6e7-0c3c-4f94-93c1-47b8a8e4f5e9"", // ""FirstName"": ""Arda"", // ""LastName"": ""Altinors"" // }, // ""Patient"": { // ""Id"": ""a3b0e6e7-0c3c-4f94-93c1-47b8a8e4f5e1"", // ""FirstName"": ""Jane"", // ""LastName"": ""Smith"", // ""DateOfBirth"": ""1990-01-01T00:00:00"" // }, // ""ProtocolNo"": 123, // ""Duration"": 120, // ""Priority"": 1, // ""AnesthesiaTime"": 15, // ""CleaningTime"": 10, // ""MedEquipSterilizationTime"": 5 // }, // ""StartTime"": ""08:00:00"", // ""EndTime"": ""10:00:00"", // ""Date"": ""2024-07-24T00:00:00"", // ""Status"": 0, // ""AssignedOR"": { // ""Id"": ""c8b0e6e7-0a3c-4b94-83c1-57b8a8e4f5e0"", // ""OperationRoomStatus"": 2 // } // }"; // // await _jsonToDatabase.AddAppointmentFromJsonAsync(appointmentJson); // Sample JSON data for Schedule string scheduleJson = @" { ""Id"": 100, ""StartDate"": ""2024-07-30T00:00:00Z"", ""Appointments"": [ { ""Id"": 101, ""Surgery"": { ""Id"": 102, ""Surgeon"": { ""Id"": 103, ""FirstName"": ""Alice"", ""LastName"": ""Johnson"" }, ""Anesthetist"": { ""Id"": 104, ""FirstName"": ""Arda"", ""LastName"": ""Altinors"" }, ""Patient"": { ""Id"": 105, ""FirstName"": ""Jane"", ""LastName"": ""Smith"", ""DateOfBirth"": ""1990-01-01T00:00:00Z"" }, ""ProtocolNo"": 123, ""Duration"": 120, ""Priority"": 1, ""AnesthesiaTime"": 15, ""CleaningTime"": 10, ""MedEquipSterilizationTime"": 5 }, ""StartTime"": 8.0, ""EndTime"": 10.0, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 0, ""AssignedOR"": { ""Id"": 106, ""OperationRoomStatus"": 2 } }, { ""Id"": 107, ""Surgery"": { ""Id"": 108, ""Surgeon"": { ""Id"": 109, ""FirstName"": ""Bob"", ""LastName"": ""Miller"" }, ""Anesthetist"": { ""Id"": 110, ""FirstName"": ""Charlie"", ""LastName"": ""Brown"" }, ""Patient"": { ""Id"": 111, ""FirstName"": ""Alice"", ""LastName"": ""Wonderland"", ""DateOfBirth"": ""1985-05-15T00:00:00Z"" }, ""ProtocolNo"": 456, ""Duration"": 90, ""Priority"": 2, ""AnesthesiaTime"": 10, ""CleaningTime"": 15, ""MedEquipSterilizationTime"": 7 }, ""StartTime"": 10.0, ""EndTime"": 11.5, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 1, ""AssignedOR"": { ""Id"": 112, ""OperationRoomStatus"": 1 } }, { ""Id"": 113, ""Surgery"": { ""Id"": 114, ""Surgeon"": { ""Id"": 115, ""FirstName"": ""David"", ""LastName"": ""Clark"" }, ""Anesthetist"": { ""Id"": 116, ""FirstName"": ""Edward"", ""LastName"": ""Jones"" }, ""Patient"": { ""Id"": 117, ""FirstName"": ""Eve"", ""LastName"": ""Adams"", ""DateOfBirth"": ""1992-08-20T00:00:00Z"" }, ""ProtocolNo"": 789, ""Duration"": 60, ""Priority"": 3, ""AnesthesiaTime"": 12, ""CleaningTime"": 8, ""MedEquipSterilizationTime"": 6 }, ""StartTime"": 12.0, ""EndTime"": 13.0, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 0, ""AssignedOR"": { ""Id"": 118, ""OperationRoomStatus"": 3 } }, { ""Id"": 119, ""Surgery"": { ""Id"": 120, ""Surgeon"": { ""Id"": 121, ""FirstName"": ""Frank"", ""LastName"": ""Wright"" }, ""Anesthetist"": { ""Id"": 122, ""FirstName"": ""George"", ""LastName"": ""Harris"" }, ""Patient"": { ""Id"": 123, ""FirstName"": ""Grace"", ""LastName"": ""Kelly"", ""DateOfBirth"": ""1980-12-01T00:00:00Z"" }, ""ProtocolNo"": 101, ""Duration"": 45, ""Priority"": 1, ""AnesthesiaTime"": 10, ""CleaningTime"": 5, ""MedEquipSterilizationTime"": 3 }, ""StartTime"": 14.0, ""EndTime"": 14.75, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 2, ""AssignedOR"": { ""Id"": 124, ""OperationRoomStatus"": 2 } }, { ""Id"": 125, ""Surgery"": { ""Id"": 126, ""Surgeon"": { ""Id"": 127, ""FirstName"": ""Helen"", ""LastName"": ""Smith"" }, ""Anesthetist"": { ""Id"": 128, ""FirstName"": ""Ian"", ""LastName"": ""Taylor"" }, ""Patient"": { ""Id"": 129, ""FirstName"": ""Jack"", ""LastName"": ""White"", ""DateOfBirth"": ""1975-11-11T00:00:00Z"" }, ""ProtocolNo"": 202, ""Duration"": 30, ""Priority"": 2, ""AnesthesiaTime"": 8, ""CleaningTime"": 4, ""MedEquipSterilizationTime"": 2 }, ""StartTime"": 15.0, ""EndTime"": 15.5, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 1, ""AssignedOR"": { ""Id"": 130, ""OperationRoomStatus"": 1 } }, { ""Id"": 131, ""Surgery"": { ""Id"": 132, ""Surgeon"": { ""Id"": 133, ""FirstName"": ""Kate"", ""LastName"": ""Brown"" }, ""Anesthetist"": { ""Id"": 134, ""FirstName"": ""Larry"", ""LastName"": ""Green"" }, ""Patient"": { ""Id"": 135, ""FirstName"": ""Lucy"", ""LastName"": ""Gray"", ""DateOfBirth"": ""1995-06-06T00:00:00Z"" }, ""ProtocolNo"": 303, ""Duration"": 60, ""Priority"": 3, ""AnesthesiaTime"": 10, ""CleaningTime"": 5, ""MedEquipSterilizationTime"": 4 }, ""StartTime"": 16.0, ""EndTime"": 17.0, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 0, ""AssignedOR"": { ""Id"": 136, ""OperationRoomStatus"": 3 } }, { ""Id"": 137, ""Surgery"": { ""Id"": 138, ""Surgeon"": { ""Id"": 139, ""FirstName"": ""Michael"", ""LastName"": ""Scott"" }, ""Anesthetist"": { ""Id"": 140, ""FirstName"": ""Nancy"", ""LastName"": ""Drew"" }, ""Patient"": { ""Id"": 141, ""FirstName"": ""Oliver"", ""LastName"": ""Twist"", ""DateOfBirth"": ""1988-04-04T00:00:00Z"" }, ""ProtocolNo"": 404, ""Duration"": 90, ""Priority"": 1, ""AnesthesiaTime"": 15, ""CleaningTime"": 10, ""MedEquipSterilizationTime"": 5 }, ""StartTime"": 17.0, ""EndTime"": 18.5, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 2, ""AssignedOR"": { ""Id"": 142, ""OperationRoomStatus"": 2 } }, { ""Id"": 143, ""Surgery"": { ""Id"": 144, ""Surgeon"": { ""Id"": 145, ""FirstName"": ""Pam"", ""LastName"": ""Beesly"" }, ""Anesthetist"": { ""Id"": 146, ""FirstName"": ""Quincy"", ""LastName"": ""Jones"" }, ""Patient"": { ""Id"": 147, ""FirstName"": ""Rachel"", ""LastName"": ""Green"", ""DateOfBirth"": ""1983-02-02T00:00:00Z"" }, ""ProtocolNo"": 505, ""Duration"": 120, ""Priority"": 2, ""AnesthesiaTime"": 20, ""CleaningTime"": 15, ""MedEquipSterilizationTime"": 10 }, ""StartTime"": 19.0, ""EndTime"": 21.0, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 1, ""AssignedOR"": { ""Id"": 148, ""OperationRoomStatus"": 1 } }, { ""Id"": 149, ""Surgery"": { ""Id"": 150, ""Surgeon"": { ""Id"": 151, ""FirstName"": ""Ross"", ""LastName"": ""Geller"" }, ""Anesthetist"": { ""Id"": 152, ""FirstName"": ""Susan"", ""LastName"": ""Baker"" }, ""Patient"": { ""Id"": 153, ""FirstName"": ""Sam"", ""LastName"": ""Smith"", ""DateOfBirth"": ""1997-03-03T00:00:00Z"" }, ""ProtocolNo"": 606, ""Duration"": 60, ""Priority"": 3, ""AnesthesiaTime"": 12, ""CleaningTime"": 8, ""MedEquipSterilizationTime"": 6 }, ""StartTime"": 21.0, ""EndTime"": 22.0, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 0, ""AssignedOR"": { ""Id"": 154, ""OperationRoomStatus"": 3 } }, { ""Id"": 155, ""Surgery"": { ""Id"": 156, ""Surgeon"": { ""Id"": 157, ""FirstName"": ""Tom"", ""LastName"": ""Riddle"" }, ""Anesthetist"": { ""Id"": 158, ""FirstName"": ""Ursula"", ""LastName"": ""Stanley"" }, ""Patient"": { ""Id"": 159, ""FirstName"": ""Violet"", ""LastName"": ""Parr"", ""DateOfBirth"": ""1987-07-07T00:00:00Z"" }, ""ProtocolNo"": 707, ""Duration"": 90, ""Priority"": 2, ""AnesthesiaTime"": 15, ""CleaningTime"": 10, ""MedEquipSterilizationTime"": 5 }, ""StartTime"": 22.0, ""EndTime"": 23.5, ""Date"": ""2024-07-24T00:00:00Z"", ""Status"": 1, ""AssignedOR"": { ""Id"": 160, ""OperationRoomStatus"": 1 } } ] }"; try { await _jsonToDatabase.AddScheduleFromJsonAsync(scheduleJson); Console.WriteLine("Schedule added successfully!"); } catch (Exception e) { Console.WriteLine(e.Message); } // Sample JSON data for Initial Input string initialInputJson = @" { ""Surgeries"": [ { ""SurgeryID"": 0, ""ProtocolNo"": ""12201133-1"", ""SurgeryName"": ""Lotus Locumus"", ""PatientName"": ""Ayla Çekiç"", ""SurgeryDuration"": 40, ""SurgeonName"": ""Mehmet Atay"", ""AnesthetistName"": ""Refika Kılıçkaya"", ""Priority"": 1, ""AnesthesiaTime"": 15, ""CleaningTime"": 15, ""MedEquipSterilizationTime"": 15 }, { ""SurgeryID"": 1, ""ProtocolNo"": ""12200283-1"", ""SurgeryName"": ""Pilonidal Kist"", ""PatientName"": ""Abdulbasit Bilgiç"", ""SurgeryDuration"": 30, ""SurgeonName"": ""Serkan Baydar"", ""AnesthetistName"": ""Ahmet Kınsız"", ""Priority"": 9, ""AnesthesiaTime"": 15, ""CleaningTime"": 15, ""MedEquipSterilizationTime"": 15 }, { ""SurgeryID"": 2, ""ProtocolNo"": ""12201389-1"", ""SurgeryName"": ""Servikal Disk Bozuklukları, Radikülopati İle"", ""PatientName"": ""Yasin Elçi"", ""SurgeryDuration"": 90, ""SurgeonName"": ""Sarper Aktaş"", ""AnesthetistName"": ""Yücel Özgür"", ""Priority"": 8, ""AnesthesiaTime"": 15, ""CleaningTime"": 15, ""MedEquipSterilizationTime"": 15 }, { ""SurgeryID"": 3, ""ProtocolNo"": ""12201500-1"", ""SurgeryName"": ""Additional Surgery"", ""PatientName"": ""Another Patient"", ""SurgeryDuration"": 100, ""SurgeonName"": ""Sabri Kerem Diril"", ""AnesthetistName"": ""Yücel Özgür"", ""Priority"": 7, ""AnesthesiaTime"": 15, ""CleaningTime"": 15, ""MedEquipSterilizationTime"": 15 } ], ""Surgeons"": [ { ""SurgeonName"": ""Mehmet Atay"", ""SurgeonID"": 221 }, { ""SurgeonName"": ""Serkan Baydar"", ""SurgeonID"": 115 }, { ""SurgeonName"": ""Sarper Aktaş"", ""SurgeonID"": 153 }, { ""SurgeonName"": ""Yeliz Palancıoğlu"", ""SurgeonID"": 105 }, { ""SurgeonName"": ""Mehmet Fatih Yıldız"", ""SurgeonID"": 169 }, { ""SurgeonName"": ""Sabri Kerem Diril"", ""SurgeonID"": 110 } ], ""Anesthetists"": [ { ""AnesthetistName"": ""Refika Kılıçkaya"", ""AnesthetistID"": 3 }, { ""AnesthetistName"": ""Ahmet Kınsız"", ""AnesthetistID"": 1 }, { ""AnesthetistName"": ""Yücel Özgür"", ""AnesthetistID"": 2 } ], ""OperatingRooms"": [ { ""OperatingRoomID"": 1180 }, { ""OperatingRoomID"": 1175 }, { ""OperatingRoomID"": 1174 } ], ""ScheduleInfo"": { ""ORStart"": 0, ""OREnd"": 180.0, ""PlannedHorizon"": 3 } }"; await _jsonToDatabase.AddDataFromInitialJsonAsync(initialInputJson); } } }
Editor is loading...
Leave a Comment