public IActionResult Post([FromBody] CreateBusDriverDto createBusDriverDto)
        {
            try
            {
                var newBusDriver = this._Mapper.Map <CreateBusDriverDto, BusDriver>(createBusDriverDto);
                if (this._BusDriverRepository.SaveBusDriver(newBusDriver) > 0)
                {
                    return(Ok(
                               this._Mapper.Map <BusDriver, ReturnBusDriverDto>(newBusDriver)
                               ));
                }

                return(BadRequest(new BadRequestMessage
                {
                    Message = new string[] {
                        "Bus driver fails to create.",
                        "Tip: PersonnelNumber is already exists"
                    }
                }));
            }
            catch (Exception)
            {
                return(StatusCode(500, "Internal server error"));
            }
        }
示例#2
0
        public void CreateBusDriver()
        {
            var target = new BusDriversController(this._EFBusDriverRepository, this._MockMapper);

            var newBusDriver = new CreateBusDriverDto
            {
                PersonnelNumber = "Test-0001",
                FirstName       = "TestFirstName",
                LastName        = "TestLastName",
                PhoneNumber     = "12345678"
            };

            var result   = target.Post(newBusDriver);
            var okResult = result as OkObjectResult;

            Assert.Equal(200, okResult.StatusCode);
            Assert.Equal(13, this._EFBusDriverRepository.BusDrivers.Count());
            Assert.Equal("TestFirstName", this._EFBusDriverRepository.BusDrivers
                         .Where(o => o.PersonnelNumber == "Test-0001").FirstOrDefault().FirstName);
        }