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 ]"); } }
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 ]"); } }