public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_repository.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError(string.Empty, "Park Already Exists!");

                return(StatusCode(404, ModelState));
            }



            var domianObject = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_repository.CreateNationalPark(domianObject))
            {
                ModelState.AddModelError(string.Empty, $"Saving record failed {domianObject.Name}");

                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark", new { nationalparkId = domianObject.Id }, domianObject));
        }
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(BadRequest());
            }

            NationalParkDto nationalParkDto = await _npRepo.GetAsync(_npUrl, id.GetValueOrDefault(), HttpContext.Session.GetString("JWToken"));

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

            // NationalParkDto and NationalParkUpdateDto have the same properties, but we create both of them for the seprate of concerns.
            NationalParkUpdateDto nationalParkUpdateDto = new NationalParkUpdateDto()
            {
                Id          = nationalParkDto.Id,
                Name        = nationalParkDto.Name,
                State       = nationalParkDto.State,
                Picture     = nationalParkDto.Picture,
                Established = nationalParkDto.Established
            };

            return(View(nationalParkUpdateDto));
        }
예제 #3
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_npRepository.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists");
                return(StatusCode(404, ModelState));
            }

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

            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepository.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");
            }

            return(CreatedAtRoute("GetNationalPark", new { nationalParkId = nationalParkObj.Id }, nationalParkObj));
        }
        public async Task <NationalParkDto> GetAsync(string Url, int Id, string token)
        {
            HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Get, Url + Id);
            HttpClient         httpClient  = _httpClientFactory.CreateClient();

            // 13. Part 6
            // ----------------------
            if (token != null && token.Length > 0)
            {
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            }
            // ----------------------

            HttpResponseMessage httpResponse = await httpClient.SendAsync(httpRequest);

            if (httpResponse.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var jsonString = await httpResponse.Content.ReadAsStringAsync();

                NationalParkDto nationalParkDto = JsonConvert.DeserializeObject <NationalParkDto>(jsonString);

                return(nationalParkDto);
            }

            return(null);
        }
        //[ProducesDefaultResponseType]
        public IActionResult CreateNationalPark([FromBody]  NationalParkDto parkDto)
        {
            if (parkDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_npRepo.NationalParkExists(parkDto.Name))
            {
                ModelState.AddModelError("", "National park exists!");
                return(StatusCode(404, ModelState));
            }

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

            var park = _mapper.Map <NationalPark>(parkDto);

            if (!_npRepo.CreateNationalPark(park))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {park.Name}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark", new { id = park.Id }, park)); //201 Created
        }
예제 #6
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("Message", "National Park Exists!");
                return(NotFound(ModelState));
            }

            var nationalPark = _mapper.Map <NationalPark>(nationalParkDto);
            var created      = _npRepo.CreateNationalPark(nationalPark);

            if (!created)
            {
                ModelState.AddModelError("Message", $"Something went wrong when saving the record {nationalPark.Name}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark",
                                  new
            {
                version = HttpContext.GetRequestedApiVersion() !.ToString(),
                id = nationalPark.Id
            },
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null) // if dto table/form null return bad request ~Burak
            {
                return(BadRequest(ModelState));
            }

            if (!ModelState.IsValid)    // if model state is not valid return bad request error ~Burak
            {
                return(BadRequest(ModelState));
            }

            if (this.nationalParkRepository.NationalParkExists(nationalParkDto.Name))
            {                           // if this national does exists return error message down below and return status code 404 ~Burak
                ModelState.AddModelError("", "National Park Exists!");
                return(StatusCode(404, ModelState));
            }

            // if everythings fine continue to work
            var nationalParkobje = this.mapper.Map <NationalPark>(nationalParkDto);

            if (!this.nationalParkRepository.CreateNationalPark(nationalParkobje))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkobje.Name}");

                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark", new { version = HttpContext.GetRequestedApiVersion().ToString(),
                                                           nationalParkId = nationalParkobje.Id }, nationalParkobje));
        }
예제 #8
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            //ModelState contains all related encountered errors
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                //Give the ModelState a message and an error code 404 to return to the client
                ModelState.AddModelError("", "National Park Exists!");
                return(StatusCode(404, ModelState));
            }

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

            //Map parameter Dto to the Model
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            //If creation was unsuccessful
            if (!_npRepo.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark", new { nationalParkId = nationalParkObj.Id }, nationalParkObj));
        }
예제 #9
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists");
                return(StatusCode(404, ModelState));
            }

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

            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Some4thing went wrong wehn saving the record {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }
        }
예제 #10
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                // ModelState typically contains all of the errors if any are encountered.
                return(BadRequest(ModelState));
            }

            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists");
                return(StatusCode(404, ModelState));
            }

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

            var nationalParkObj = this._mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("NationalPark", new { nationalParkId = nationalParkObj.Id }, nationalParkObj));
        }
