public void Reply(string tweetMessage, int minDelay, int maxDelay)
        {
            //Login();
            List<string> lstTemp = new List<string>();
            //if (true)
            try
            {
                TwitterDataScrapper.StructTweetIDs TweeetData = new TwitterDataScrapper.StructTweetIDs();
                if (!IsLoggedIn)
                {
                    Login();
                }

                if (IsNotSuspended)
                {
                    if (IsLoggedIn)
                    {
                        int counter_Reply = 0;

                        //foreach (TwitterDataScrapper.StructTweetIDs item in static_lst_Struct_TweetData)
                        //{
                        //    List_of_struct_Keydatafrom_tweetData_list.Enqueue(item);

                        //TweeetData = List_of_struct_Keydatafrom_tweetData_list.Dequeue();

                        while (que_ReplyMessages.Count > 0)
                        {
                            int delay = 10 * 1000;
                            int counter = 0;

                            try
                            {
                                delay = RandomNumberGenerator.GenerateRandom(minDelay, maxDelay);
                            }
                            catch (Exception ex)
                            {
                                GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Reply()-- delay  --> " + ex.Message, Globals.Path_TweetingErroLog);
                                GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetAccountManager --  Reply()  -- " + Username + " --> " + ex.Message, Globals.Path_TweetAccountManager);
                            }
                            // Code for Sending unique Reply
                            // By Puja
                            lock (locker_que_ReplyTweetMessage)
                            {
                                //if (IsreplyUniqueTweet)
                                {
                                    if (que_ReplyMessages.Count > 0)
                                    {
                                        try
                                        {
                                            tweetMessage = que_ReplyMessages.Dequeue();
                                        }
                                        catch (Exception ex)
                                        {
                                            GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Reply()-- locker_que_ReplyTweetMessage  --> " + ex.Message, Globals.Path_TweetingErroLog);
                                            GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetAccountManager --  Reply()-- locker_que_ReplyTweetMessage -- " + Username + " --> " + ex.Message, Globals.Path_TweetAccountManager);
                                        }
                                    }
                                    else
                                    {
                                        Log("[ " + DateTime.Now + " ] => [ All Loaded Tweet Messages Used ]");
                                        //break;
                                    }
                                }

                                //Code by Puja
                                #region Code for Reply Per Tweet
                                //if (IsReplyPerTweet)
                                //{

                                //    if (lstTemp.Count == 0)
                                //    {
                                //        foreach (string item in que_ReplyMessages)
                                //        {
                                //            lstTemp.Add(item);

                                //        }
                                //    }
                                //    if (counter > lstTemp.Count - 1)
                                //    {
                                //        counter = 0;
                                //    }
                                //    tweetMessage = lstTemp[counter];
                                //    counter++;

                                //}
                                #endregion

                            }

                            lock (locker_que_keywyordStructData)
                            {
                                if (List_of_struct_Keydatafrom_tweetData_list.Count > 0)
                                {
                                    try
                                    {
                                        TweeetData = List_of_struct_Keydatafrom_tweetData_list.Dequeue();
                                    }
                                    catch (Exception ex)
                                    {
                                        GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Reply()-- locker_que_ReplyTweetMessage  --> " + ex.Message, Globals.Path_TweetingErroLog);
                                        GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetAccountManager --  Reply()-- locker_que_ReplyTweetMessage -- " + Username + " --> " + ex.Message, Globals.Path_TweetAccountManager);
                                    }
                                }
                                else
                                {

                                    TwitterDataScrapper tweetScrapper = new TwitterDataScrapper();
                                    TweetAccountManager.static_lst_Struct_TweetData = tweetScrapper.GetTweetData(ReplyKeyword);
                                    foreach (TwitterDataScrapper.StructTweetIDs item in TweetAccountManager.static_lst_Struct_TweetData)
                                    {
                                        TweetAccountManager.List_of_struct_Keydatafrom_tweetData_list.Enqueue(item);
                                    }
                                    TweeetData = List_of_struct_Keydatafrom_tweetData_list.Dequeue();

                                }
                            }

                            if (!ReplyPerDay)
                            {
                                if (counter_Reply >= noOfRetweets)
                                {
                                    Log("[ " + DateTime.Now + " ] => [ Finished Replying with : " + Username + " ]");
                                    Log("------------------------------------------------------------------------------------------------------------------------------------------");
                                    break;
                                }
                            }
                            else if (ReplyPerDay)
                            {
                                if (AlreadyReply >= NoOFReplyPerDay)
                                {
                                    Log("[ " + DateTime.Now + " ] => [ Already Replied " + AlreadyReply + " ]");
                                    break;
                                }
                            }

                            //if (counter_Reply >= noOfRetweets)
                            //{
                            //    //Log("Finished Replying with : " + Username);
                            //    break;
                            //}

                            string tweetStatus;

                            tweeter.Reply(ref globusHttpHelper, pgSrc_Profile, postAuthenticityToken, TweeetData.ID_Tweet, TweeetData.username__Tweet_User, tweetMessage, out tweetStatus);

                            if (tweetStatus == "posted")
                            {
                                counter_Reply++;
                                AlreadyReply++;
                                clsDBQueryManager DataBase = new clsDBQueryManager();
                                string dbTweetMessage = string.Empty;
                                try
                                {
                                     dbTweetMessage = StringEncoderDecoder.Encode(TweeetData.wholeTweetMessage);
                                }
                                catch { }
                                DataBase.InsertMessageData(Username, "Reply", TweeetData.ID_Tweet_User, dbTweetMessage);
                                Log("[ " + DateTime.Now + " ] => [ >> Replied : " + counter_Reply + " : " + tweetMessage + " by " + Username + " ]");
                                GlobusFileHelper.AppendStringToTextfileNewLine( tweetMessage + " by " + Username, Globals.path_ReplyInformation);
                            }
                            else
                            {
                                Log("[ " + DateTime.Now + " ] => [ >>Couldn't Reply >> " + tweetMessage + " by " + Username + " ]");
                                //GlobusFileHelper.AppendStringToTextfileNewLine(Username + ":" + Password + ":" + proxyAddress + ":" + proxyPort + ":" + proxyUsername + ":" + proxyPassword, Globals.path_FailedToFollowAccounts);
                            }

                            Log("[ " + DateTime.Now + " ] => [ Reply Delayed for " + delay + " Seconds ]");
                            Thread.Sleep(delay * 1000);

                            if (ReplyPerDay)
                            {
                                if (AlreadyReply >= NoOFReplyPerDay)
                                {
                                    Log("[ " + DateTime.Now + " ] => [ Finished Replying with : " + Username + " ]");
                                    Log("------------------------------------------------------------------------------------------------------------------------------------------");
                                    break;
                                }
                            }
                            else if (que_ReplyMessages.Count <= 0)
                            {
                                Log("[ " + DateTime.Now + " ] => [ Finished Replying with : " + Username + " ]");
                                Log("------------------------------------------------------------------------------------------------------------------------------------------");
                                break;
                            }
                        }

                        //Log("Finished Replying with : " + Username);
                    }

                    else
                    {
                        Log("[ " + DateTime.Now + " ] => [ Couldn't log in with " + Username + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(Username + ":" + Password + ":" + proxyAddress + ":" + proxyPort + ":" + proxyUsername + ":" + proxyPassword, Globals.path_FailedLoginAccounts);
                    }
                }
                else
                {
                    Log("[ " + DateTime.Now + " ] => [ " + Username + ">> Account Suspended ]");
                }
            }
            catch (Exception ex)
            {
                GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Reply()  --> " + ex.Message, Globals.Path_TweetingErroLog);
                GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetAccountManager --  Reply() -- " + Username + " --> " + ex.Message, Globals.Path_TweetAccountManager);
            }
        }