private async void SetStatus(int statusID) { VindRitVM.StatusID = statusID; this.Status = GetStatusName(statusID); RaiseAll(); if (MainViewVM.CurrentTrip != null) { if (LocationService.LastLocation != null && statusID!=0) { Trips_Locations item = new Trips_Locations() { Trips_ID = MainViewVM.CurrentTrip.ID, Location = JsonConvert.SerializeObject(LocationService.LastLocation), Statuses_ID = VindRitVM.StatusID }; Response ok = Task.FromResult<Response>(await TripRepository.PostLocation(item)).Result; if (ok.Success == true) { Libraries.Socket socketSend = new Libraries.Socket() { From = MainViewVM.USER.ID,//from bob To = MainViewVM.CurrentTrip.Users_ID,//to user Status = true, ID = VindRitBobVM.FindID }; if (MainViewVM.socket != null) { MainViewVM.socket.Emit("status_UPDATE:send", JsonConvert.SerializeObject(socketSend)); } } } var party = Task.FromResult<Party>(await PartyRepository.GetPartyById(MainViewVM.CurrentTrip.Party_ID)).Result; var destination = Task.FromResult<Users_Destinations>(await DestinationRepository.GetDestinationById(MainViewVM.CurrentTrip.Destinations_ID)).Result; Toast.Tile("Party: " + party.Name, "Bestemming: " + destination.Name, "Status " + this.Status); } RaiseAll(); }
public static async Task<Response> PostLocation(Trips_Locations trip) { try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(URL.BASE); var newObject = JsonConvert.SerializeObject(trip); HttpResponseMessage result = await client.PostAsync(URL.TRIPS_LOCATION, new StringContent(newObject, Encoding.UTF8, "application/json")); string json = await result.Content.ReadAsStringAsync(); Response data = JsonConvert.DeserializeObject<Response>(json); return data; } } catch (JsonException jex) { return new Response() { Error = "Parse Error: " + jex.ToString(), Success = false }; } catch (Exception ex) { return new Response() { Error = ex.Message.ToString(), Success = false }; } }
//by user //wanneer bob accepteer, wordt door gebruiker die aanvraagd aangemaakt private async void MakeTrip(Trip trip, int bobID) { Response res = Task.FromResult<Response>(await TripRepository.PostTrip(trip)).Result; if (res.Success == true) { VindRitVM.StatusID = 1; Location location = await LocationService.GetCurrent(); Trips_Locations tripL = new Trips_Locations() { Trips_ID = res.NewID.Value, Location = JsonConvert.SerializeObject(location), Statuses_ID = VindRitVM.StatusID }; Response okTripL = await TripRepository.PostLocation(tripL); Trip currentTrip = Task.FromResult<Trip>(await TripRepository.GetCurrentTrip()).Result; Bob.All bob = VindRitVM.SelectedBob; Libraries.Socket socketSendToBob = new Libraries.Socket() { From = MainViewVM.USER.ID,//from user To = bob.User.ID,//to bob Status = true, Object = currentTrip }; MainViewVM.socket.Emit("trip_START:send", JsonConvert.SerializeObject(socketSendToBob)); //bob StartTrip(currentTrip); //user TripSave(currentTrip); MakeChatroom(bobID); } }