예제 #1
0
 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);
        }