Пример #1
0
        public IActionResult AddCity([FromBody] AddCityModel addCityModel)
        {
            if (addCityModel == null)
            {
                return(BadRequest());
            }

            if (_dataStore.Cities.FirstOrDefault(c => c.Name == addCityModel.Name) != null)
            {
                return(Conflict("The city with name specified already exists"));
            }

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

            int newId = _dataStore.GetNewId();
            var city  = new City(newId, addCityModel.Name, addCityModel.Description, addCityModel.NumberOfPoi);

            _dataStore.Cities.Add(city);

            var getCityModel = new GetCityModel(newId, addCityModel.Name, addCityModel.Description, addCityModel.NumberOfPoi);

            return(CreatedAtAction("GetCity", new { id = newId }, getCityModel));
        } //добавить город
Пример #2
0
        public IActionResult AddCity([FromBody] AddCityModel addCityModel)
        {
            if (addCityModel == null)
            {
                return(BadRequest());
            }

            int newId = _dataStore.GetNewId();

            var city = new City(
                newId,
                addCityModel.Name,
                addCityModel.Description,
                addCityModel.NumberOfPoi);

            _dataStore.Cities.Add(city);

            var getCityModel = new GetCityModel(
                newId,
                addCityModel.Name,
                addCityModel.Description,
                addCityModel.NumberOfPoi);

            return(CreatedAtAction(
                       "GetCity",
                       new { id = newId },
                       getCityModel));
        }
Пример #3
0
        public IActionResult GetCity(int id)
        {
            City city = _dataStore.Cities.Where(c => c.Id == id).FirstOrDefault();

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

            var model = new GetCityModel(city.Id, city.Name, city.Description, city.NumberOfPoi);

            return(Ok(model));
        } //получить одно
        public IActionResult GetCity(int id)  //должны совпадать с именем в httpGet
        {
            _logger.LogInformation($"{nameof(id)} called");

            City city = _dataStore
                        .Cities
                        .FirstOrDefault(c => c.Id == id); //лямбда, в которой параметро id сравнивается с id в Cities, и выбирает первый попавшийся

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

            var model = new GetCityModel(
                city.Id,
                city.Name,
                city.Description,
                city.NumberOfPoi);

            return(Ok(model));
        }
        public IActionResult AddCity([FromBody] AddCityModel addCityModel)
        {
            _logger.LogInformation($"{nameof(AddCity)}, {nameof(addCityModel)} called");

            if (addCityModel == null)
            {
                return(BadRequest());
            }

            if (_dataStore.Cities.FirstOrDefault(c => c.Name == addCityModel.Name) != null)
            {
                return(Conflict("The city with name specified already exists"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState)); //передаем в badrequest ошибку
            }

            int newId = _dataStore.GetNewId();

            var city = new City(
                newId,
                addCityModel.Name,
                addCityModel.Description,
                addCityModel.NumberOfPoi);

            _dataStore.Cities.Add(city);

            var getCityModel = new GetCityModel(
                newId,
                addCityModel.Name,
                addCityModel.Description,
                addCityModel.NumberOfPoi);

            return(CreatedAtAction(
                       "GetCity",
                       new { id = newId },
                       getCityModel));
        }