Ejemplo n.º 1
0
        public void ConfigureServices(IServiceCollection services)
        {
            // Examinations
            IExaminationRepository        examinationRepository        = new ExaminationSqlRepository(GetContextFactory());
            IShiftRepository              shiftRepository              = new ShiftSqlRepository(GetContextFactory());
            IExaminationSchedulingService examinationSchedulingService =
                new ExaminationSchedulingService(examinationRepository, shiftRepository);

            DoctorAvailabilityService availabilityService = new DoctorAvailabilityService(shiftRepository, examinationRepository);
            ExaminationService        examinationService  = new ExaminationService(examinationRepository, shiftRepository);

            IConnection             patientConnection       = CreateConnection(UserUrl, "user/patient");
            IConnection             doctorConnection        = CreateConnection(UserUrl, "user/doctor");
            IConnection             roomConnection          = CreateConnection(HospitalUrl, "hospital/room");
            ExaminationServiceProxy examinationServiceProxy =
                new ExaminationServiceProxy(
                    examinationService,
                    roomConnection, doctorConnection, patientConnection);

            // Recommendations
            IRecommendationService recommendationService =
                new RecommendationService(examinationRepository, shiftRepository, doctorConnection);

            // Diagnoses
            IDiagnosisRepository diagnosisRepository = new DiagnosisSqlRepository(GetContextFactory());
            IDiagnosisService    diagnosisService    = new DiagnosisService(diagnosisRepository);

            services.Add(new ServiceDescriptor(typeof(IDiagnosisService), diagnosisService));
            services.Add(new ServiceDescriptor(typeof(ExaminationServiceProxy), examinationServiceProxy));
            services.Add(new ServiceDescriptor(typeof(RecommendationService), recommendationService));
            services.Add(new ServiceDescriptor(typeof(DoctorAvailabilityService), availabilityService));
            services.Add(new ServiceDescriptor(typeof(IExaminationSchedulingService), examinationSchedulingService));

            services.AddControllers().AddNewtonsoftJson(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
        }
Ejemplo n.º 2
0
 public AvailabilityController(DoctorAvailabilityService doctorAvailabilityService)
 {
     this.doctorAvailabilityService = doctorAvailabilityService;
 }