private async void DeleteExecute() { var user = _item as TLUser; if (user == null) { return; } var confirm = await TLMessageDialog.ShowAsync(Strings.Android.AreYouSureDeleteContact, Strings.Android.AppName, Strings.Android.OK, Strings.Android.Cancel); if (confirm != ContentDialogResult.Primary) { return; } var response = await ProtoService.DeleteContactAsync(user.ToInputUser()); if (response.IsSucceeded) { // TODO: delete from synced contacts Aggregator.Publish(new TLUpdateContactLink { UserId = response.Result.User.Id, MyLink = response.Result.MyLink, ForeignLink = response.Result.ForeignLink }); user.RaisePropertyChanged(() => user.HasFirstName); user.RaisePropertyChanged(() => user.HasLastName); user.RaisePropertyChanged(() => user.FirstName); user.RaisePropertyChanged(() => user.LastName); user.RaisePropertyChanged(() => user.FullName); user.RaisePropertyChanged(() => user.DisplayName); user.RaisePropertyChanged(() => user.HasPhone); user.RaisePropertyChanged(() => user.Phone); RaisePropertyChanged(() => IsEditEnabled); RaisePropertyChanged(() => IsAddEnabled); var dialog = CacheService.GetDialog(_item.ToPeer()); if (dialog != null) { dialog.RaisePropertyChanged(() => dialog.With); } } }