public async Task <IActionResult> GetTraveler(EmailRequest emailRequest) { if (!ModelState.IsValid) { return(BadRequest()); } var traveler = await _context.Travelers .Include(t => t.User) .Include(t => t.Trips) .ThenInclude(t => t.Viatics) .FirstOrDefaultAsync(t => t.User.UserName.ToLower() == emailRequest.Email.ToLower()); var response = new TravelerResponse { Id = traveler.Id, FirstName = traveler.User.FirstName, LastName = traveler.User.LastName, Company = traveler.User.Company, Email = traveler.User.Email, Trips = traveler.Trips.Select(tr => new TripResponse { Id = tr.Id, City = tr.City, Date = tr.Date, EndDate = tr.EndDate, Budget = tr.Budget, ViaticCount = tr.Viatics.Count(), Viatics = tr.Viatics.Select(v => new ViaticResponse { Id = v.Id, ViaticType = v.ViaticType, Description = v.Description, InvoiceAmmount = v.InvoiceAmmount, InvoiceDate = v.InvoiceDate, ImageUrl = v.ImageFullPath, Name = v.ViaticName, }).ToList() }).ToList() }; return(Ok(response)); }
public async Task UpdateUserData() { var url = App.Current.Resources["UrlAPI"].ToString(); var token = JsonConvert.DeserializeObject <TokenResponse>(Settings.Token); var email = JsonConvert.DeserializeObject <TravelerResponse>(Settings.Traveler).Email; var response = await _apiService.GetTravelerByEmail( url, "/api", "/Travelers/GetTravelerByEmail", "bearer", token.Token, email); if (response.IsSuccess) { var traveler = response.Result; Settings.Traveler = JsonConvert.SerializeObject(traveler); _traveler = traveler; GetUserData(); } }