public void GetAllInProgressTrips() { var response = httpClient.GetAsync("api/CampingTrips").Result; var content = response.Content; var jsonContent = content.ReadAsStringAsync().Result; var trips = JsonConvert.DeserializeObject <List <CampingTrip> >(jsonContent); var campingTrips = new ObservableCollection <TripsInProgress>(); if (trips != null) { foreach (var trip in trips) { var campingtrip = new CampingTripInfo() { Place = trip.Place, DepartureDate = trip.DepartureDate, ArrivalDate = trip.ArrivalDate, CountOfMembers = trip.CountOfMembers, MinAge = trip.MinAge, MaxAge = trip.MaxAge, MinCountOfMembers = trip.MinCountOfMembers, MaxCountOfMembers = trip.MaxCountOfMembers, Direction = trip.Direction, HasGuide = trip.HasGuide, HasPhotographer = trip.HasPhotographer, ID = trip.ID, PriceOfTrip = trip.PriceOfTrip }; if (trip.TypeOfTrip == Kanch.DataModel.TypeOfCampingTrip.Campaign) { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.Campaign; } else if (trip.TypeOfTrip == Kanch.DataModel.TypeOfCampingTrip.CampingTrip) { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.CampingTrip; } else { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.Excursion; } if (trip.Food != null) { campingtrip.Food = new ObservableCollection <FoodInfo>(); foreach (var food in trip.Food) { campingtrip.Food.Add(new FoodInfo() { Name = food.Name, Measure = food.Measure, MeasurementUnit = food.MeasurementUnit }); } } var tripInProgress = new TripsInProgress(); tripInProgress.CampingTrip = campingtrip; this.TripsInProgress.Add(tripInProgress); } } }
public void GetAllTripsUserIsJoined() { var tokenResponse = tokenClient.RequestRefreshTokenAsync(ConfigurationSettings.AppSettings["refreshToken"]).Result; httpClient.SetBearerToken(tokenResponse.AccessToken); var response = httpClient.GetAsync($"api/MembersOfCampingTrip/{user.Id}").Result; var content = response.Content; var jsonContent = content.ReadAsStringAsync().Result; var tripIds = JsonConvert.DeserializeObject <List <string> >(jsonContent); var campingTrips = new ObservableCollection <TripsInProgress>(); if (tripIds != null) { foreach (var tripId in tripIds) { var tripResponse = httpClient.GetAsync($"api/CampingTrips/{tripId}").Result; var tripContent = tripResponse.Content; var tripJsonContent = tripContent.ReadAsStringAsync().Result; var trip = JsonConvert.DeserializeObject <CampingTrip>(tripJsonContent); var campingtrip = new CampingTripInfo() { Place = trip.Place, DepartureDate = trip.DepartureDate, ArrivalDate = trip.ArrivalDate, CountOfMembers = trip.CountOfMembers, MinAge = trip.MinAge, MaxAge = trip.MaxAge, MinCountOfMembers = trip.MinCountOfMembers, MaxCountOfMembers = trip.MaxCountOfMembers, Direction = trip.Direction, HasGuide = trip.HasGuide, HasPhotographer = trip.HasPhotographer, PriceOfTrip = trip.PriceOfTrip, ID = trip.ID }; if (trip.TypeOfTrip == Kanch.DataModel.TypeOfCampingTrip.Campaign) { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.Campaign; } else if (trip.TypeOfTrip == Kanch.DataModel.TypeOfCampingTrip.CampingTrip) { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.CampingTrip; } else { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.Excursion; } if (trip.Food != null) { campingtrip.Food = new ObservableCollection <FoodInfo>(); foreach (var food in trip.Food) { campingtrip.Food.Add(new FoodInfo() { Name = food.Name, Measure = food.Measure, MeasurementUnit = food.MeasurementUnit }); } } campingtrip.MembersOfCampingTrip = new ObservableCollection <UserInfo>(); campingtrip.IAmJoined = true; var tripInProgress = new TripsInProgress(); tripInProgress.CampingTrip = campingtrip; tripInProgress.RefuseCommand = new Command(Refuse); this.TripsInProgress.Add(tripInProgress); } } }
public void GetAllInProgressTrips() { var tokenResponse = tokenClient.RequestRefreshTokenAsync(ConfigurationManager.AppSettings["refreshToken"]).Result; httpClient.SetBearerToken(tokenResponse.AccessToken); var response = httpClient.GetAsync("api/CampingTrips").Result; var content = response.Content; var jsonContent = content.ReadAsStringAsync().Result; var trips = JsonConvert.DeserializeObject <List <CampingTrip> >(jsonContent); var campingTrips = new ObservableCollection <TripsInProgress>(); if (trips != null) { foreach (var trip in trips) { var zeroTime = new DateTime(1, 1, 1); var span = DateTime.Now - this.user.DateOfBirth; var userAge = (zeroTime + span).Year - 1; if (userAge >= trip.MinAge && userAge <= trip.MaxAge) { var campingtrip = new CampingTripInfo() { Place = trip.Place, DepartureDate = trip.DepartureDate, ArrivalDate = trip.ArrivalDate, CountOfMembers = trip.CountOfMembers, MinAge = trip.MinAge, MaxAge = trip.MaxAge, MinCountOfMembers = trip.MinCountOfMembers, MaxCountOfMembers = trip.MaxCountOfMembers, Direction = trip.Direction, HasGuide = trip.HasGuide, HasPhotographer = trip.HasPhotographer, PriceOfTrip = trip.PriceOfTrip, ID = trip.ID }; if (trip.TypeOfTrip == Kanch.DataModel.TypeOfCampingTrip.Campaign) { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.Campaign; } else if (trip.TypeOfTrip == Kanch.DataModel.TypeOfCampingTrip.CampingTrip) { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.CampingTrip; } else { campingtrip.TypeOfTrip = ProfileComponents.DataModel.TypeOfCampingTrip.Excursion; } if (trip.Food != null) { campingtrip.Food = new ObservableCollection <FoodInfo>(); foreach (var food in trip.Food) { campingtrip.Food.Add(new FoodInfo() { Name = food.Name, Measure = food.Measure, MeasurementUnit = food.MeasurementUnit }); } } campingtrip.MembersOfCampingTrip = new ObservableCollection <UserInfo>(); if (trip.MembersOfCampingTrip != null) { foreach (var member in trip.MembersOfCampingTrip) { if (member.Id == this.user.Id) { campingtrip.IAmJoined = true; } campingtrip.MembersOfCampingTrip.Add(new UserInfo { Id = member.Id }); } } if (trip.CountOfMembers >= trip.MaxCountOfMembers) { campingtrip.CanIJoin = false; } if (!campingtrip.IAmJoined) { campingtrip.CanIJoin = true; } var tripInProgress = new TripsInProgress(); tripInProgress.CampingTrip = campingtrip; tripInProgress.JoinCommand = new Command(Join); tripInProgress.RefuseCommand = new Command(Refuse); this.TripsInProgress.Add(tripInProgress); } } } }