public void Test_Initialize() { MockDateTime(); string[] dateTimeFormats = { "d/M/yyyy", "dd/M/yyyy", "d/MM/yyyy", "dd/MM/yyyy", "d-M-yyyy", "dd-M-yyyy" , "d-MM-yyyy", "dd-MM-yyyy" }; var listMedicine = new List <medicine>() { new medicine { id = 1, medicine_name = "thuoc 1", entry_unit = "Hop", entry_price = 20000, expiry_day = DateTime.ParseExact("20-10-2020", dateTimeFormats, CultureInfo.InvariantCulture, DateTimeStyles.None), quantity_in_entry_unit = 100, unit_exchange_ratio = 100, quantity_in_sale_unit = 100 * 100, entry_day = DateTime.Now, sale_unit = "Vien", sale_price_per_unit = 1000, is_active = true }, new medicine { id = 2, medicine_name = "thuoc 2", entry_unit = "Hop", entry_price = 50000, expiry_day = DateTime.ParseExact("20-10-2020", dateTimeFormats, CultureInfo.InvariantCulture, DateTimeStyles.None), quantity_in_entry_unit = 200, unit_exchange_ratio = 100, quantity_in_sale_unit = 200 * 100, entry_day = DateTime.Now, sale_unit = "Vien", sale_price_per_unit = 500, is_active = true }, new medicine { id = 3, medicine_name = "thuoc 3", entry_unit = "Hop", entry_price = 50000, expiry_day = DateTime.ParseExact("20-11-2021", dateTimeFormats, CultureInfo.InvariantCulture, DateTimeStyles.None), quantity_in_entry_unit = 100, unit_exchange_ratio = 50, quantity_in_sale_unit = 50 * 100, entry_day = DateTime.Now, sale_unit = "Vien", sale_price_per_unit = 500, is_active = true } }; _stubPrescriptionList = new List <prescription>() { new prescription() { bill_id = 1, date_created = _timeMock.Object.UtcNow , description = "ngay 3 lan", medicine = listMedicine[0], medicine_id = 1, quantity_indicated = 10 , staff_id = 1 }, new prescription() { bill_id = 1, date_created = _timeMock.Object.UtcNow , description = "ngay 3 lan", medicine = listMedicine[1], medicine_id = 2, quantity_indicated = 10 , staff_id = 1 } }; _stubDbSet = new Mock <DbSet <prescription> >(); _stubDbSet.As <IQueryable>().Setup(p => p.ElementType).Returns(_stubPrescriptionList.AsQueryable().ElementType); _stubDbSet.As <IQueryable>().Setup(p => p.Expression).Returns(_stubPrescriptionList.AsQueryable().Expression); _stubDbSet.As <IQueryable>().Setup(p => p.Provider).Returns(_stubPrescriptionList.AsQueryable().Provider); _stubDbSet.As <IQueryable>().Setup(p => p.GetEnumerator()).Returns(_stubPrescriptionList.AsQueryable().GetEnumerator()); _stubDbContext = new Mock <clinicEntities>(); _stubDbContext.Setup(c => c.prescriptions).Returns(_stubDbSet.Object); var stubMedicineRepository = new Mock <IMedicineRepository>(); _sut = new PrescriptionRepository(_stubDbContext.Object, stubMedicineRepository.Object); }
public List <Entities.Pharmacy.Prescription> GetAll(Entities.Common.IFilter orderFilters) { PrescriptionRepository repo = new PrescriptionRepository(); if (orderFilters != null) { return(repo.GetAllFilterd(orderFilters)); } else { return(repo.GetAll().ToList <Prescription>()); } }
public UnitOfWork(PatientManagementDbContext context) { _context = context; Accounts = new AccountRepository(_context); Categories = new CategoryRepository(_context); DetailPrescriptions = new DetailPrescriptionRepository(_context); Items = new ItemRepository(_context); DetailRecords = new DetailRecordRepository(_context); Medicines = new MedicineRepository(_context); Patients = new PatientRepository(_context); MedicalSupplies = new MedicalSupplyRepository(_context); Prescriptions = new PrescriptionRepository(_context); Records = new RecordRepository(_context); AttachmentAssigns = new AttachmentAssignRepository(_context); Attachments = new AttachmentRepository(_context); Doctors = new DoctorRepository(_context); Faculties = new FacultyRepository(_context); }
public Examination AppendExamination(Examination examination, MedicalRecord medicalRecord) { foreach (Prescription p in examination.Prescription) { DrugStateChange oldState = p.drug.drugStateChange; DrugStateChange newState = new DrugStateChange(DateTime.Now, oldState.TotalNumber - (int)p.Number, oldState.Threshold, oldState.DrugId); DrugStateChangeRepository.GetInstance().Create(newState); p.drug.drugStateChange = newState; DrugRepository.GetInstance().Update(p.drug); PrescriptionRepository.GetInstance().Create(p); } foreach (Referral r in examination.Referral) { ReferralRepository.GetInstance().Create(r); } examination = ExaminationRepository.GetInstance().Create(examination); medicalRecord.AddExamination(examination); MedicalRecordRepository.GetInstance().Update(medicalRecord); return(examination); }
private void LoadRepositories() { userRepository = new UserRepository(new CSVStream <User>(userFile, new UserConverter()), new ComplexSequencer()); // USER OK roomRepository = new RoomRepository(new CSVStream <Room>(roomFile, new RoomConverter()), new LongSequencer()); // ROOM OK inventoryItemRepository = new InventoryItemRepository(new CSVStream <InventoryItem>(inventoryItemFile, new InventoryItemConverter()), new LongSequencer(), roomRepository); timeTableRepository = new TimeTableRepository(new CSVStream <TimeTable>(timeTableFile, new TimeTableConverter()), new LongSequencer()); // TIMETABLE OK hospitalRepository = new HospitalRepository(new CSVStream <Hospital>(hospitalFile, new HospitalConverter()), new LongSequencer(), roomRepository); // HOSPITAL OK secretaryRepository = new SecretaryRepository(new CSVStream <Secretary>(secretaryFile, new SecretaryConverter()), new ComplexSequencer(), timeTableRepository, hospitalRepository, userRepository); // SECRETARY OK managerRepository = new ManagerRepository(new CSVStream <Manager>(managerFile, new ManagerConverter()), new ComplexSequencer(), timeTableRepository, hospitalRepository, userRepository); // MANAGER OK doctorRepository = new DoctorRepository(new CSVStream <Doctor>(doctorFile, new DoctorConverter()), new ComplexSequencer(), timeTableRepository, hospitalRepository, roomRepository, userRepository); // DOCTOR OK patientRepository = new PatientRepository(new CSVStream <Patient>(patientFile, new PatientConverter()), new ComplexSequencer(), doctorRepository, userRepository); // PATIENT OK hospitalRepository.DoctorRepository = doctorRepository; hospitalRepository.ManagerRepository = managerRepository; hospitalRepository.SecretaryRepository = secretaryRepository; //Misc repositories locationRepository = new LocationRepository(new CSVStream <Location>(locationFile, new LocationConverter()), new LongSequencer()); // LOCATION OK notificationRepository = new NotificationRepository(new CSVStream <Notification>(notificationFile, new NotificationConverter()), new LongSequencer(), patientRepository, doctorRepository, managerRepository, secretaryRepository); // NOTIFICATION OK messageRepository = new MessageRepository(new CSVStream <Message>(messageFile, new MessageConverter()), new LongSequencer(), patientRepository, doctorRepository, managerRepository, secretaryRepository); // MESSAGE OK articleRepository = new ArticleRepository(new CSVStream <Article>(articleFile, new ArticleConverter()), new LongSequencer(), doctorRepository, managerRepository, secretaryRepository); //ARTICLE OK questionRepository = new QuestionRepository(new CSVStream <Question>(questionFile, new QuestionConverter()), new LongSequencer()); // QUESTION OK doctorQuestionRepository = new QuestionRepository(new CSVStream <Question>(doctorQuestionFile, new QuestionConverter()), new LongSequencer()); //DOCTOR QUESTION OK feedbackRepository = new FeedbackRepository(new CSVStream <Feedback>(feedbackFile, new FeedbackConverter()), new LongSequencer(), questionRepository, patientRepository, doctorRepository, managerRepository, secretaryRepository); doctorFeedbackRepository = new DoctorFeedbackRepository(new CSVStream <DoctorFeedback>(doctorFeedbackFile, new DoctorFeedbackConverter()), new LongSequencer(), doctorQuestionRepository, patientRepository, doctorRepository); //Hospital management repositories symptomRepository = new SymptomRepository(new CSVStream <Symptom>(symptomsFile, new SymptomConverter()), new LongSequencer()); //SYMPTOM REPO OK diseaseRepository = new DiseaseRepository(new CSVStream <Disease>(diseaseFile, new DiseaseConverter()), new LongSequencer(), medicineRepository, symptomRepository); //DISEASE REPO OK ingredientRepository = new IngredientRepository(new CSVStream <Ingredient>(ingredientFile, new IngredientConverter()), new LongSequencer()); //INGREDIENT REPO OK medicineRepository = new MedicineRepository(new CSVStream <Medicine>(medicineFile, new MedicineConverter()), new LongSequencer(), ingredientRepository, diseaseRepository); //MEDICINE REPO OK prescriptionRepository = new PrescriptionRepository(new CSVStream <Prescription>(prescriptionFile, new PrescriptionConverter()), new LongSequencer(), doctorRepository, medicineRepository); //PRESCRIPTION REPO OK //Medical repositories allergyRepository = new AllergyRepository(new CSVStream <Allergy>(allergyFile, new AllergyConverter()), new LongSequencer(), ingredientRepository, symptomRepository); //ALLERGY REPO OK appointmentRepository = new AppointmentRepository(new CSVStream <Appointment>(appointmentsFile, new AppointmentConverter()), new LongSequencer(), patientRepository, doctorRepository, roomRepository); //GERGO REPO OK? therapyRepository = new TherapyRepository(new CSVStream <Therapy>(therapyFile, new TherapyConverter()), new LongSequencer(), medicalRecordRepository, medicalRecordRepository, prescriptionRepository, diagnosisRepository); //med record medicalRecordRepository = new MedicalRecordRepository(new CSVStream <MedicalRecord>(medicalRecordFile, new MedicalRecordConverter()), new LongSequencer(), patientRepository, diagnosisRepository, allergyRepository); //u medical record moras da set diagnosis repo diagnosisRepository = new DiagnosisRepository(new CSVStream <Diagnosis>(diagnosisFile, new DiagnosisConverter()), new LongSequencer(), therapyRepository, diseaseRepository, medicalRecordRepository); //therapy // therapyRepository = new TherapyRepository(new CSVStream<Therapy>(therapyFile,new TherapyConverter()),new LongSequencer(),medicalRecordRepository, ) diseaseRepository.MedicineEagerCSVRepository = medicineRepository; medicineRepository.DiseaseRepository = diseaseRepository; medicalRecordRepository.DiagnosisRepository = diagnosisRepository; diagnosisRepository.MedicalRecordRepository = medicalRecordRepository; diagnosisRepository.TherapyEagerCSVRepository = therapyRepository; therapyRepository.DiagnosisCSVRepository = diagnosisRepository; therapyRepository.MedicalRecordRepository = medicalRecordRepository; therapyRepository.MedicalRecordEagerCSVRepository = medicalRecordRepository; //ODAVDDE RADITI OSTALE doctorStatisticRepository = new DoctorStatisticRepository(new CSVStream <StatsDoctor>(doctorStatisticsFile, new DoctorStatisticsConverter(",")), new LongSequencer(), doctorRepository); // Doc Stats OK inventoryStatisticRepository = new InventoryStatisticsRepository(new CSVStream <StatsInventory>(inventoryStatisticsFile, new InventoryStatisticsConverter(",")), new LongSequencer(), medicineRepository, inventoryItemRepository); // InventoryStats OK roomStatisticRepository = new RoomStatisticsRepository(new CSVStream <StatsRoom>(roomStatisticsFile, new RoomStatisticsConverter(",")), new LongSequencer(), roomRepository); // RoomStats OK inventoryRepository = new InventoryRepository(new CSVStream <Inventory>(inventoryFile, new InventoryConverter(",", ";")), new LongSequencer(), inventoryItemRepository, medicineRepository); }
// public PatientDTO a; // public DoctorDTO b; // public SecretaryDTO c; public App() { // HCI medicalRoles = new List <string> { "Svi", "Opšte Prakse", "Hirurg", "Dermatolog", "Očni lekar", "Stomatolog" }; roomTypes = new List <string> { "Bolnička Soba", "Operaciona Sala", "Soba za preglede" }; medicalAppointmentTypes = new List <string> { "Pregled", "Operacija", "Ležanje" }; AddressDTO address = new AddressDTO("1", "Bulevar despota Stefan 7A", "Novi Sad", "Srbija", "21000"); director = new DirectorDTO(address, "Dusan", "Urosevic", "1231231231231", "021021", "Male", new DateTime(1990, 5, 5), 123, new TimeInterval(new DateTime(2020, 12, 12), new DateTime(2020, 12, 12)), new TimeInterval(new DateTime(2020, 12, 12), new DateTime(2020, 12, 12)), "[email protected]", "pass", "Klinicki Centar Vojvodina"); SelectedDate = DateTime.Now; // Converters var addressConverter = new AddressConverter(); var patientConverter = new PatientConverter(addressConverter); var medicineConverter = new MedicineConverter(); var questionConverter = new QuestionConverter(patientConverter); var prescriptionConverter = new PrescriptionConverter(patientConverter, medicineConverter); var medicalConsumableConverter = new MedicalConsumableConverter(); var roomConverter = new RoomConverter(); var equipmentConverter = new EquipmentConverter(roomConverter); var guestConverter = new GuestConverter(addressConverter); var hospitalConverter = new HospitalConverter(); var doctorConverter = new DoctorConverter(addressConverter); var medicalAppointmentConverter = new MedicalAppointmentConverter(roomConverter, guestConverter, doctorConverter); var renovationConverter = new RenovationConverter(roomConverter); var feedbackConverter = new FeedbackConverter(); var reviewConverter = new ReviewConverter(doctorConverter); var anamnesisConvertor = new AnamnesisConvertor(); var secretaryConverter = new SecretaryConverter(questionConverter, addressConverter); var inventoryManagementConverter = new InventoryManagementConverter(equipmentConverter, roomConverter); var orderConverter = new OrderConverter(medicalConsumableConverter, medicineConverter, equipmentConverter); var reportConverter = new ReportConverter(); var approvalConverter = new ApprovalConverter(doctorConverter); var propositionConverter = new PropositionConverter(medicineConverter, approvalConverter, doctorConverter); var referralConverter = new ReferralConverter(medicalAppointmentConverter); // Repositories // Many to Many var medicalAppointmentToDoctorRepository = new MedicalAppointmentToDoctorRepository( new CSVStream <MedicalAppointmentToDoctor>( MEDICAL_APPOINTMENT_TO_DOCTOR_FILEPATH, new MedicalAppointmentToDoctorCSVConverter(DELIMITER)), new LongSequencer() ); var inventoryManagementToEquipmentRepository = new InventoryManagementToEquipmentRepository( new CSVStream <InventoryManagementToEquipment>( INVENTORY_EQUIPMENT_FILEPATH, new InventoryManagementToEquipmentCSVConverter(DELIMITER)), new LongSequencer() ); var addressRepository = new AddressRepository(new CSVStream <Address>(ADDRESS_FILEPATH, new AddressCSVConverter(DELIMITER)), new LongSequencer()); var patientRepository = new PatientRepository( new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)), new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)), new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), addressRepository, new LongSequencer()); var doctorRepository = new DoctorRepository( new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)), new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), addressRepository, new LongSequencer()); var secretaryRepository = new SecretaryRepository( new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)), new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)), addressRepository, new LongSequencer()); var inventoryManagementRepository = new InventoryManagementRepository(new CSVStream <InventoryManagement>(INVENTORY_FILEPATH, new InventoryManagementCSVConverter(DELIMITER, DATETIME_FORMAT)), inventoryManagementToEquipmentRepository, new LongSequencer()); var orderDetailsRepository = new OrderDetailsRepository(new CSVStream <OrderDetails>(ORDER_DETAILS_FILEPATH, new OrderDetailsCSVConverter(DELIMITER)), new LongSequencer()); var questionRepository = new QuestionRepository(new CSVStream <Question>(QUESTION_FILEPATH, new QuestionCSVConverter(DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var medicalConsumableRepository = new MedicalConsumableRepository( new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)), new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)), new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)), new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)), new LongSequencer()); var equipmentRepository = new EquipmentRepository( new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)), new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)), new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)), new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)), new LongSequencer()); var medicineRepository = new MedicineRepository( new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)), new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)), new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)), new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)), new LongSequencer()); var prescriptionRepository = new PrescriptionRepository(new CSVStream <Prescription>(PRESCRIPTION_FILEPATH, new PrescriptionCSVConverter(DELIMITER, DATETIME_FORMAT)), medicineRepository, patientRepository, new LongSequencer()); var medicalAppointmentRepository = new MedicalAppointmentRepository( new CSVStream <MedicalAppointment>(MEDICAL_APPOINTMENT_FILEPATH, new MedicalAppointmentCSVConverter(DELIMITER, DATETIME_DETAIL_FORMAT)), medicalAppointmentToDoctorRepository, patientRepository, doctorRepository, new LongSequencer()); var roomRepository = new RoomRepository(new CSVStream <Room>(ROOM_FILEPATH, new RoomCSVConverter(DELIMITER)), new LongSequencer(), equipmentRepository); var orderRepository = new OrderRepository(new CSVStream <Order>(ORDER_FILEPATH, new OrderCSVConverter(DELIMITER, DATETIME_FORMAT)), medicineRepository, equipmentRepository, medicalConsumableRepository, orderDetailsRepository, new LongSequencer()); var renovationRepository = new RenovationRepository(new CSVStream <Renovation>(RENOVATION_FILEPATH, new RenovationCSVConverter(DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var feedbackRepository = new FeedbackRepository(new CSVStream <Feedback>(FEEDBACK_FILEPATH, new FeedbackCSVConverter(DELIMITER)), new LongSequencer()); var reviewRepository = new ReviewRepository(new CSVStream <Review>(REVIEW_FILEPATH, new ReviewCSVConverter(DELIMITER)), new LongSequencer()); var anamnesisRepository = new AnamnesisRepository(new CSVStream <Anamnesis>(ANAMNESIS_FILEPATH, new AnamnesisCSVConverter(DELIMITER)), new LongSequencer()); var propositionRepository = new PropositionRepository(new CSVStream <Proposition>(PROPOSITION_FILEPATH, new PropositionCSVConverter(DELIMITER, DATETIME_FORMAT)), new LongSequencer(), medicineRepository); // Referral var admitionReferralRepository = new AdmitionReferralRepository( new CSVStream <Referral>(ADMITION_REFERRAL_FILEPATH, new ReferralCSVConventer(DELIMITER, DATETIME_FORMAT)), new LongSequencer() ); var operationReferralRepository = new OperationReferralRepository( new CSVStream <Referral>(OPERATION_REFERRAL_FILEPATH, new ReferralCSVConventer(DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var examReferralRepository = new ExamReferralRepository( new CSVStream <Referral>(EXAM_REFERRAL_FILEPATH, new ReferralCSVConventer(DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var approvalRepository = new ApprovalRepository(new CSVStream <Approval>(APPROVAL_FILEPATH, new ApprovalCSVConverter(DELIMITER)), new LongSequencer()); // Services var patientService = new PatientService(patientRepository); var questionService = new QuestionService(questionRepository); var addressService = new AddressService(addressRepository); var medicineService = new MedicineService(medicineRepository); var medicalConsumableService = new MedicalConsumableService(medicalConsumableRepository); var prescriptionService = new PrescriptionService(prescriptionRepository, medicineService, patientService); var reportService = new ReportService(); var guestService = new GuestService(patientRepository); var equipmentService = new EquipmentService(equipmentRepository); var doctorService = new DoctorService(doctorRepository); var medicalAppointmentService = new MedicalAppointmentService(medicalAppointmentRepository, doctorService); var roomService = new RoomService(roomRepository); var renovationService = new RenovationService(renovationRepository, roomRepository); var feedbackService = new FeedbackService(feedbackRepository); var reviewService = new ReviewService(reviewRepository); var employeeService = new EmployeeService(secretaryRepository, doctorRepository); var authenticationService = new AuthenticationService(employeeService, patientService); var secretaryService = new SecretaryService(secretaryRepository); var inventoryManagementService = new InventoryManagementService(inventoryManagementRepository); var orderService = new OrderService(orderRepository); var anamnesisService = new AnamnesisService(anamnesisRepository); var propositionService = new PropositionService(propositionRepository); var approvalService = new ApprovalService(approvalRepository); // Controllers PatientController = new PatientController(patientService, patientConverter, guestConverter); GuestController = new GuestController(guestService, guestConverter); AddressController = new AddressController(addressService, addressConverter); MedicineController = new MedicineController(medicineService, medicineConverter); QuestionController = new QuestionController(questionService, questionConverter, patientConverter); MedicalConsumableController = new MedicalConsumableController(medicalConsumableService, medicalConsumableConverter); AuthenticationController = new AuthenticationController(); ReportController = new ReportController(reportConverter); PrescriptionController = new PrescriptionController(prescriptionService, prescriptionConverter); EquipmentController = new EquipmentController(equipmentService, equipmentConverter); MedicalAppointmentController = new MedicalAppointmentController( medicalAppointmentService, medicalAppointmentConverter, doctorConverter, roomConverter ); RoomController = new RoomController(roomService, roomConverter); RenovationController = new RenovationController(renovationService, renovationConverter); FeedbackController = new FeedbackController(feedbackService, feedbackConverter); ReviewController = new ReviewController(reviewService, reviewConverter); SecretaryController = new SecretaryController(secretaryService, secretaryConverter); InventoryManagementController = new InventoryManagementController(inventoryManagementService, inventoryManagementConverter); OrderController = new OrderController(orderService, orderConverter); DoctorController = new DoctorController(doctorService, doctorConverter); AnamnesisController = new AnamnesisController(anamnesisService, anamnesisConvertor); PropositionController = new PropositionController(propositionService, propositionConverter); // Generators SecretaryAppointmentReportGenerator = new SecretaryAppointmentReportGenerator(REPORT_APPOINTMENT_FILEPATH); PatientAppointmentReportGenerator = new PatientAppointmentReportGenerator(REPORT_APPOINTMENT_FILEPATH); PrescriptionReportGenerator = new PrescriptionReportGenerator(REPORT_PRESCRIPTION_FILEPATH); DoctorsAppointmentReport = new DirectorReportGenerator(REPORT_DOCTOR_APPOINTMENTS_FILEPATH, doctorRepository, medicalAppointmentRepository); MedicineReportGenerator = new MedicineReportGenerator(REPORT_MEDICINE_FILEPATH, medicineRepository); Synchronise(RenovationController); }