public async Task <IActionResult> DepartmentAndOrDivisionId([FromQuery] int?deptId = null, int?divId = null, int pageSize = 20, int pageNum = 0) { if (deptId == null && divId == null) { return(BadRequest("No input given.")); } var services = new List <Service>(); if (deptId == null && divId != null) { services = await _contextManager.GetServicesFromDivisionId(divId, pageSize, pageNum); } else if (deptId != null && divId == null) { services = await _contextManager.GetServicesFromDepartmentId(deptId, pageSize, pageNum); } else if (deptId != null && divId != null) { services = await _contextManager.GetServicesFromDivisionAndDepartmentId(divId, deptId, pageSize, pageNum); } if (services.Count() == 0) { return(NotFound("No services found with valid arguments given.")); } var serviceDTOs = new List <ServiceV1DTO>(); foreach (var service in services) { serviceDTOs.Add(await populateService(service)); } return(Ok(serviceDTOs)); }