예제 #1
0
        public void StartRetweetProcess(DataSet CompaignsDataSet, String CampaignName)
        {
            try
            {
                DataRow[] drModelDetails = CompaignsDataSet.Tables[0].Select("CampaignName = '" + CampaignName + "'");

                if (drModelDetails.Count() == 0)
                {

                }

                //Get 1st row from arrey 
                DataRow DrCampaignDetails = drModelDetails[0];


                string AcFilePath = DrCampaignDetails.ItemArray[2].ToString();
                string _retweetKeyword = DrCampaignDetails.ItemArray[3].ToString();
                bool _IsUsername = (Convert.ToInt32(DrCampaignDetails.ItemArray[5]) == 1) ? true : false;
                bool _IsUniqueMessage = (Convert.ToInt32(DrCampaignDetails.ItemArray[19]) == 1) ? true : false;
                bool _IsRetweetParDay = (Convert.ToInt32(DrCampaignDetails.ItemArray[8]) == 1) ? true : false;
                int _NoofRetweetParDay = Convert.ToInt32(DrCampaignDetails.ItemArray[9]);
                int _NoofRetweetParAc = Convert.ToInt32(DrCampaignDetails.ItemArray[10]);
                bool IsSchedulDaily = (Convert.ToInt32(DrCampaignDetails.ItemArray[12]) == 1) ? true : false;
                DateTime SchedulerStartTime = Convert.ToDateTime(DrCampaignDetails.ItemArray[13].ToString());
                DateTime SchedulerEndTime = Convert.ToDateTime(DrCampaignDetails.ItemArray[14].ToString());
                int DelayStar = Convert.ToInt32(DrCampaignDetails.ItemArray[15]);
                int DelayEnd = Convert.ToInt32(DrCampaignDetails.ItemArray[16]);
                int NoOfThreads = Convert.ToInt32(DrCampaignDetails.ItemArray[17]);

                List<string> _lstUserAccounts = new List<string>();
                List<List<CampTwitterDataScrapper.StructTweetIDs>> list_lstTargetTweetMessages = new List<List<CampTwitterDataScrapper.StructTweetIDs>>();
                classes.Cls_AccountsManager Obj_AccManger = new Cls_AccountsManager();

                //Checking Account File is Exist or not 
                if (!File.Exists(AcFilePath))
                {
                    ReTweetUserControlLog("[ " + DateTime.Now + " ] => [ Account File Doesn't Exist. Please Update Account File of Campaign " + CampaignName + " ]");
                    return;
                }
                // Get User ID and pass from File ...
                _lstUserAccounts = Globussoft.GlobusFileHelper.ReadLargeFile(AcFilePath);

                _lstUserAccounts = _lstUserAccounts.Distinct().ToList();

                if (_lstUserAccounts.Count == 0)
                {
                    MessageBox.Show("Account File is Empty.");
                    return;
                }

                if (string.IsNullOrEmpty(_retweetKeyword))
                {
                    MessageBox.Show("Re-Tweet key word is not mention.");
                    return;
                }

                CampaignTweetAccountContainer objCampaignReTweetAccountContainer = Obj_AccManger.AccountManager(_lstUserAccounts);

                ReTweetUserControlLog("[ " + DateTime.Now + " ] => [ " + objCampaignReTweetAccountContainer.dictionary_CampaignAccounts.Count + " Accounts Uploaded. ]");


                //get All tweets from entered user name 
                //Scrap Tweets using Username
                List<CampTwitterDataScrapper.StructTweetIDs> lst_Struct_TweetData = new List<CampTwitterDataScrapper.StructTweetIDs>();
                CampTwitterDataScrapper CamptweetScrapper = new CampTwitterDataScrapper();
                int noOfRecordsForUniqueMessage = (_NoofRetweetParAc * (objCampaignReTweetAccountContainer.dictionary_CampaignAccounts.Count));
                //List<string> _lstTweetMessageForUnique = new List<string>();
                int splitNo = 0;

                //Get details according to enter keyword is user name or keyword
                ReTweetUserControlLog("[ " + DateTime.Now + " ] => [ Getting Tweets from " + _retweetKeyword + " KeyWord. ]");
                CamptweetScrapper.noOfRecords = (_NoofRetweetParAc * (objCampaignReTweetAccountContainer.dictionary_CampaignAccounts.Count));
                if (_IsUsername)
                {
                    lst_Struct_TweetData = CamptweetScrapper.TweetExtractor_ByUserName_New(_retweetKeyword);
                }
                else if (_IsUniqueMessage)
                {
                    lst_Struct_TweetData = CamptweetScrapper.GetTweetData_New_ForCampaign(_retweetKeyword, noOfRecordsForUniqueMessage);

                    splitNo = lst_Struct_TweetData.Count / _lstUserAccounts.Count;
                    if (splitNo == 0)
                    {
                        splitNo = RandomNumberGenerator.GenerateRandom(0, lst_Struct_TweetData.Count - 1);
                    }
                    list_lstTargetTweetMessages = Split(lst_Struct_TweetData, splitNo);

                }
                else
                {
                    lst_Struct_TweetData = CamptweetScrapper.GetTweetData_New_ForCampaign(_retweetKeyword, _NoofRetweetParAc);

                }

                ReTweetUserControlLog("[ " + DateTime.Now + " ] => [ " + lst_Struct_TweetData.Count + " Tweet Founded. ]");

                if (lst_Struct_TweetData.Count == 0)
                {
                    ReTweetUserControlLog("[ " + DateTime.Now + " ] => [ " + lst_Struct_TweetData.Count + " Tweet Founded. ]");
                    MessageBox.Show("No records Found from " + _retweetKeyword + " Keywored.");
                    return;
                }

                MixedCampaignManager.CustomUserControls.retweetusercontrols Objretweetusercontrol = new CustomUserControls.retweetusercontrols();
                Objretweetusercontrol.retweetusercontrolslogEvents.addToLogger += new EventHandler(logEvents_addToLogger);


                ThreadPool.SetMaxThreads(NoOfThreads, NoOfThreads);
                int LstCounter = 0;
                foreach (var Account in objCampaignReTweetAccountContainer.dictionary_CampaignAccounts)
                {
                    ((CampaignAccountManager)Account.Value).logEvents.addToLogger += new EventHandler(logEvents_addToLogger);

                    if (_IsUniqueMessage)
                    {
                        lst_Struct_TweetData = list_lstTargetTweetMessages[LstCounter];
                    }

                    if (counterThreadsCampaignRetweet >= NoOfThreads)
                    {
                        lock (lockerThreadsCamapignRetweet)
                        {
                            Monitor.Wait(lockerThreadsCamapignRetweet);
                        }
                    }



                    #region New Licensing Feature Added by Sonu
                    try
                    {
                        if (Globals.IsBasicVersion || Globals.IsProVersion || Globals.IsFreeVersion)
                        {
                            string queryCheckDataBaseEmpty = "select * from tb_FBAccount";
                            DataSet DS1 = DataBaseHandler.SelectQuery(queryCheckDataBaseEmpty, "tb_FBAccount");
                            if (!(DS1.Tables[0].Rows.Count == 0))
                            {
                                DataTable DT = DS1.Tables[0];
                                bool check = DT.Select().Any(x => x.ItemArray[0].ToString() == Account.Key);
                                if (!check)
                                {
                                    System.Windows.Forms.MessageBox.Show("Please Upload this Account in Account Manager");
                                    return;
                                }
                                else
                                {
                                    Thread threadGetStartProcessForRetweet = new Thread(startRetweeting);
                                    threadGetStartProcessForRetweet.Name = CampaignName + "_" + Account.Key;
                                    threadGetStartProcessForRetweet.IsBackground = true;
                                    threadGetStartProcessForRetweet.Start(new object[] { Account, lst_Struct_TweetData, _IsRetweetParDay, _NoofRetweetParDay, _NoofRetweetParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime });
                                }
                            }
                            else
                            {
                                System.Windows.Forms.MessageBox.Show("Please Upload this Account in Account Manager");
                                return;
                            }
                        }
                        else
                        {
                            Thread threadGetStartProcessForRetweet = new Thread(startRetweeting);
                            threadGetStartProcessForRetweet.Name = CampaignName + "_" + Account.Key;
                            threadGetStartProcessForRetweet.IsBackground = true;
                            threadGetStartProcessForRetweet.Start(new object[] { Account, lst_Struct_TweetData, _IsRetweetParDay, _NoofRetweetParDay, _NoofRetweetParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime });
                        }
                    }
                    catch { };


                    #endregion

                    #region old Code
                    //Thread threadGetStartProcessForRetweet = new Thread(startRetweeting);
                    //threadGetStartProcessForRetweet.Name = CampaignName + "_" + Account.Key;
                    //threadGetStartProcessForRetweet.IsBackground = true;
                    //threadGetStartProcessForRetweet.Start(new object[] { Account, lst_Struct_TweetData, _IsRetweetParDay, _NoofRetweetParDay, _NoofRetweetParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime }); 
                    #endregion

                    Thread.Sleep(1000);
                    LstCounter++;
                }
            }
            catch (Exception Err)
            {
                ReTweetUserControlLog("[ " + DateTime.Now + " ] => [ There is some error,Retweet Process cannot be started ]");
            }
        }
