private async void CreateActivity() { if (!string.IsNullOrWhiteSpace(Title) || !string.IsNullOrWhiteSpace(SelectedCategory) || !string.IsNullOrWhiteSpace(Location) || !string.IsNullOrWhiteSpace(NumberOfParticipants)) { List <Xamarin.Forms.Maps.Position> positionList = new List <Xamarin.Forms.Maps.Position>(); try { Geocoder geocoder = new Geocoder(); IEnumerable <Xamarin.Forms.Maps.Position> positions = await geocoder.GetPositionsForAddressAsync(Location); foreach (Xamarin.Forms.Maps.Position position in positions) { positionList.Add(position); } if (positionList.Count != 0) { Location location = new Location(Location, new Model.Position(positionList[0].Latitude, positionList[0].Longitude)); Activity activity = new Activity(); activity.Title = Title; activity.Date = Date.Date + Time; activity.Category = SelectedCategory; activity.Location = location; activity.Description = Description; activity.Participants = 1; activity.NumberOfParticipants = activity.Participants + "/" + NumberOfParticipants; activity.CreatedBy = LoginManager.Auth.User.LocalId; activity.JoinedBy.Add(LoginManager.Auth.User.LocalId); try { var response = await _contentManager.AddActivity(activity); var ac = JsonConvert.DeserializeObject <Activity>(response.Object); ac.ID = response.Key; App.Locator.AllActivitiesViewModel.Activities.Add(ac); App.Locator.AllActivitiesViewModel.FilteredActivities.Add(ac); App.Locator.MyActivitiesViewModel.Activities.Add(ac); App.Locator.JoinedActivitiesViewModel.Activities.Add(ac); clearFields(); _navigationService.GoBack(); } catch (Exception ex) { await _dialogService.ShowMessage(ex.Message, "Error"); } } else { await _dialogService.ShowMessage("Location could not be found!", "Error"); } } catch (Exception ex) { await _dialogService.ShowMessage(ex.Message, "Error"); } } else { await _dialogService.ShowMessage("Fill out all Fields, except Description!", "Error"); } }