예제 #11
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto is null)
            {
                return(BadRequest(ModelState));
            }

            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("error", "National park exists.");
                return(StatusCode(404, ModelState));
            }

            var park = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.CreateNationalPark(park))
            {
                ModelState.AddModelError("", "Something went wrong.");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark", new
            {
                version = HttpContext.GetRequestedApiVersion().ToString(),
                id = park.Id
            }, park));
        }
예제 #12
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest());
            }
            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists!");
                return(StatusCode(404, ModelState));
            }
            //if(!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something wrong with saving the record{nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }

            //return Ok();
            return(CreatedAtRoute("GetNationalPark", new { version = HttpContext.GetRequestedApiVersion().ToString(),
                                                           nationalParkId = nationalParkObj.Id }, nationalParkObj));
        }
예제 #13
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }

            // jika nama sudah ada
            if (_nationalParkRepository.NationalParkExists(nationalParkDto.Name)) // pakai method yg dibuat di repository dengan parameter name
            {
                ModelState.AddModelError("", "National Park Exist!");
                return(StatusCode(404, ModelState));
            }

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

            // convert domain model to dto
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_nationalParkRepository.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetNationalPark", new { version = HttpContext.GetRequestedApiVersion().ToString(),
                                                           nationalParkId = nationalParkObj.Id }, nationalParkObj)); // 201 response
        }
예제 #14
0
        public ActionResult CreateNationalPark([FromBody] NationalParkDto parkDto)
        {
            if (parkDto == null)
            {
                return(BadRequest(ModelState));
            }
            if (_npRepo.NationalParkExists(parkDto.Name))
            {
                ModelState.AddModelError(string.Empty, "Park Exists");
                return(StatusCode(404, ModelState));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var park = _mapper.Map <NationalPark>(parkDto);

            if (_npRepo.CreateNationalParkExists(park))
            {
                return(CreatedAtAction("GetNationalParkById", new { id = park.Id }, park));
            }

            ModelState.AddModelError(string.Empty, $"Something went wrong when saving the record {park.Name}");
            return(StatusCode(500, ModelState));
        }
예제 #15
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto) //We specify what we will get from the Body
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));//ModelState contains errors if any are encountered
            }

            //Check if this is a duplicate entry
            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists!");
                return(StatusCode(404, ModelState));//We pass the ModelState as the value
            }

            //We need to convert Dto to Domain Model
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            //If save was successfull
            if (!_npRepo.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }

            //Return object that was just created by calling API GetNationalPark
            //CreatedAtRoute will return a status of 201 for creation.
            return(CreatedAtRoute("GetNationalPark", new
            {
                version = HttpContext.GetRequestedApiVersion().ToString(),
                nationalParkId = nationalParkObj.Id
            }, nationalParkObj));
        }
예제 #16
0
        public IActionResult UpdateNationalPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto.Id != nationalParkId)
            {
                return(Unauthorized());
            }

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

            if (!_nationalParkRepository.NationalParkExists(nationalParkId))
            {
                ModelState.AddModelError("non-existing park", "Can't update a non-existing park");
                return(BadRequest(ModelState));
            }

            var nationalPark = _mapper.Map <NationalPark>(nationalParkDto);

            if (_nationalParkRepository.UpdateNationalPark(nationalPark))
            {
                return(NoContent());
            }

            ModelState.AddModelError("server error", "something went wrong while updating");
            return(StatusCode(500, ModelState));
        }
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }
            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists!");
                return(StatusCode(StatusCodes.Status409Conflict, ModelState));
            }
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            // If the Create() method succeeds, the object passed in will be
            // filled with all of the created properties.  In this case, the
            // nationalParkObj will have an Id set.
            if (!_npRepo.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }

            // Rather than return just OK, run the "GetNationalPark" method (matches
            // the Name= and not the method name).  This method takes the int nationalParkId
            // option, so create a new object with the values that were filled in from
            // the Create() method above, and send in the object that was filled in.
            return(CreatedAtRoute("GetNationalPark", new { version = HttpContext.GetRequestedApiVersion().ToString(),
                                                           nationalParkId = nationalParkObj.Id }, nationalParkObj));
        }
예제 #18
0
        public IActionResult PostNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (_nationalParkRepository.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("duplicates", "Park already exists in the database");
                return(BadRequest(ModelState));
            }


            var nationalParkToPost = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_nationalParkRepository.AddNationalParkToDatabase(nationalParkToPost))
            {
                ModelState.AddModelError(string.Empty, "Something went wrong while saving the park");
                return(StatusCode(StatusCodes.Status500InternalServerError, ModelState));
            }

            nationalParkDto.Id = nationalParkToPost.Id;

            return(CreatedAtAction("GetNationalParkById",
                                   new { nationalParkId = nationalParkToPost.Id, version = HttpContext.GetRequestedApiVersion()?.ToString() },
                                   nationalParkDto));
        }
        public IActionResult Create([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }
            if (_npRepository.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National park already exists!");
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepository.CreateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong while creating {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }
            return(CreatedAtRoute("GetNationalPark",
                                  new { version = HttpContext.GetRequestedApiVersion().ToString(),
                                        id = nationalParkObj.Id }, nationalParkObj));
        }
예제 #20
0
        public IActionResult CreateNationalPark([FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null)
            {
                return(BadRequest(ModelState));
            }
            //duplicate check
            if (_npRepo.NationalParkExists(nationalParkDto.Name))
            {
                ModelState.AddModelError("", "National Park Exists!");
                return(StatusCode(404, ModelState));
            }


            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);


            if (!_npRepo.CreateNationalPark(nationalParkObj))

            {
                ModelState.AddModelError("", $"Something went wrong when saving the record {nationalParkObj.Name}");

                return(StatusCode(500, ModelState));
            }
            //route name -> route value -> final values
            return(CreatedAtRoute("GetNationalPark", new { versio = HttpContext.GetRequestedApiVersion().ToString(), nationalParkId = nationalParkObj.Id }, nationalParkObj));
        }