예제 #2
0
        public void StartProcess(DataSet CompaignsDataSet, string CampaignName)
        {

            DataRow[] drModelDetails = CompaignsDataSet.Tables[0].Select("CampaignName = '" + CampaignName + "'");

            if (drModelDetails.Count() == 0)
            {

            }

            //Get 1st row from arrey 
            DataRow DrCampaignDetails = drModelDetails[0];

            //get details from row
            string AcFilePath = DrCampaignDetails.ItemArray[2].ToString();
            string _ReplyMsgfilePath = DrCampaignDetails.ItemArray[3].ToString();
            string _ReplyKeyword = DrCampaignDetails.ItemArray[4].ToString();
            bool _IsUsername = (Convert.ToInt32(DrCampaignDetails.ItemArray[5]) == 1) ? true : false;
            bool _IsUniqueMessage = (Convert.ToInt32(DrCampaignDetails.ItemArray[19]) == 1) ? true : false;
            bool _IsReplyParDay = (Convert.ToInt32(DrCampaignDetails.ItemArray[8]) == 1) ? true : false;
            int _NoofReplyParDay = Convert.ToInt32(DrCampaignDetails.ItemArray[9]);
            int _NoofReplyParAc = Convert.ToInt32(DrCampaignDetails.ItemArray[10]);
            bool IsSchedulDaily = (Convert.ToInt32(DrCampaignDetails.ItemArray[12]) == 1) ? true : false;
            //bool IsSchedulDaily = (Convert.ToInt32(DrCampaignDetails.ItemArray[11]) == 1) ? true : false;
            DateTime SchedulerStartTime = Convert.ToDateTime(DrCampaignDetails.ItemArray[13].ToString());
            DateTime SchedulerEndTime = Convert.ToDateTime(DrCampaignDetails.ItemArray[14].ToString());
            //int DelayStar = Convert.ToInt32(DrCampaignDetails.ItemArray[14]);
            //int DelayEnd = Convert.ToInt32(DrCampaignDetails.ItemArray[15]);
            //int NoOfThreads = Convert.ToInt32(DrCampaignDetails.ItemArray[16]);

            int DelayStar = Convert.ToInt32(DrCampaignDetails.ItemArray[15]);
            int DelayEnd = Convert.ToInt32(DrCampaignDetails.ItemArray[16]);
            int NoOfThreads = Convert.ToInt32(DrCampaignDetails.ItemArray[17]);
            bool IsDuplicateMessage = (Convert.ToInt32(DrCampaignDetails.ItemArray[22]) == 1) ? true : false;

            List<string> _lstUserAccounts = new List<string>();
            List<List<CampTwitterDataScrapper.StructTweetIDs>> list_lstTargetMessages = new List<List<CampTwitterDataScrapper.StructTweetIDs>>();

            classes.Cls_AccountsManager Obj_AccManger = new Cls_AccountsManager();

            //checking files 
            if (!File.Exists(AcFilePath))
            {
                Log("[ " + DateTime.Now + " ] => [ Account file doesn't exist. Please Update new file in campaign " + CampaignName + " ]");
                return;
            }
            else if (!File.Exists(_ReplyMsgfilePath))
            {
                Log("[ " + DateTime.Now + " ] => [ reply Message file doesn't exist. Please Update new file in campaign " + CampaignName + " ]");
                return;
            }
            else if (!File.Exists(_ReplyKeyword))
            {
                Log("[ " + DateTime.Now + " ] => [ reply Keyword file doesn't exist. Please Update new file in campaign " + CampaignName + " ]");
                return;
            }

            // Get User ID and pass from File ...
            _lstUserAccounts = Globussoft.GlobusFileHelper.ReadLargeFile(AcFilePath);

            _lstUserAccounts = _lstUserAccounts.Distinct().ToList();

            if (_lstUserAccounts.Count == 0)
            {
                MessageBox.Show("Account File is Empty.");
                return;
            }

            if (string.IsNullOrEmpty(_ReplyKeyword))
            {
                MessageBox.Show("Reply keyword File is not mention.");
                return;
            }

            CampaignManager.CampaignTweetAccountContainer objCampaignReTweetAccountContainer = Obj_AccManger.AccountManager(_lstUserAccounts);

            Log("[ " + DateTime.Now + " ] => [ " + objCampaignReTweetAccountContainer.dictionary_CampaignAccounts.Count + " Accounts Uploaded. ]");


            //Get the Reply Messages from File path 

            List<string> _lst_ReplyMessages = new List<string>();
            List<string> _lst_ReplyKeywordFile = new List<string>();

            _lst_ReplyMessages = Globussoft.GlobusFileHelper.ReadLargeFile(_ReplyMsgfilePath);

            //_lst_ReplyMessages = _lst_ReplyMessages.Distinct().ToList();
            if (!IsDuplicateMessage)
            {
                _lst_ReplyMessages = _lst_ReplyMessages.Distinct().ToList();
            }


            if (IsDuplicateMessage == true)
            {
                #region
                int countDifference = _lstUserAccounts.Count - _lst_ReplyMessages.Count;

                if (countDifference != 0)
                {
                    List<string> TemList = new List<string>();
                    for (int i = 0; i < countDifference; i++)
                    {
                        try
                        {
                            TemList.Add(_lst_ReplyMessages[i]);
                        }
                        catch (Exception ex)
                        {
                            if (ex.Message.Contains("Index was out of range"))
                            {
                                i = 0;
                            }
                        }
                        if (TemList.Count == countDifference)
                        {
                            Log("[ " + DateTime.Now + " ] => [ " + countDifference + " Duplicate Messages Uploaded. ]");
                            _lst_ReplyMessages.AddRange(TemList);
                            break;
                        }
                    }
                }
                #endregion
            }
            else if ((!IsDuplicateMessage == true) && _lstUserAccounts.Count > _lst_ReplyMessages.Count)
            {
                if (_lst_ReplyMessages.Count > 0)
                {
                    //Log("[ " + DateTime.Now + " ] => [ Message is less than accounts ]");
                    //DialogResult dialogResult = MessageBox.Show("Message is less than accounts. Do you want to repeat remaining Messages.", "Warning", MessageBoxButtons.YesNo);
                    //if (dialogResult == DialogResult.Yes)
                    {
                        #region
                        int countDifference = _lstUserAccounts.Count - _lst_ReplyMessages.Count;

                        if (countDifference != 0)
                        {
                            List<string> TemList = new List<string>();
                            for (int i = 0; i < countDifference; i++)
                            {
                                try
                                {
                                    TemList.Add(_lst_ReplyMessages[i]);
                                }
                                catch (Exception ex)
                                {
                                    if (ex.Message.Contains("Index was out of range"))
                                    {
                                        // i = 0;
                                    }
                                }
                                if (TemList.Count == countDifference)
                                {
                                    Log("[ " + DateTime.Now + " ] => [ " + countDifference + " Duplicate Messages Uploaded. ]");
                                    _lst_ReplyMessages.AddRange(TemList);
                                    break;
                                }
                            }
                        }
                        #endregion
                    }
                    //else
                    //{
                    //}
                }
            }


            _lst_ReplyKeywordFile = Globussoft.GlobusFileHelper.ReadLargeFile(_ReplyKeyword);
            _lst_ReplyKeywordFile = _lst_ReplyKeywordFile.Distinct().ToList();

            if (_lst_ReplyKeywordFile.Count == 0)
            {
                MessageBox.Show("Reply Keyword File is Empty.");
                return;
            }

            if (_lst_ReplyMessages.Count == 0)
            {
                MessageBox.Show("Tweet Message File is Empty.");
                return;
            }


            //Add remaining messages
            if (_lstUserAccounts.Count > _lst_ReplyMessages.Count)
            {
                Log("[ " + DateTime.Now + " ] => [ Message is less than accounts ]");
                DialogResult dialogResult = MessageBox.Show("Message is less than accounts. Do you want to repeat remaining Messages.", "Warning", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    #region
                    int countDifference = _lstUserAccounts.Count - _lst_ReplyMessages.Count;

                    if (countDifference != 0)
                    {
                        List<string> TemList = new List<string>();
                        for (int i = 0; i < countDifference; i++)
                        {
                            try
                            {
                                TemList.Add(_lst_ReplyMessages[i]);
                            }
                            catch (Exception ex)
                            {
                                if (ex.Message.Contains("Index was out of range"))
                                {
                                    i = 0;
                                }
                            }
                            if (TemList.Count == countDifference)
                            {
                                Log("[ " + DateTime.Now + " ] => [ " + countDifference + " Duplicate Messages Uploaded. ]");
                                _lst_ReplyMessages.AddRange(TemList);
                                break;
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    #region Puja
                    //int count = _lst_ReplyMessages.Count;
                    //Queue<string> queUserAccount = new Queue<string>();
                    //Queue<string> queReplyMessages = new Queue<string>();
                    //for (int i = 0; i < count; i++)
                    //{
                    //    try
                    //    {
                    //        queUserAccount.Enqueue(_lstUserAccounts[i].ToString());
                    //    }
                    //    catch { }
                    //}
                    //foreach (string item in _lst_ReplyMessages)
                    //{
                    //    try
                    //    {
                    //        queReplyMessages.Enqueue(item);
                    //    }
                    //    catch
                    //    { }
                    //}

                    //_lstUserAccounts.Clear();

                    ////  queUserAccount.Dequeue(_lstUserAccounts(_item));



                    //foreach (string _item in queUserAccount)
                    //{
                    //    try
                    //    {
                    //        _lstUserAccounts.Add(queUserAccount.Dequeue());
                    //    }
                    //    catch
                    //    { }
                    //} 
                    #endregion

                   
                }
            }

            Log("[ " + DateTime.Now + " ] => [ " + _lst_ReplyMessages.Count + " Reply Messages uploaded. ]");

            //get All tweets from entered user name 
            //Scrap Tweets using Username

            List<CampTwitterDataScrapper.StructTweetIDs> lst_Struct_ReplyData = new List<CampTwitterDataScrapper.StructTweetIDs>();

            List<CampTwitterDataScrapper.StructTweetIDs> lst_Struct_ReplyDataTemp = new List<CampTwitterDataScrapper.StructTweetIDs>();

            CampTwitterDataScrapper CamptweetScrapper = new CampTwitterDataScrapper();

           int noOfRecordsForUniqueMessage = (_NoofReplyParAc * (objCampaignReTweetAccountContainer.dictionary_CampaignAccounts.Count));
           //List<string> _lstTweetMessageForUnique = new List<string>();
           int splitNo = 0;
            //Get details according to enter keyword is user name or keyword

            CamptweetScrapper.noOfRecords = (_NoofReplyParAc * (objCampaignReTweetAccountContainer.dictionary_CampaignAccounts.Count));

            Log("[ " + DateTime.Now + " ] => [ Getting  tweets. ]");
            foreach (string _ReplyKeywordTemp in _lst_ReplyKeywordFile)
            {
                if (_IsUsername)
                {
                    lst_Struct_ReplyDataTemp = CamptweetScrapper.TweetExtractor_ByUserName_New(_ReplyKeywordTemp);

                }
                
                else
                {
                    lst_Struct_ReplyDataTemp = CamptweetScrapper.GetTweetData_New_ForCampaign(_ReplyKeywordTemp, _NoofReplyParAc);

                    
                }

                lst_Struct_ReplyData.AddRange(lst_Struct_ReplyDataTemp);
            }

            if (_IsUniqueMessage)
            {
               // lst_Struct_ReplyDataTemp = CamptweetScrapper.GetTweetData_New_ForCampaign(_ReplyKeywordTemp, noOfRecordsForUniqueMessage);

                splitNo = lst_Struct_ReplyData.Count / _lstUserAccounts.Count;
                if (splitNo == 0)
                {
                    splitNo = RandomNumberGenerator.GenerateRandom(0, lst_Struct_ReplyData.Count - 1);
                }
                list_lstTargetMessages = Split(lst_Struct_ReplyData, splitNo);

            }


            Log("[ " + DateTime.Now + " ] => [ Tweet found process completed. ]");
            if (lst_Struct_ReplyData.Count == 0)
            {
                Log("[ " + DateTime.Now + " ] => [ " + lst_Struct_ReplyData.Count + " Tweet Founded. ]");
                MessageBox.Show("No records Found from " + _ReplyKeyword + " Keywords.");
                return;
            }
            else
                Log("[ " + DateTime.Now + " ] => [ " + lst_Struct_ReplyData.Count + " Tweet Founded. ]");


            int LstCounter = 0;
            foreach (var Account in objCampaignReTweetAccountContainer.dictionary_CampaignAccounts)
            {
                ((CampaignAccountManager)Account.Value).logEvents.addToLogger += new EventHandler(logEvents_addToLogger);

                //ThreadPool.QueueUserWorkItem(new WaitCallback(GetStartReply), new object[] { Account, lst_Struct_ReplyData, _lst_ReplyMessages, _IsReplyParDay, _NoofReplyParDay, _NoofReplyParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime });
                //GetStartReply(new object[] { Account, lst_Struct_ReplyData, _lst_ReplyMessages, _IsReplyParDay, _NoofReplyParDay, _NoofReplyParAc, DelayStar, DelayEnd, CampaignName });
                if (LstCounter == list_lstTargetMessages.Count && (_IsUniqueMessage))
                {
                    Log("[ " + DateTime.Now + " ] => [ Account is greater than List of tweets. ]");
                    break;
                }

                if (_IsUniqueMessage)
                {
                    lst_Struct_ReplyData = list_lstTargetMessages[LstCounter];
                }
                

                if (counterThreadsCampaignReply >= NoOfThreads)
                {
                    lock (lockerThreadsCampaignReply)
                    {
                        Monitor.Wait(lockerThreadsCampaignReply);
                    }
                }

                #region New Licensing Feature Added By Sonu
                try
                {
                    if (Globals.IsBasicVersion || Globals.IsProVersion || Globals.IsFreeVersion)
                    {
                        string queryCheckDataBaseEmpty = "select * from tb_FBAccount";
                        DataSet DS1 = DataBaseHandler.SelectQuery(queryCheckDataBaseEmpty, "tb_FBAccount");
                        if (!(DS1.Tables[0].Rows.Count == 0))
                        {
                            DataTable DT = DS1.Tables[0];
                            bool check = DT.Select().Any(x => x.ItemArray[0].ToString() == Account.Key);
                            if (!check)
                            {
                                System.Windows.Forms.MessageBox.Show("Please Upload this Account in Account Manager");
                                return;
                            }
                            else
                            {
                                Thread threadGetStartProcessForReply = new Thread(GetStartReply);
                                threadGetStartProcessForReply.Name = CampaignName + "_" + Account.Key;
                                threadGetStartProcessForReply.IsBackground = true;
                                threadGetStartProcessForReply.Start(new object[] { Account, lst_Struct_ReplyData, _lst_ReplyMessages, _IsReplyParDay, _NoofReplyParDay, _NoofReplyParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime });
                            }
                        }
                        else
                        {
                            System.Windows.Forms.MessageBox.Show("Please Upload this Account in Account Manager");
                            return;
                        }
                    }
                    else
                    {
                        Thread threadGetStartProcessForReply = new Thread(GetStartReply);
                        threadGetStartProcessForReply.Name = CampaignName + "_" + Account.Key;
                        threadGetStartProcessForReply.IsBackground = true;
                        threadGetStartProcessForReply.Start(new object[] { Account, lst_Struct_ReplyData, _lst_ReplyMessages, _IsReplyParDay, _NoofReplyParDay, _NoofReplyParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime });
                    }
                }
                catch { };
                #endregion

                #region old Code
                //Thread threadGetStartProcessForReply = new Thread(GetStartReply);
                //threadGetStartProcessForReply.Name = CampaignName + "_" + Account.Key;
                //threadGetStartProcessForReply.IsBackground = true;
                //threadGetStartProcessForReply.Start(new object[] { Account, lst_Struct_ReplyData, _lst_ReplyMessages, _IsReplyParDay, _NoofReplyParDay, _NoofReplyParAc, DelayStar, DelayEnd, CampaignName, IsSchedulDaily, SchedulerEndTime });
                #endregion

                Thread.Sleep(1000);
                LstCounter++;
            }
        }