Beispiel #1
0
        public IActionResult CreatePointOfIterest(int cityId, [FromBody] PointOfIterestForCreationDto pointOfInterest)
        {
            if (pointOfInterest == null || (!ModelState.IsValid))
            {
                return(BadRequest(ModelState));
            }

            var city = CitiesDataStore.Current.Cities.FirstOrDefault(c => c.Id == cityId);

            if (city == null)
            {
                _logger.LogError($"The Given cityid #{cityId} was not found");
                return(NotFound());
            }

            var MaxPoi = CitiesDataStore.Current.Cities.SelectMany(c => c.PointOfInterest).Max(p => p.Id);

            var FinalPointOfInterest = new PointOfInterestDto
            {
                Id          = ++MaxPoi,
                Name        = pointOfInterest.Name,
                Description = pointOfInterest.Description
            };


            city.PointOfInterest.Add(FinalPointOfInterest);

            return(CreatedAtRoute("GetPointOfinterest",
                                  new { Cityid = cityId, Id = FinalPointOfInterest.Id }, FinalPointOfInterest));
        }
Beispiel #2
0
        public IActionResult PartiallyUpdatePointOfInterest(int cityId, int id, [FromBody] JsonPatchDocument <PointOfIterestForCreationDto> patchdoc)
        {
            if (patchdoc == null)
            {
                return(BadRequest());
            }

            var city = CitiesDataStore.Current.Cities.FirstOrDefault(c => c.Id == cityId);
            var Poi  = city.PointOfInterest.FirstOrDefault(p => p.Id == id);

            if (city == null || Poi == null)
            {
                return(NotFound());
            }

            var pointOfInterestToPatch = new PointOfIterestForCreationDto()
            {
                Name        = Poi.Name,
                Description = Poi.Description
            };

            patchdoc.ApplyTo(pointOfInterestToPatch, ModelState);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Poi.Name        = pointOfInterestToPatch.Name;
            Poi.Description = pointOfInterestToPatch.Description;

            return(NoContent());
        }
Beispiel #3
0
        public IActionResult UpdatePointOfInterest(int cityId, int poiID, [FromBody] PointOfIterestForCreationDto pointOfInterest)
        {
            if (pointOfInterest == null || (!ModelState.IsValid))
            {
                return(BadRequest(ModelState));
            }

            var city = CitiesDataStore.Current.Cities.FirstOrDefault(c => c.Id == cityId);
            var Poi  = city.PointOfInterest.FirstOrDefault(p => p.Id == poiID);

            if (city == null || Poi == null)
            {
                _logger.LogError($"The Given cityid #{cityId} was not found");
                return(NotFound());
            }

            Poi.Name        = pointOfInterest.Name;
            Poi.Description = pointOfInterest.Description;

            return(NoContent());
        }