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 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);
            }
        }
Example #4
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 #5
0
            //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);
                }
            }
Example #6
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);
            }
        }
        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);
            }
        }