Пример #1
0
        //private DelegateCommand _getAddressCommand;
        //private DelegateCommand _startTripCommand;

        public StartTripPageViewModel()
        {
            //_navigationService = navigationService;
            _geolocatorService  = new GeolocatorService();
            _apiService         = new ApiService();
            _tripDetailsRequest = new TripDetailsRequest {
                TripDetails = new List <TripDetailRequest>()
            };
            //Title = Languages.StartTrip;
            ButtonLabel = "Languages.StartTrip";
            IsEnabled   = true;
            LoadSourceAsync();
        }
Пример #2
0
 public StartTripPageViewModel(INavigationService navigationService, IGeolocatorService geolocatorService, IApiService apiService)
     : base(navigationService)
 {
     _navigationService = navigationService;
     _geolocatorService = geolocatorService;
     _apiService        = apiService;
     Title               = Languages.StartTrip;
     ButtonLabel         = Languages.StartTrip;
     _tripDetailsRequest = new TripDetailsRequest {
         TripDetails = new List <TripDetailRequest>()
     };
     IsEnabled = true;
     LoadSourceAsync();
 }
Пример #3
0
        public async Task <IActionResult> AddTripDetails([FromBody] TripDetailsRequest tripDetailsRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (tripDetailsRequest.TripDetails == null || tripDetailsRequest.TripDetails.Count == 0)
            {
                return(NoContent());
            }

            TripEntity trip = await _context.Trips
                              .Include(t => t.TripDetails)
                              .FirstOrDefaultAsync(t => t.Id == tripDetailsRequest.TripDetails.FirstOrDefault().TripId);

            if (trip == null)
            {
                return(BadRequest("Viaje no encontrado."));
            }

            if (trip.TripDetails == null)
            {
                trip.TripDetails = new List <TripDetailEntity>();
            }

            foreach (TripDetailRequest tripDetailRequest in tripDetailsRequest.TripDetails)
            {
                trip.TripDetails.Add(new TripDetailEntity
                {
                    Address   = tripDetailRequest.Address,
                    Date      = DateTime.UtcNow,
                    Latitude  = tripDetailRequest.Latitude,
                    Longitude = tripDetailRequest.Longitude
                });
            }

            _context.Trips.Update(trip);
            await _context.SaveChangesAsync();

            return(NoContent());
        }
Пример #4
0
        public async Task <Response> AddTripDetailsAsync(string urlBase, string servicePrefix, string controller, TripDetailsRequest model, string tokenType, string accessToken)
        {
            try
            {
                string        request = JsonConvert.SerializeObject(model);
                StringContent content = new StringContent(request, 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 answer = await response.Content.ReadAsStringAsync();

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = answer,
                    });
                }

                return(new Response
                {
                    IsSuccess = true,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message,
                });
            }
        }