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 TripResponse ToTripResponse(TripsEntity tripsEntity) { return(new TripResponse { EndDate = tripsEntity.EndDate, Id = tripsEntity.Id, Remarks = tripsEntity.Remarks, Source = tripsEntity.Source, StartDate = tripsEntity.StartDate, Target = tripsEntity.Target, TripDetails = tripsEntity.TripDetails?.Select(td => new TripDetailResponse { Date = td.Date, Id = td.Id, }).ToList(), User = ToUserResponse(tripsEntity.User) }); }
public async Task <IActionResult> AddDetails([FromBody] AddDetailsRequest modelRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState )); } CultureInfo cultureInfo = new CultureInfo(modelRequest.CultureInfo); Resource.Culture = cultureInfo; TripsEntity trip = await _dataContext.Trips.FindAsync(int.Parse(modelRequest.TripId)); if (trip == null) { return(BadRequest(Resource.TripIdIncorrect )); } string picturePath = string.Empty; if (modelRequest.VoucherPath != null && modelRequest.VoucherPath.Length > 0) { picturePath = _imageHelper.UploadImage(modelRequest.VoucherPath, "Vouchers"); } TripDetailsEntity tripDetail = new TripDetailsEntity() { ExpensesType = await _dataContext.ExpensesTypes.FindAsync(int.Parse(modelRequest.ExpensesTypeId)), Date = modelRequest.Date, Cost = modelRequest.Cost, VoucherPath = picturePath, Trip = trip }; _dataContext.TripDetails.Add(tripDetail); await _dataContext.SaveChangesAsync(); return(Ok(Resource.DetailAdded)); }