public async Task <IActionResult> CreateTrip([FromBody] CreateTripRequest modelRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState )); } CultureInfo cultureInfo = new CultureInfo(modelRequest.CultureInfo); Resource.Culture = cultureInfo; UserEntity user = await _userHelper.GetUserAsync(new System.Guid(modelRequest.UserId)); if (user == null) { return(BadRequest(Resource.UserDoesntExists )); } TripsEntity tripEntity = new TripsEntity() { StartDate = modelRequest.StartDate, EndDate = modelRequest.EndDate, Description = modelRequest.Description, City = await _dataContext.Cities.FindAsync(modelRequest.CityId), User = user }; _dataContext.Trips.Add(tripEntity); await _dataContext.SaveChangesAsync(); return(Ok(Resource.TripCreated)); }
public async override Task <TripModel> CreateTrip(CreateTripRequest request, ServerCallContext context) { try { var newTrip = await _tripComponent.CreateTrip(new Business.Models.TripModel { Name = request.Name, Destination = request.Destination, EndDate = System.DateTime.Parse(request.EndDate), GeoLocation = request.GeoLocation, Photos = new List <Business.Models.PhotoModel>(), StartDate = System.DateTime.Parse(request.StartDate), TripId = Guid.NewGuid().ToString() }); var reply = _mapper.Map <Business.Models.TripModel, TripModel>(newTrip); return(reply); } catch (Exception ex) { _logger.LogError(ex, "CreateTrip({request})", request); throw new RpcException(new Status(StatusCode.Internal, "Internal Error")); } }
public async Task <IActionResult> Create([FromBody] CreateTripRequest tripRequest) { var trip = new Trip { Name = tripRequest.Name }; await _tripService.CreateTripAsync(trip); var baseUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}"; var locationUri = baseUrl + "/" + ApiRoutes.Trips.Get.Replace("{tripId}", trip.Id.ToString()); var response = new TripResponse { Id = trip.Id }; return(Created(locationUri, response)); }