public void DeletePOI(PointOfInterest poi) { if (DeletePOIObject) { // For some reasons, Picture table doesn't refresh properly // We have to remove each element in the array manually DataServicePicture dsPicture = new DataServicePicture(); foreach (Picture pic in dsPicture.LoadPicturesByPoiId(poi.Id)) { Trip.Pictures.Remove(pic); dsPicture.DeletePicture(pic); } DataServiceNote dsNotes = new DataServiceNote(); foreach (Note note in dsNotes.LoadNotesByPoiId(poi.Id)) { Trip.Notes.Remove(note); dsNotes.DeleteNote(note); } } else { // For some reasons, Picture table doesn't refresh properly // We have to remove each element in the array manually DataServicePicture dsPicture = new DataServicePicture(); foreach (Picture pic in dsPicture.LoadPicturesByPoiId(poi.Id)) { pic.PointOfInterest = null; } DataServiceNote dsNotes = new DataServiceNote(); foreach (Note note in dsNotes.LoadNotesByPoiId(poi.Id)) { note.PointOfInterest = null; } } DataServicePoi dsPoi = new DataServicePoi(); Trip.PointsOfInterests.Remove(poi); PointOfInterestList.Remove(poi); dsPoi.DeletePoi(poi, false); TripCommand.Execute(null); }
private async void DownloadPoisListAsync() { if (!IsConnected()) { Toast toast = Toast.MakeText(this, "Not conntected to internet. Please check your device network settings.", ToastLength.Short); toast.Show(); return; } progressBar.Visibility = ViewStates.Visible; poiListData = await new POIService().GetPOIListAsync(); progressBar.Visibility = ViewStates.Gone; poiListAdapter = new POIListViewAdapter(this, poiListData.Pois); poiListView.Adapter = poiListAdapter; poiListView.Post(() => { poiListView.SetSelection(scrollPosition); }); }