Exemple #1
0
        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));
        }
Exemple #5
0
        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)));
        }