예제 #21
0
        public IActionResult GetNationalPark(int nationalParkId)
        {
            NationalPark nationalPark = _npRepo.GetNationalPark(nationalParkId);

            if (nationalPark == null)
            {
                return(NotFound());
            }
            NationalParkDto nationalParkDto = _mapper.Map <NationalParkDto>(nationalPark);

            return(Ok(nationalParkDto));
        }
예제 #22
0
 public IActionResult UpdateNationalPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
 {
     if (nationalParkDto == null || nationalParkId != nationalParkDto.Id)
     {
         return(BadRequest(ModelState));
     }
     if (!_nationalParkRepository.UpdateNationalPark(_mapper.Map <NationalPark>(nationalParkDto)))
     {
         ModelState.AddModelError(String.Empty, $"Something went wrong while updating the record {nationalParkDto.Name}");
         return(StatusCode(500, ModelState));
     }
     return(NoContent());
 }
        public IActionResult UpdateNationalPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null || nationalParkId != nationalParkDto.Id)
            {
                return(BadRequest(ModelState));
            }
            var obj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.UpdateNationalPark(obj))
            {
                ModelState.AddModelError("", "cos poszlo nie tak przy zapisywaniu");
                return(StatusCode(500, ModelState));
            }
            return(NoContent());
        }
        public IActionResult UpdateNaionalPark(int id, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null || id != nationalParkDto.Id)
            {
                return(BadRequest(ModelState));
            }
            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepository.UpdateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong while updating {nationalParkObj.Name}");
                return(StatusCode(500, ModelState));
            }
            return(NoContent());
        }
예제 #25
0
        public IActionResult UpdateNationalPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null || nationalParkId != nationalParkDto.Id)
            {
                return BadRequest(ModelState);
            }

            var nationalParkObj = _mapper.Map<NationalPark>(nationalParkDto);
            if (!_npRepo.UpdateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Something went wrong when updating the record {nationalParkObj.Name}");
                return StatusCode(500, ModelState);
            }

            return NoContent();
        }
예제 #26
0
        public IActionResult UpdateNationalPark(int id, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto is null || id != nationalParkDto.Id)
            {
                return(BadRequest(ModelState));
            }
            var park = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.UpdateNationalPark(park))
            {
                ModelState.AddModelError("", "Something went wrong.");
                return(StatusCode(500, ModelState));
            }

            return(NoContent());
        }
예제 #27
0
        public IActionResult UpdateNationalPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null || nationalParkId != nationalParkDto.Id)
            {
                return(BadRequest(ModelState));
            }

            NationalPark nationalPark = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_npRepo.UpdateNationalPark(nationalPark))
            {
                ModelState.AddModelError("", $"Error with updating file {nationalPark.Name}");
                return(StatusCode(500, ModelState));
            }
            return(NoContent());
        }
예제 #28
0
        public IActionResult UpdateNatioanlPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null || nationalParkId != nationalParkDto.id)
            {
                return(BadRequest(ModelState));
            }

            var nationalParkObj = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_nationalParkRepository.UpdateNationalPark(nationalParkObj))
            {
                ModelState.AddModelError("", $"Problem while updating the record {nationalParkDto.name}");
            }

            return(NoContent());
        }
        public NationalParkControllerTests()
        {
            _npRepository = new Mock <INationalParkRepository>();

            var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new ParkPathMappings()); });
            var mapper     = mockMapper.CreateMapper();

            _controller = new NationalParksController(_npRepository.Object, mapper);

            _nationalParkDto = new NationalParkDto()
            {
                Id    = 5,
                Name  = "DTO Park",
                State = "NY"
            };
        }
        public IActionResult UpdateNationalPark(int nationalParkId, [FromBody] NationalParkDto nationalParkDto)
        {
            if (nationalParkDto == null || nationalParkId != nationalParkDto.Id)
            {
                return(BadRequest(ModelState));
            }
            var ojbNationalPark = _mapper.Map <NationalPark>(nationalParkDto);

            if (!_nationalParkRepository.EditNationalPark(ojbNationalPark))
            {
                ModelState.AddModelError("", $"Something went wrong went update the recored {ojbNationalPark.Name}");
                return(StatusCode(500, ModelState));
            }

            return(NoContent());
        }