Esempio n. 1
0
        protected override Room DoPostPutDto(Client currentClient, RoomDTO dto, Room entity, string path, object param)
        {
            if (entity == null)
            {
                entity = new Room();
            }
            else
            {
                if (dto.RefHide == null)
                {
                    dto.RefHide = entity.RefHide;
                }
                if (dto.Color == null)
                {
                    dto.Color = entity.Color;
                }
            }
            GetMapper.Map <RoomDTO, Room>(dto, entity);
            if (dto.BillItemCategory != null)
            {
                entity.BillItemCategory = BillItemCategoryService.PreProcessDTOPostPut(validationDictionnary, dto.HomeId, dto.BillItemCategory, currentClient, path);
            }
            if (dto.RoomCategory != null)
            {
                entity.RoomCategory = RoomCategoryService.PreProcessDTOPostPut(validationDictionnary, dto.HomeId, dto.RoomCategory, currentClient, path);
            }
            if (dto.Beds != null)
            {
                BedRepository.DeleteRange(entity.Beds.Where(d => !dto.Beds.Any(x => x.Id == d.Id)));
                dto.Beds.ForEach(bed =>
                {
                    if (entity.Beds.Count != 0 && bed.Id != 0 &&
                        entity.Beds.Find(p => p.Id == bed.Id) != null)
                    {
                        return;
                    }
                    Bed toAdd = BedService.PreProcessDTOPostPut(validationDictionnary, dto.HomeId, bed, currentClient, path);

                    if (toAdd != null)
                    {
                        entity.Beds.Add(toAdd);
                    }
                });
            }
            if (dto.Documents != null)
            {
                DocumentRepository.DeleteRange(entity.Documents.Where(d => !dto.Documents.Any(x => x.Id == d.Id)));
                dto.Documents.ForEach(document =>
                {
                    Document toAdd = DocumentService.PreProcessDTOPostPut(validationDictionnary, dto.HomeId, document, currentClient, path);

                    if (toAdd != null)
                    {
                        entity.Documents.Add(toAdd);
                    }
                });
            }
            return(entity);
        }
 public UnitOfWork(HospitalDbContext context)
 {
     _context  = context;
     Beds      = new BedRepository(_context);
     Cities    = new CityRepository(_context);
     Hospitals = new HospitalRepository(_context);
     Doctors   = new DoctorRepository(_context);
     Patients  = new PatientRepository(_context);
     Wards     = new WardRepository(_context);
 }
Esempio n. 3
0
 public UnitOfWork(EasyHotelDbContext context)
 {
     this.context = context;
     Beds         = new BedRepository(context);
     Rooms        = new RoomRepository(context);
     RoomStates   = new RoomStateRepository(context);
     RoomTypes    = new RoomTypeRepository(context);
     Guests       = new GuestRepository(context);
     Books        = new BookRepository(context);
 }
Esempio n. 4
0
 public void Init()
 {
     ctx = EFContext.CreateContext();
     repo = new BedRepository(ctx);
     entity = new Bed()
     {
         HomeId = ctx.HomeSet.FirstOrDefault(p => p.Title == "LaCorderie").Id,
         NumberPeople = 2,
         // TODO
         //RoomId = ctx.RoomSet.FirstOrDefault(p => p.Title == "Melanie").Id
     };
 }
