private void BtnDeleteMessageOnClick(object sender, EventArgs eventArgs) { try { var local = Last_Messages_Fragment.mAdapter.MLastMessagesUser.FirstOrDefault(a => a.UserId == _Userid); if (local != null) { Last_Messages_Fragment.mAdapter.Remove(local); Task.Run(() => { var dbDatabase = new SqLiteDatabase(); dbDatabase.Delete_LastUsersChat(_Userid); dbDatabase.DeleteAllMessagesUser(UserDetails.User_id, _Userid); dbDatabase.Dispose(); }); } if (IMethods.CheckConnectivity()) { var data = Global.Delete_Conversation(_Userid).ConfigureAwait(false); } Last_Messages_Fragment.TimerWork = "Working"; this.Dismiss(); int x = Resource.Animation.slide_right; } catch (Exception e) { Console.WriteLine(e); } }
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); } }
private async void OnMenuClearChatClick() { try { if (Methods.CheckConnectivity()) { MAdapter.Clear(); var userDelete = LastChatActivity.MAdapter.UserList?.FirstOrDefault(a => a.UserId == Userid); if (userDelete != null) { LastChatActivity.MAdapter.Remove(userDelete); } SqLiteDatabase dbDatabase = new SqLiteDatabase(); dbDatabase.DeleteAllMessagesUser(UserDetails.UserId, Userid.ToString()); dbDatabase.Dispose(); var(apiStatus, respond) = await RequestsAsync.Messages.ClearMessages(Userid.ToString()).ConfigureAwait(false); } else { Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); } } catch (Exception e) { Console.WriteLine(e); } }
private void BtnDeleteMessageOnClick(object sender, EventArgs eventArgs) { try { if (AppSettings.LastChatSystem == SystemApiGetLastChat.New) { var usertoDelete = GlobalContext?.LastChatTab?.MAdapter?.ChatList.FirstOrDefault(a => a.UserId == Userid); if (usertoDelete != null) { var index = GlobalContext.LastChatTab.MAdapter.ChatList.IndexOf(usertoDelete); if (index != -1) { GlobalContext?.LastChatTab.MAdapter.ChatList.Remove(usertoDelete); GlobalContext?.LastChatTab.MAdapter.NotifyItemRemoved(index); } } } else { var userToDelete = GlobalContext?.LastMessagesTab?.MAdapter?.MLastMessagesUser.FirstOrDefault(a => a.UserId == Userid); if (userToDelete != null) { var index = GlobalContext.LastMessagesTab.MAdapter.MLastMessagesUser.IndexOf(userToDelete); if (index != -1) { GlobalContext?.LastMessagesTab.MAdapter.MLastMessagesUser.Remove(userToDelete); GlobalContext?.LastMessagesTab.MAdapter.NotifyItemRemoved(index); } } } var dbDatabase = new SqLiteDatabase(); dbDatabase.Delete_LastUsersChat(Userid); dbDatabase.DeleteAllMessagesUser(UserDetails.UserId, Userid); dbDatabase.Dispose(); if (Methods.CheckConnectivity()) { PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => Global.Delete_Conversation(Userid) }); } Dismiss(); int x = Resource.Animation.slide_right; Console.WriteLine(x); } 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); } }
//Delete Swipe Item private void MAdapterOnDeleteItemClick(object sender, Holders.LastMessagesClickEventArgs e) { try { var position = e.Position; if (position >= 0) { var item = MAdapter.GetItem(position); if (item != null) { var dialog = new MaterialDialog.Builder(Context).Theme(AppSettings.SetTabDarkTheme ? Theme.Dark : Theme.Light); dialog.Title(GetText(Resource.String.Lbl_DeleteTheEntireConversation)); dialog.Content(GetText(Resource.String.Lbl_OnceYouDeleteConversation)); dialog.PositiveText(GetText(Resource.String.Lbl_Yes)).OnPositive((materialDialog, action) => { try { if (!Methods.CheckConnectivity()) { Toast.MakeText(Context, Context.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); return; } var userToDelete = MAdapter.MLastMessagesUser.FirstOrDefault(a => a.UserId == item.UserId); if (userToDelete != null) { MAdapter.ItemsSwiped.Swiped = false; MAdapter.ItemsSwiped = null; var index = MAdapter.MLastMessagesUser.IndexOf(userToDelete); if (index > -1) { MAdapter.MLastMessagesUser.Remove(userToDelete); MAdapter.NotifyItemRemoved(index); } } var dbDatabase = new SqLiteDatabase(); dbDatabase.Delete_LastUsersChat(item.UserId); dbDatabase.DeleteAllMessagesUser(UserDetails.UserId, item.UserId); dbDatabase.Dispose(); PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Global.Delete_Conversation(item.UserId) }); Toast.MakeText(Context, Context.GetText(Resource.String.Lbl_TheConversationHasBeenDeleted), ToastLength.Long).Show(); } catch (Exception exception) { Console.WriteLine(exception); } }); dialog.NegativeText(GetText(Resource.String.Lbl_No)).OnNegative(this); dialog.AlwaysCallSingleChoiceCallback(); dialog.Build().Show(); } } } catch (Exception exception) { Console.WriteLine(exception); } }
public async void OnSelection(MaterialDialog p0, View p1, int itemId, ICharSequence itemString) { try { if (itemString.ToString() == Context.GetText(Resource.String.Lbl_View_Profile)) { WoWonderTools.OpenProfile(Activity, DataUserChat.UserId, DataUserChat); } else if (itemString.ToString() == Context.GetText(Resource.String.Lbl_Block)) { if (Methods.CheckConnectivity()) { (int apiStatus, var respond) = await RequestsAsync.Global.Block_User(DataUserChat.UserId, true); //true >> "block" if (apiStatus == 200) { Console.WriteLine(respond); var dbDatabase = new SqLiteDatabase(); dbDatabase.Delete_UsersContact(DataUserChat.UserId); dbDatabase.DeleteAllMessagesUser(UserDetails.UserId, DataUserChat.UserId); dbDatabase.Dispose(); Methods.Path.DeleteAll_FolderUser(DataUserChat.UserId); Toast.MakeText(Context, Context.GetText(Resource.String.Lbl_Blocked_successfully), ToastLength.Short).Show(); } } else { Toast.MakeText(Context, Context.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); } } else if (itemString.ToString() == Context.GetText(Resource.String.Lbl_Voice_call)) { string timeNow = DateTime.Now.ToString("hh:mm"); var unixTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); string time = Convert.ToString(unixTimestamp); Intent intentVideoCall = new Intent(Context, typeof(TwilioVideoCallActivity)); if (AppSettings.UseLibrary == SystemCall.Agora) { intentVideoCall = new Intent(Context, typeof(AgoraAudioCallActivity)); intentVideoCall.PutExtra("type", "Agora_audio_calling_start"); } else if (AppSettings.UseLibrary == SystemCall.Twilio) { intentVideoCall = new Intent(Context, typeof(TwilioAudioCallActivity)); intentVideoCall.PutExtra("type", "Twilio_audio_calling_start"); } intentVideoCall.PutExtra("UserID", DataUserChat.UserId); intentVideoCall.PutExtra("avatar", DataUserChat.Avatar); intentVideoCall.PutExtra("name", DataUserChat.Name); intentVideoCall.PutExtra("time", timeNow); intentVideoCall.PutExtra("CallID", time); StartActivity(intentVideoCall); } else if (itemString.ToString() == Context.GetText(Resource.String.Lbl_Video_call)) { string timeNow = DateTime.Now.ToString("hh:mm"); var unixTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); string time = Convert.ToString(unixTimestamp); Intent intentVideoCall = new Intent(Context, typeof(TwilioVideoCallActivity)); if (AppSettings.UseLibrary == SystemCall.Agora) { intentVideoCall = new Intent(Context, typeof(AgoraVideoCallActivity)); intentVideoCall.PutExtra("type", "Agora_video_calling_start"); } else if (AppSettings.UseLibrary == SystemCall.Twilio) { intentVideoCall = new Intent(Context, typeof(TwilioVideoCallActivity)); intentVideoCall.PutExtra("type", "Twilio_video_calling_start"); } intentVideoCall.PutExtra("UserID", DataUserChat.UserId); intentVideoCall.PutExtra("avatar", DataUserChat.Avatar); intentVideoCall.PutExtra("name", DataUserChat.Name); intentVideoCall.PutExtra("time", timeNow); intentVideoCall.PutExtra("CallID", time); intentVideoCall.PutExtra("access_token", "YOUR_TOKEN"); intentVideoCall.PutExtra("access_token_2", "YOUR_TOKEN"); intentVideoCall.PutExtra("from_id", "0"); intentVideoCall.PutExtra("active", "0"); intentVideoCall.PutExtra("status", "0"); intentVideoCall.PutExtra("room_name", "TestRoom"); StartActivity(intentVideoCall); } } catch (Exception e) { Console.WriteLine(e); } }