public IActionResult BasicSearchExamination(BasicSearchDTO basicSearchDTO) { var available = _availableExaminationService.BasicSearch(basicSearchDTO).Select( e => e.ToUnscheduledExaminationDTO()); return(Ok(available)); }
public IActionResult BasicSearchAppointments(BasicSearchDTO parameters) { var patientJmbg = HttpContext.User.FindFirst("Jmbg").Value; parameters.PatientJmbg = patientJmbg; parameters.EarliestDateTime = InitializeEarliestTime(parameters.EarliestDateTime); parameters.LatestDateTime = InitializeLatestTime(parameters.LatestDateTime); return(RequestAdapter.SendRequestWithBody(_serviceSettings.ScheduleServiceUrl, "/api/examination/search-free/basic", parameters)); }
private IEnumerable <Examination> ApplyStrategy(IAdvancedSearchStrategy strategy) { for (BasicSearchDTO parameters = strategy.GetSearchParameters(); parameters != null; parameters = strategy.GetSearchParameters()) { IEnumerable <Examination> availableExaminations = BasicSearch(parameters); if (availableExaminations.Any()) { return(availableExaminations); } } return(Enumerable.Empty <Examination>()); }
private ExaminationGeneratorDTO GetExaminationGeneratorDTO(BasicSearchDTO basicSearchDTO) { Patient patient = _patientRepository.Get(basicSearchDTO.PatientJmbg, basicSearchDTO.EarliestDateTime, basicSearchDTO.LatestDateTime); Doctor doctor = _doctorRepository.Get(basicSearchDTO.DoctorJmbg, basicSearchDTO.EarliestDateTime, basicSearchDTO.LatestDateTime); IEnumerable <Room> rooms = _roomRepository.GetByEquipmentTypes(RoomType.Examination, basicSearchDTO.RequiredEquipmentTypes, basicSearchDTO.EarliestDateTime, basicSearchDTO.LatestDateTime); ExaminationGeneratorDTO examinationGeneratorDTO = new ExaminationGeneratorDTO( patient, doctor, rooms, FixTime(basicSearchDTO.EarliestDateTime), FixTime(basicSearchDTO.LatestDateTime)); return(examinationGeneratorDTO); }
public IEnumerable <Examination> BasicSearch(BasicSearchDTO basicSearchDTO) { return(_availableExaminationGenerator.Generate(GetExaminationGeneratorDTO(basicSearchDTO))); }
public TimeHasPriorityStrategy(BasicSearchDTO searchDTO, ICollection <string> potentiallyAvailableDoctors) { SearchDTO = searchDTO; PotentiallyAvailableDoctors = potentiallyAvailableDoctors; }
public DoctorHasPriorityStrategy(BasicSearchDTO searchDTO, int dateInterval) { SearchDTO = searchDTO; _dateInterval = dateInterval; }