public async Task <IActionResult> Post([FromBody] TripViewModel trip) { if (ModelState.IsValid) { var newTrip = Mapper.Map <Trip>(trip); newTrip.UserName = User.Identity.Name; _repo.AddTrip(newTrip); if (await _repo.SaveChangesAsync()) { return(Created($"api/trips/{trip.Name}", Mapper.Map <TripViewModel>(newTrip))); } else { return(BadRequest("Failed to save changes to the database")); } } else { return(BadRequest(ModelState)); } }