Esempio n. 5
0
 public void Init()
 {
     ctx    = EFContext.CreateContext();
     repo   = new BedRepository(ctx);
     entity = new Bed()
     {
         HomeId       = ctx.HomeSet.FirstOrDefault(p => p.Title == "LaCorderie").Id,
         NumberPeople = 2,
         // TODO
         //RoomId = ctx.RoomSet.FirstOrDefault(p => p.Title == "Melanie").Id
     };
 }
        public App()
        {
            var medicationRepository           = new MedicationRepository(new Stream <Medication>(MEDICATION_FILE));
            var diagnosisRepository            = new DiagnosisRepository(new Stream <Diagnosis>(DIAGNOSIS_FILE));
            var allergenRepository             = new AllergensRepository(new Stream <Allergens>(ALLERGEN_FILE));
            var categoryRepository             = new MedicationCategoryRepository(new Stream <MedicationCategory>(CATEGORY_FILE));
            var symptomsRepository             = new SymptomsRepository(new Stream <Symptoms>(SYMPTOMS_FILE));
            var ingredientsRepository          = new MedicationIngredientRepository(new Stream <MedicationIngredient>(INGREDIENTS_FILE));
            var specializationRepository       = new SpecializationRepository(new Stream <Specialization>(SPECIALIZATION_FILE));
            var cityRepository                 = new CityRepository(new Stream <City>(CITY_FILE));
            var addressRepository              = new AddressRepository(new Stream <Address>(ADDRESS_FILE), cityRepository);
            var stateRepository                = new StateRepository(new Stream <State>(STATE_FILE));
            var hospitalRepository             = new HospitalRepository(new Stream <Hospital>(HOSPITAL_FILE));
            var departmentRepository           = new DepartmentRepository(hospitalRepository, new Stream <Department>(DEPARTMENT_FILE));
            var roomRepository                 = new RoomRepository(departmentRepository, new Stream <Room>(ROOM_FILE));
            var userRepository                 = new UserRepository(new Stream <RegisteredUser>(USER_FILE), cityRepository, addressRepository, departmentRepository, roomRepository);
            var renovationRepository           = new RenovationRepository(roomRepository, new Stream <Renovation>(RENOVATION_FILE));
            var medicalRecordRepository        = new MedicalRecordRepository(new Stream <MedicalRecord>(RECORD_FILE), diagnosisRepository, medicationRepository, userRepository);
            var bedRepository                  = new BedRepository(roomRepository, medicalRecordRepository, new Stream <Bed>(BED_FILE));
            var equipmentTypeRepository        = new EquipmentTypeRepository(new Stream <EquipmentType>(EQUIPMENT_TYPE_FILE));
            var equipmentRepository            = new HospitalEquipmentRepository(new Stream <HospitalEquipment>(EQUIPMENT_FILE));
            var treatmentsRepository           = new TreatmentRepository(medicationRepository, departmentRepository, new Stream <Treatment>(TREATMENTS_FILE));
            var examinationSurgeryRepository   = new ExaminationSurgeryRepository(treatmentsRepository, medicalRecordRepository, userRepository, new Stream <ExaminationSurgery>(EXAMINATION_SURGERY_FILE));
            var emergencyRequestRepository     = new EmergencyRequestRepository(medicalRecordRepository, new Stream <EmergencyRequest>(EMERGENCY_REQUEST_FILE));
            var vaccinesRepository             = new VaccinesRepository(new Stream <Vaccines>(VACCINES_FILE));
            var notificationRepository         = new NotificationRepository(userRepository, new Stream <Notification>(NOTIFICATION_FILE));
            var articleRepository              = new ArticleRepository(userRepository, new Stream <Article>(ARTICLE_FILE));
            var questionRepository             = new QuestionRepository(userRepository, new Stream <Question>(QUESTIONS_FILE));
            var doctorReviewsRepository        = new DoctorReviewRepository(userRepository, new Stream <DoctorReview>(DOCTOR_REVIEWS_FILE));
            var feedbackRepository             = new FeedbackRepository(userRepository, new Stream <Feedback>(FEEDBACK_FILE));
            var surveyRepository               = new SurveyRepository(userRepository, new Stream <Survey>(SURVEY_FILE));
            var appointmentsRepository         = new AppointmentRepository(userRepository, medicalRecordRepository, roomRepository, new Stream <Appointment>(APPOINTMENTS_FILE));
            var workDayRepository              = new WorkDayRepository(userRepository, new Stream <WorkDay>(WORK_DAY_FILE));
            var vacationRequestRepository      = new VacationRequestRepository(userRepository, new Stream <VacationRequest>(VACATION_REQUEST_FILE));
            var reportsRepository              = new ReportRepository(new Stream <Report>(REPORTS_FILE));
            var labTestTypeRepository          = new LabTestTypeRepository(new Stream <LabTestType>(LAB_TEST_TYPE_FILE));
            var validationMedicationRepository = new ValidationMedicationRepository(new Stream <ValidationMed>(VALIDATION_FILE), userRepository, medicationRepository);

            var equipmentTypeService        = new EquipmentTypeService(equipmentTypeRepository);
            var medicationService           = new MedicationService(medicationRepository, validationMedicationRepository);
            var diagnosisService            = new DiagnosisService(diagnosisRepository);
            var allergenService             = new AllergensService(allergenRepository);
            var categoryService             = new MedicationCategoryService(categoryRepository);
            var symptomsService             = new SymptomsService(symptomsRepository);
            var ingredientsService          = new MedicationIngredientService(ingredientsRepository);
            var specializationService       = new SpecializationService(specializationRepository);
            var cityService                 = new CityService(cityRepository);
            var stateService                = new StateService(stateRepository);
            var addressService              = new AddressService(addressRepository);
            var notificationService         = new NotificationService(notificationRepository, userRepository, medicalRecordRepository);
            var validationMedicationService = new ValidationMedicationService(validationMedicationRepository, notificationService);
            var hospitalService             = new HospitalService(hospitalRepository);
            var departmentService           = new DepartmentService(departmentRepository);
            var bedService                = new BedService(bedRepository);
            var medicalRecordService      = new MedicalRecordService(medicalRecordRepository);
            var treatmentService          = new TreatmentService(treatmentsRepository, notificationService);
            var examiantionSurgeryService = new ExaminationSurgeryService(examinationSurgeryRepository);
            var emergencyRequestService   = new EmergencyRequestService(emergencyRequestRepository, notificationService);
            var vaccinesService           = new VaccinesService(vaccinesRepository);
            var articleService            = new ArticleService(articleRepository);
            var questionService           = new QuestionService(questionRepository, notificationService);
            var doctorsReviewService      = new DoctorReviewService(doctorReviewsRepository);
            var feedbackService           = new FeedbackService(feedbackRepository);
            var surveyService             = new SurveyService(surveyRepository);
            var userService               = new UserService(userRepository, medicalRecordService);
            var workDayService            = new WorkDayService(workDayRepository, MAX_HOURS_PER_WEEK);
            var appointmentService        = new AppointmentService(appointmentsRepository, workDayService, notificationService, VALID_HOURS_FOR_SCHEDULING, APPOINTMENT_LENGTH_IN_MINUTES,
                                                                   SURGERY_LENGTH_IN_MINUTES, START_WORKING_HOURS, END_WORKING_HOURS);
            var vacationRequestService      = new VacationRequestService(vacationRequestRepository, notificationService, NUMBER_OF_ALLOWED_VACAY_REQUESTS);
            var reportsService              = new ReportService(reportsRepository, treatmentsRepository, medicationRepository, examinationSurgeryRepository, roomRepository);
            var labTestTypeService          = new LabTestTypeService(labTestTypeRepository);
            var roomService                 = new RoomService(roomRepository, appointmentsRepository);
            var hospitalEquipmentService    = new HospitalEquipmentService(equipmentRepository);
            var renovationService           = new RenovationService(renovationRepository, roomService, appointmentsRepository, hospitalEquipmentService, notificationService, RENOVATION_DAYS_RESTRICTION, RENOVATION_DAYS_RESTRICTION);
            var availableAppointmentService = new AvailableAppointmentService(appointmentsRepository, workDayService, VALID_HOURS_FOR_SCHEDULING,
                                                                              APPOINTMENT_LENGTH_IN_MINUTES, SURGERY_LENGTH_IN_MINUTES, START_WORKING_HOURS, END_WORKING_HOURS);

            equipmentTypeController        = new EquipmentTypeController(equipmentTypeService);
            medicationController           = new MedicationController(medicationService);
            userController                 = new UserController(userService);
            diagnosisController            = new DiagnosisController(diagnosisService);
            symptomsController             = new SymptomsController(symptomsService);
            categoryController             = new MedicationCategoryController(categoryService);
            allergensController            = new AllergensController(allergenService);
            vaccinesController             = new VaccinesController(vaccinesService);
            labTestTypeController          = new LabTestTypeController(labTestTypeService);
            medicationIngredientController = new MedicationIngredientController(ingredientsService);
            cityController                 = new CityController(cityService);
            specializationController       = new SpecializationController(specializationService);
            addressController              = new AddressController(addressService);
            stateController                = new StateController(stateService);
            departmentController           = new DepartmentController(departmentService);
            hospitalController             = new HospitalController(hospitalService);
            roomController                 = new RoomController(roomService);
            renovationController           = new RenovationController(renovationService);
            hospitalEquipmentController    = new HospitalEquipmentController(hospitalEquipmentService);
            medicalRecordController        = new MedicalRecordController(medicalRecordService);
            treatmentController            = new TreatmentController(treatmentService);
            examinationSurgeryController   = new ExaminationSurgeryController(examiantionSurgeryService);
            articleController              = new ArticleController(articleService);
            questionController             = new QuestionController(questionService);
            doctorReviewController         = new DoctorReviewController(doctorsReviewService);
            surveyController               = new SurveyController(surveyService);
            feedbackController             = new FeedbackController(feedbackService);
            workDayController              = new WorkDayController(workDayService);
            reportController               = new ReportController(reportsService);
            validationMedicationController = new ValidationMedicationController(validationMedicationService);
            vacationRequestController      = new VacationRequestController(vacationRequestService);
            bedController = new BedController(bedService);
            emergencyRequestController     = new EmergencyRequestController(emergencyRequestService);
            appointmentController          = new AppointmentController(appointmentService);
            notificationController         = new NotificationController(notificationService);
            availableAppointmentController = new AvailableAppointmentController(availableAppointmentService);

            validations = new Validations(UNDERAGE_RESTRICTION);
        }
        public TRepository GetRepository <TRepository>(IUnitOfWork unitOfWork)
            where TRepository : class
        {
            if (typeof(TRepository) == typeof(IBedRepository))
            {
                dynamic repo = new BedRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }
            if (typeof(TRepository) == typeof(IRoomRepository))
            {
                dynamic repo = new RoomRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }
            if (typeof(TRepository) == typeof(IOutletRepository))
            {
                dynamic repo = new OutletRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }
            if (typeof(TRepository) == typeof(ICustomerRepository))
            {
                dynamic repo = new CustomerRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }
            if (typeof(TRepository) == typeof(ITherapistRepository))
            {
                dynamic repo = new TherapistRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IServiceRepository))
            {
                dynamic repo = new ServiceRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IService_BedRepository))
            {
                dynamic repo = new Service_BedRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }
            if (typeof(TRepository) == typeof(IAppoitmentDetailRepository))
            {
                dynamic repo = new AppoitmentDetailRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }
            if (typeof(TRepository) == typeof(IReviewOutletRepository))
            {
                dynamic repo = new ReviewOutletRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(ITimeSlotRepository))
            {
                dynamic repo = new TimeSlotRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IReviewOutletRepository))
            {
                dynamic repo = new ReviewOutletRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IBufferTimeRepository))
            {
                dynamic repo = new BufferTimeRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IAppoitmentRepository))
            {
                dynamic repo = new AppoitmentRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IOutlet_StaffRepository))
            {
                dynamic repo = new Outlet_StaffRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IMeasurementRepository))
            {
                dynamic repo = new MeasurementRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IServiceTypeRepository))
            {
                dynamic repo = new ServiceTypeRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            if (typeof(TRepository) == typeof(IReviewServiceRepository))
            {
                dynamic repo = new ReviewServiceRepository();
                repo.UnitOfWork = unitOfWork;
                return((TRepository)repo);
            }

            TRepository repository = null;

            return(repository);
        }