public IActionResult Post([FromBody] CreateBusStopDto createBusStopDto) { try { if (this._BusStopRepository.BusStops.Where(o => o.StopNumber == createBusStopDto.StopNumber).Any()) { return(BadRequest(new BadRequestMessage { Message = new string[] { "StopNumber is already exists." } })); } var newBusStop = this._Mapper.Map <CreateBusStopDto, BusStop>(createBusStopDto); if (this._BusStopRepository.SaveBusStop(newBusStop) > 0) { return(Ok( this._Mapper.Map <BusStop, ReturnBusStopDto>(newBusStop) )); } else { return(BadRequest(new BadRequestMessage { Message = new string[] { "BusStop fails to create." } })); } } catch (Exception) { return(StatusCode(500, "Internal server error")); } }
public void CreateBusStop() { var target = new BusStopsController(this._EFRouteBusRepository, this._EFBusStopRepository, this._MockMapper); var newBusStop = new CreateBusStopDto { StopNumber = "Test-001", Label = "Test Bus Stop", Longitude = 12.0, Latitude = 13.2, Zone = 1 }; var result = target.Post(newBusStop); var okResult = result as OkObjectResult; Assert.Equal(200, okResult.StatusCode); Assert.Equal(93, this._EFBusStopRepository.BusStops.Count()); Assert.Equal("Test Bus Stop", this._EFBusStopRepository.BusStops .Where(o => o.StopNumber == "Test-001").FirstOrDefault().Label); }