Esempio n. 1
0
        public IEnumerable <Engineer> Filter(IEnumerable <Engineer> engineers, LocalDate scheduleDate)
        {
            var previousWorkdayOffset    = scheduleDate.DayOfWeek == IsoDayOfWeek.Monday ? -3 : -1;
            var previousWorkdaysSchedule = _supportScheduleRepository.Get(scheduleDate.PlusDays(previousWorkdayOffset));

            if (previousWorkdaysSchedule != null)
            {
                var excludedEngineers = previousWorkdaysSchedule.Engineers;

                return(engineers.Where(candidate => !excludedEngineers.Contains(candidate)));
            }

            return(engineers);
        }
Esempio n. 2
0
        public IActionResult Get(string date)
        {
            if (string.IsNullOrWhiteSpace(date))
            {
                return(BadRequest());
            }

            var parseResult = LocalDatePattern.Iso.Parse(date);

            if (!parseResult.Success)
            {
                return(BadRequest());
            }

            var dailySchedule = _supportScheduleRepository.Get(parseResult.Value);

            if (dailySchedule == null)
            {
                return(NotFound());
            }

            return(Ok(dailySchedule));
        }