private TimeInterval GetDoctorShift(Doctor doctor, DateTime date)
        {
            WorkingDaysEnum day   = GetDayOfWeek(date.DayOfWeek);
            TimeInterval    shift = null;

            doctor.TimeTable.getWorkingHours().TryGetValue(day, out shift);

            return(shift == null ? null : GetRealShift(date, shift));
        }
        private TimeInterval GetDoctorShift(Doctor doctor, DateTime date)
        {
            WorkingDaysEnum day   = GetDayOfWeek(date.DayOfWeek);
            TimeInterval    shift = null;

            shift = doctor.TimeTable.getWorkingHours().Find(dwh => dwh.Day == day).TimeInterval;

            return(shift == null ? null : GetRealShift(date, shift));
        }
示例#3
0
        private IEnumerable <Doctor> GetWorkingDoctors(IEnumerable <Doctor> doctors, TimeInterval time)
        {
            List <Doctor> workingDoctors = new List <Doctor>();

            WorkingDaysEnum dayOfWeek = GetDayOfWeek(time.StartTime.DayOfWeek);

            foreach (Doctor d in doctors)
            {
                if (d.TimeTable.WorkingHours.ContainsKey(dayOfWeek))
                {
                    if (d.TimeTable.WorkingHours[dayOfWeek].IsTimeBetween(time))
                    {
                        workingDoctors.Add(d);
                    }
                }
            }

            return(workingDoctors);
        }
示例#4
0
        private IEnumerable <Doctor> GetWorkingDoctors(IEnumerable <Doctor> doctors, TimeInterval time)
        {
            List <Doctor> workingDoctors = new List <Doctor>();

            WorkingDaysEnum dayOfWeek = GetDayOfWeek(time.StartTime.DayOfWeek);

            foreach (Doctor d in doctors)
            {
                if (d.TimeTable.WorkingHours.Find(dwh => dwh.Day == dayOfWeek) != null)
                {
                    if (d.TimeTable.WorkingHours.Find(dwh => dwh.Day == dayOfWeek).TimeInterval.IsTimeBetween(time))
                    {
                        workingDoctors.Add(d);
                    }
                }
            }

            return(workingDoctors);
        }
示例#5
0
        private Dictionary <WorkingDaysEnum, TimeInterval> GetWorkTime(string workTimeCSV)
        {
            Dictionary <WorkingDaysEnum, TimeInterval> retVal = new Dictionary <WorkingDaysEnum, TimeInterval>();

            string[] perDayString = SplitStringByDelimiter(workTimeCSV, _listDelimiter);


            foreach (string dayLine in perDayString)
            {
                if (string.IsNullOrEmpty(dayLine))
                {
                    continue;                                //It will skip invalid line. Known situation : entity was written to the file with an empty dict.
                }
                string[]        dayInfo      = SplitStringByDelimiter(dayLine, _secondListDelimiter);
                WorkingDaysEnum day          = (WorkingDaysEnum)Enum.Parse(typeof(WorkingDaysEnum), dayInfo[0]); //Casting
                TimeInterval    timeInterval = GetTimeInterval(dayInfo[1], dayInfo[2]);
                retVal.Add(day, timeInterval);
            }

            return(retVal);
        }