private async void OnDelete(object sender, EventArgs e) { try { var mi = ((MenuItem)sender); var answer = await DisplayAlert("Delete " + mi.CommandParameter + " from my contact list ?", null, "Yes", "No"); if (answer) { #region Delete from list var getuser = ChatContactsList.Where(a => a.Name == mi.CommandParameter.ToString()).ToList().FirstOrDefault(); if (getuser != null) { if (getuser.Username == mi.CommandParameter.ToString()) { ChatContactsList.Remove(getuser); } } #endregion #region Delete from SqlTable (Cashe) var contact = SQL_Commander.GetContactUserByUsername(mi.CommandParameter.ToString()); if (contact != null) { SQL_Commander.DeleteContactRow(contact); } #region Delete from website try { using (var client = new HttpClient()) { var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("user_id", Settings.User_id), new KeyValuePair <string, string>("recipient_id", contact.UserID), new KeyValuePair <string, string>("s", Settings.Session) }); var response = await client.PostAsync( Settings.Website + "/app_api.php?application=phone&type=follow_user", formContent).ConfigureAwait(false); response.EnsureSuccessStatusCode(); string json = await response.Content.ReadAsStringAsync(); var data2 = JsonConvert.DeserializeObject <Dictionary <string, object> >(json); string apiStatus = data2["api_status"].ToString(); if (apiStatus == "200") { } } } catch (Exception) { } #endregion } #endregion } catch (Exception) { } }