public async Task <IActionResult> AddTrip([FromBody] TripRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _dataContext.Add(await _converterHelper.ToTripEntity(request)); await _dataContext.SaveChangesAsync(); UserEntity userEntity = await _userHelper.GetUserAsync(request.UserEmail); MyTripsRequest myTripsRequest = new MyTripsRequest { UserId = userEntity.Id, StartDate = DateTime.Parse("2020-01-01"), EndDate = DateTime.Parse("2021-01-01") }; List <TripEntity> trips = await _dataContext.Trips .Include(t => t.Expenses) .ThenInclude(t => t.ExpenseType) .Include(t => t.User) .Where(t => t.User.Id == myTripsRequest.UserId && t.StartDate >= myTripsRequest.StartDate && t.StartDate <= myTripsRequest.EndDate) .ToListAsync(); return(Ok(_converterHelper.ToTripResponse(trips))); }
public async Task <Response> GetTripsByUser(string urlBase, string servicePrefix, string controller, string tokenType, string accessToken, MyTripsRequest myTripsRequest) { try { string requestString = JsonConvert.SerializeObject(myTripsRequest); StringContent content = new StringContent(requestString, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Response { IsSuccess = false, Message = result, }); } List <TripResponse> tripResponse = JsonConvert.DeserializeObject <List <TripResponse> >(result); return(new Response { IsSuccess = true, Result = tripResponse }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message }); } }
public async Task <IActionResult> GetMyTrips([FromBody] MyTripsRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var tripEntities = await _context.Trips .Include(t => t.User) .Include(t => t.TripDetails) .Include(t => t.Taxi) .Where(t => t.User.Id == request.UserId && t.StartDate >= request.StartDate && t.StartDate <= request.EndDate) .OrderByDescending(t => t.StartDate) .ToListAsync(); return(Ok(_converterHelper.ToTripResponse(tripEntities))); }
public async Task <IActionResult> GetMyTrips([FromBody] MyTripsRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var tripEntities = await _context.Trips .Where(t => t.User.Id == request.UserId) .Include(t => t.User) .OrderByDescending(t => t.StartDateTrip) .ToListAsync(); List <TripResponse> tripsList = new List <TripResponse>(); foreach (TripEntity element in tripEntities) { tripsList.Add(_converterHelper.ToTripResponse(element)); } return(Ok(tripsList)); }
public async Task <IActionResult> GetTrips([FromBody] MyTripsRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } List <TripEntity> trips = await _dataContext.Trips .Include(t => t.Expenses) .ThenInclude(t => t.ExpenseType) .Include(t => t.User) .Where(t => t.User.Id == request.UserId && t.StartDate >= request.StartDate && t.StartDate <= request.EndDate) .ToListAsync(); if (trips == null) { return(BadRequest("User doesn't have any trip")); } return(Ok(_converterHelper.ToTripResponse(trips))); }