示例#1
0
        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> >()));
        }