private void OnMenuClearChatClick() { try { if (Methods.CheckConnectivity()) { MAdapter.Clear(); var userDelete = LastChatActivity.MAdapter.UserList?.FirstOrDefault(a => a.User.Id == Userid); if (userDelete != null) { LastChatActivity.MAdapter.Remove(userDelete); } SqLiteDatabase dbDatabase = new SqLiteDatabase(); dbDatabase.DeleteAllMessagesUser(UserDetails.UserId, Userid); dbDatabase.DeleteUserLastChat(Userid); dbDatabase.Dispose(); PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Messages.DeleteChat(Userid) }); } else { Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); } } catch (Exception e) { Console.WriteLine(e); } }
//Delete Chat private void DeleteItems() { try { HomeActivity.GetInstance()?.SetService(); if (ToolBar.Visibility != ViewStates.Visible) { ToolBar.Visibility = ViewStates.Visible; } if (Methods.CheckConnectivity()) { List <int> selectedItemPositions = MAdapter.GetSelectedItems(); for (int i = selectedItemPositions.Count - 1; i >= 0; i--) { var datItem = MAdapter.GetItem(selectedItemPositions[i]); if (datItem != null) { SqLiteDatabase dbDatabase = new SqLiteDatabase(); dbDatabase.DeleteUserLastChat(datItem.User.Id.ToString()); dbDatabase.DeleteAllMessagesUser(UserDetails.UserId.ToString(), datItem.User.Id.ToString()); dbDatabase.Dispose(); var index = MAdapter.UserList.IndexOf(MAdapter.UserList.FirstOrDefault(a => a.User.Id == datItem.User.Id)); if (index != -1) { MAdapter.UserList.Remove(datItem); MAdapter.NotifyItemRemoved(index); } MAdapter.RemoveData(); //Send Api Delete PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Chat.DeleteMessagesAsync(datItem.User.Id.ToString()) }); } } } else { Toast.MakeText(Activity, Activity.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); } } catch (Exception e) { Console.WriteLine(e); } }