public async Task <ActionResult <List <DutyDto> > > AddDuties(List <AddDutyDto> newDuties) { if (newDuties == null) { return(BadRequest(InvalidDutyErrorMessage)); } var locationIds = newDuties.SelectDistinctToList(d => d.LocationId); if (locationIds.Count != 1) { return(BadRequest(CannotUpdateCrossLocationError)); } if (!PermissionDataFiltersExtensions.HasAccessToLocation(User, Db, locationIds.First())) { return(Forbid()); } var duty = await DutyRosterService.AddDuties(newDuties.Adapt <List <Duty> >()); return(Ok(duty.Adapt <List <DutyDto> >())); }