Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        //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);
            }
        }