Esempio n. 1
0
        public Boolean isExaminationPossible(Examination examination)
        {
            _searchPeriods = new NoPrioritySearch();
            List <ExaminationDTO> examinations = Search(new BusinessDayDTO(examination.Doctor, examination.Period));

            foreach (ExaminationDTO exam in examinations)
            {
                if (exam.Period.StartDate == examination.Period.StartDate)
                {
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 2
0
        public List <ExaminationDTO> OperationSearch(BusinessDayDTO businessDayDTO, double durationOfOperation)
        {
            List <ExaminationDTO> retVal = new List <ExaminationDTO>();

            _searchPeriods = new NoPrioritySearch();
            List <ExaminationDTO> timeSlots = Search(businessDayDTO);

            if (timeSlots == null)
            {
                return(null);
            }

            double MinutesFree = 0;

            foreach (ExaminationDTO examinationDTO in timeSlots)
            {
                if (retVal.Count == 0)
                {
                    retVal.Add(examinationDTO);
                    MinutesFree = MinutesFree + durationOfExamination;
                }
                else
                {
                    if (retVal.SingleOrDefault(any => any.Period.StartDate.AddMinutes(durationOfExamination) == examinationDTO.Period.StartDate) != null)
                    {
                        retVal.Add(examinationDTO);
                        MinutesFree += durationOfExamination;
                    }
                    else
                    {
                        retVal.Clear();
                        retVal.Add(examinationDTO);
                        MinutesFree = durationOfExamination;
                    }
                }
                if (durationOfOperation == MinutesFree)
                {
                    break;
                }
            }

            return(retVal);
        }