//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(); }
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(); }
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()); }
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, }); } }