public async Task <ActionResult> ExpireDuties(List <int> ids) { if (ids == null) { return(BadRequest(InvalidDutyErrorMessage)); } var locationIds = await DutyRosterService.GetDutiesLocations(ids); if (locationIds.Count != 1) { return(BadRequest(CannotUpdateCrossLocationError)); } if (!PermissionDataFiltersExtensions.HasAccessToLocation(User, Db, locationIds.First())) { return(Forbid()); } await DutyRosterService.ExpireDuties(ids); return(NoContent()); }