public IEnumerable <Schedule> GetByCriteria(ScheduleSearchRequest request) { var schedules = _repository.GetAll(); if (!string.IsNullOrWhiteSpace(request.FieldWorkerLastName)) { schedules = schedules.Where(x => x.FieldWorker.Name.ToLower().Contains(request.FieldWorkerLastName.ToLower())); } if (!string.IsNullOrWhiteSpace(request.FieldWorkerName)) { schedules = schedules.Where(x => x.FieldWorker.LastName.ToLower().Contains(request.FieldWorkerName.ToLower())); } if (request.Day.HasValue) { schedules = schedules.Where(x => x.Day == request.Day); } if (request.FieldWorkerId.HasValue) { schedules = schedules.Where(x => x.FieldWorkerId == request.FieldWorkerId); } return(schedules); }
public IActionResult GetByCriteria([FromQuery] ScheduleSearchRequest request) { var schedules = _scheduleService.GetByCriteria(request); return(Ok(schedules)); }