Exemple #1
0
        private void ReloadAccountsFromDataBase()
        {
            try
            {
                clsLDAccount objclsFBAccount = new clsLDAccount();
                DataTable dt = objclsFBAccount.SelectAccoutsForGridView();

                if (dt.Rows.Count > 0)
                {
                    Globals.listAccounts.Clear();
                    LinkedInManager.linkedInDictionary.Clear();
                    ///Add LinkedIn instances to LinkedInAccountContainer.dictionary_LinkedInDictionary
                    foreach (DataRow dRow in dt.Rows)
                    {
                        try
                        {
                            LinkedInMaster linkedin = new LinkedInMaster();
                            linkedin._Username = dRow[0].ToString();
                            linkedin._Password = dRow[1].ToString();
                            linkedin._ProxyUsername = dRow[2].ToString();
                            linkedin._ProxyPort = dRow[3].ToString();
                            linkedin._ProxyUsername = dRow[4].ToString();
                            linkedin._ProxyPassword = dRow[5].ToString();

                            if (!string.IsNullOrEmpty(dRow[5].ToString()))
                            {
                                linkedin.profileStatus = int.Parse(dRow[5].ToString());
                            }

                            Globals.listAccounts.Add(linkedin._Username + ":" + linkedin._Password + ":" + linkedin._ProxyAddress + ":" + linkedin._ProxyPort + ":" + linkedin._ProxyUsername + ":" + linkedin._ProxyPassword);
                            LinkedInManager.linkedInDictionary.Add(linkedin._Username, linkedin);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.StackTrace);
                            GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> ReloadAccountsFromDataBase() -- Rows From DB --> " + ex.Message + "StackTrace --> >>>" + ex.StackTrace, Globals.Path_ProxySettingErroLog);
                            GlobusFileHelper.AppendStringToTextfileNewLine("Error --> ReloadAccountsFromDataBase() -- Rows From DB --> " + ex.Message + "StackTrace --> >>>" + ex.StackTrace, Globals.Path_LinkedinErrorLogs);
                        }
                    }
                    Console.WriteLine(Globals.listAccounts.Count + " Accounts loaded");
                    AddLoggerGeneral("[ " + DateTime.Now + " ] => [ " + Globals.listAccounts.Count + " Accounts loaded ]");
                }
            }
            catch (Exception ex)
            {
                GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> ReloadAccountsFromDataBase() --> " + ex.Message + "StackTrace --> >>>" + ex.StackTrace, Globals.Path_ProxySettingErroLog);
                GlobusFileHelper.AppendStringToTextfileNewLine("Error --> ReloadAccountsFromDataBase() --> " + ex.Message + "StackTrace --> >>>" + ex.StackTrace, Globals.Path_LinkedinErrorLogs);
            }
        }
        public void TestConnectPageSearch(string pageNumber, int DelayStart, int DelayEnd)
        {
            int proxyport = 888;
            string SummaryLink = string.Empty;

            Regex PortCheck = new Regex("^[0-9]*$");

            if (PortCheck.IsMatch(_ProxyPort) && !string.IsNullOrEmpty(_ProxyPort))
            {
                proxyport = int.Parse(_ProxyPort);
            }

            //recive the page number and then hit page wise and find the url in which we need to send the request.....

            string UrlConnectpage = "http://www.linkedin.com/search/fpsearch?keywords=" + _ConnectSearchKeyword + "&keepFacets=keepFacets&page_num=" + pageNumber + "&pplSearchOrigin=ADVS&viewCriteria=2&sortCriteria=R&redir=redir";
            //            string PgSrcMain1 = HttpHelper.getHtmlfromUrlProxy1(new Uri(UrlConnectpage), _ProxyAddress, proxyport, _ProxyUserName, _ProxyPassword);
            string PgSrcMain1 = HttpHelper.getHtmlfromUrlProxy1(new Uri(UrlConnectpage), _ProxyAddress, proxyport, _ProxyUserName, _ProxyPassword);

            string PostData = string.Empty;
            string page_num = string.Empty;
            string postUrl = string.Empty;
            string facetsOrder = string.Empty;

            if (PgSrcMain1.Contains("facetsOrder"))
            {
                facetsOrder = PgSrcMain1.Substring(PgSrcMain1.IndexOf("facetsOrder"), 200);
                string[] Arr = facetsOrder.Split('"');
                facetsOrder = Arr[2];
                string DecodedCharTest = Uri.UnescapeDataString(facetsOrder);
                string DecodedEmail = Uri.EscapeDataString(facetsOrder);
                facetsOrder = DecodedEmail;
            }

            page_num = pageNumber;

            PostData = "searchLocationType=Y&inNetworkSearch=inNetworkSearch&search=&viewCriteria=2&sortCriteria=C&facetsOrder=" + facetsOrder + "&page_num=" + page_num + "&openFacets=N%2CCC%2CG";
            postUrl = "http://www.linkedin.com/vsearch/p?page_num=" + page_num + "&orig=ADVS&keywords=" + _ConnectSearchKeyword + "";

            //Diclaration For Post Add Connection For Keyword
            string Val_goback = string.Empty;
            string Val_sourceAlias = string.Empty;
            string Val_key = string.Empty;
            string Val_defaultText = string.Empty;
            string Val_firstName = string.Empty;
            string Val_CsrToken = string.Empty;
            string Val_Subject = string.Empty;
            string Val_greeting = string.Empty;
            string Val_AuthToken = string.Empty;
            string Val_AuthType = string.Empty;
            string val_trk = string.Empty;
            string Val_lastName = string.Empty;

            //Post Response
            string postResponse = HttpHelper.postFormDataProxy(new Uri(postUrl), PostData, _ProxyAddress, proxyport, _ProxyUserName, _ProxyPassword);
              //  List<string> PageSerchUrl = ChilkatBasedRegex.GettingAllUrls2(postResponse, "profile/view?id");
            List<string> PageSerchUrl = ChilkatBasedRegex.GettingAllUrls2(postResponse, "profile/view?id");

            if (PageSerchUrl.Count == 0)
            {
                LoggerManageConnection("[--------------------------------------------------------------------------------------------------]");
                LoggerManageConnection("[ " + DateTime.Now + " ] => [ No url found in 2nd degree connection in page no : " + page_num + " ]");
                LoggerManageConnection("[--------------------------------------------------------------------------------------------------]");
            }
            else
            {
                LoggerManageConnection("[--------------------------------------------------------------------------------------------------]");
                LoggerManageConnection("[ " + DateTime.Now + " ] => [ " + PageSerchUrl.Count() + " url found in 2nd degree connection in page no : " + page_num + " ]");
                LoggerManageConnection("[--------------------------------------------------------------------------------------------------]");
            }

            string FrnAcceptUrL = string.Empty;
            foreach (string item in PageSerchUrl)
            {

                try
                {
                    if (IsSheduleDaily)
                    {
                        if (SchedulerEndTime.Hour == DateTime.Now.Hour && DateTime.Now.Minute >= SchedulerEndTime.Minute)
                        {
                            _IsFollowProcessStart = true;
                            new Thread(() =>
                            {
                                //frm_mixcampaignmanager frmcamp = new frm_mixcampaignmanager();
                                //frmcamp.StoprunningCampaign(CampaignName);

                                RaiseCampaignSearchLogEvents(campaignName);
                                RaiseCampaignStartLogEvents(campaignName);

                            }).Start();

                            LoggerManageConnection("[ " + DateTime.Now + " ] => [ Scheduled time completed  ]");
                            break;
                        }
                    }
                    FrnAcceptUrL = item;
                    string[] tempUrl = Regex.Split(FrnAcceptUrL, "&authType");
                    DataSet dt = new DataSet();
                    try
                    {
                        dt = DataBaseHandler.SelectQuery("SELECT * FROM tb_SearchWithInvite Where UserName = '******' and InvitationUrl = '" + tempUrl[0] + "'", "tb_SearchWithInvite");
                    }
                    catch { }
                    int count_NO_RoWs = dt.Tables[0].Rows.Count;
                    if (count_NO_RoWs == 0)
                    {
                        string FRNURLresponce = HttpHelper.getHtmlfromUrl1(new Uri(FrnAcceptUrL));

                        if (FRNURLresponce.Contains("/profile/view?id="))
                        {
                            try
                            {
                                Val_key = FRNURLresponce.Substring(FRNURLresponce.IndexOf("/profile/view?id="), 30);
                                string[] Arr = Val_key.Split('&');
                                Val_key = Arr[0].Replace("/profile/view?id=", "");
                            }
                            catch (Exception ex)
                            {

                            }

                        }
                        if (FrnAcceptUrL.Contains("/profile/view?id="))
                        {
                            try
                            {
                                Val_key = FrnAcceptUrL.Substring(FrnAcceptUrL.IndexOf("id="), (FrnAcceptUrL.IndexOf("&", FrnAcceptUrL.IndexOf("id=")) - FrnAcceptUrL.IndexOf("id="))).Replace("id=", string.Empty).Trim();

                            }
                            catch (Exception ex)
                            {

                            }

                        }

                        if (FRNURLresponce.Contains("csrfToken"))
                        {
                            try
                            {
                                Val_CsrToken = FRNURLresponce.Substring(FRNURLresponce.IndexOf("csrfToken"), 100);
                                string[] Arr = Val_CsrToken.Split('>'); //Val_CsrToken.Split('&');
                                Val_CsrToken = Arr[0].Replace("csrfToken=", "").Replace("\"", "").Trim();
                            }
                            catch (Exception ex)
                            {
                            }

                        }

                        if (FRNURLresponce.Contains("authToken"))
                        {
                            try
                            {
                             //   Val_AuthToken = FRNURLresponce.Substring(FRNURLresponce.IndexOf("authToken"), 50);
                            //    string[] Arr = Val_AuthToken.Split('&');
                           //     Val_AuthToken = Arr[0].Replace("authToken=", "");
                                int startindex = FRNURLresponce.IndexOf("authToken");
                                string start = FRNURLresponce.Substring(startindex);
                                int endindex = start.IndexOf(",");
                                string end = start.Substring(0, endindex);
                                Val_AuthToken = end.Replace(",", string.Empty).Replace("authToken=", string.Empty).Replace("\"", string.Empty).Trim();
                                if (Val_AuthToken.Contains("&"))
                                {
                                    string[] Arr = Val_AuthToken.Split('&');
                                    Val_AuthToken = Arr[0].Replace("authToken=", string.Empty);
                                }
                                if (Val_AuthToken.Contains("</noscript>"))
                                {
                                    try
                                    {
                                        string[] Val_Auth = Regex.Split(Val_AuthToken, ">");
                                        Val_AuthToken = Val_Auth[0].Replace("\"", string.Empty);
                                    }
                                    catch { }
                                }
                                // Val_AuthToken="2p6r";
                            }
                            catch (Exception ex)
                            {

                            }
                        }
                        if (FRNURLresponce.Contains("authType"))
                        {
                            try
                            {
                                Val_AuthType = FRNURLresponce.Substring(FRNURLresponce.IndexOf("authType"), 50);
                                string[] Arr = Val_AuthType.Split('&');
                                Val_AuthType = Arr[0].Replace("authType=", "");
                                if (Val_AuthType.Contains("</noscript>"))
                                {
                                    Val_AuthType = Val_AuthType.Replace("</noscript>", string.Empty).Replace("\n", string.Empty).Replace(">", string.Empty).Replace("\\", string.Empty).Replace("\"", string.Empty).Trim();
                                }
                                try
                                {
                                    if (string.IsNullOrEmpty(Val_AuthType))
                                    {
                                        Val_AuthType = "OUT_OF_NETWORK";
                                    }

                                }
                                catch { }
                                //authType=
                            }
                            catch (Exception ex)
                            {

                            }
                        }

                        if (FRNURLresponce.Contains("goback"))
                        {
                            try
                            {
                                Val_goback = FRNURLresponce.Substring(FRNURLresponce.IndexOf("goback"), 300);
                                string[] Arr = Val_goback.Split('"');
                                Val_goback = Arr[0].Replace("goback=", "");
                            }
                            catch (Exception ex)
                            {

                            }
                        }
                        if (FRNURLresponce.Contains("trk"))
                        {
                            try
                            {
                                val_trk = FRNURLresponce.Substring(FRNURLresponce.IndexOf("trk"), 100);
                                string[] Arr = val_trk.Split(',');
                                val_trk = Arr[0].Replace("trk=", "").Replace("\"", string.Empty);
                            }
                            catch (Exception ex)
                            {

                            }
                        }

                        if (FRNURLresponce.Contains("lastName"))
                        {
                            try
                            {

                                Val_lastName = FRNURLresponce.Substring(FRNURLresponce.IndexOf("View Profile"), 300);
                                try
                                {
                                    string[] Arr = Val_lastName.Split(':');
                                    Val_lastName = Arr[2].Replace("firstName", "").Replace(",", "").Replace("\"", "").Replace("&#225;", string.Empty).Trim();
                                }
                                catch { }
                            }
                            catch (Exception ex)
                            {

                            }
                        }

                        if (FRNURLresponce.Contains("firstName") || FRNURLresponce.Contains("ShortTitle"))
                        {
                            try
                            {
                                if (FRNURLresponce.Contains("firstName"))
                                {

                                    try
                                    {
                                        Val_firstName = FRNURLresponce.Substring(FRNURLresponce.IndexOf("View Profile"), 300);
                                        string[] Arr = Val_firstName.Split(':');
                                       // Val_firstName = Arr[3].Replace("lastName=", "").Replace("i18n_HEADLINE", string.Empty).Replace("\"", "").Replace(",", string.Empty).Replace("}", string.Empty).Trim();
                                        Val_firstName = Arr[3].Replace("lastName=", "").Replace("i18n_HEADLINE", string.Empty).Replace("\"", "").Replace(",", string.Empty).Replace("}", string.Empty).Replace("link__endpoint", "").Trim();
                                    }
                                    catch { }
                                }
                                else if (FRNURLresponce.Contains("ShortTitle"))
                                {
                                    Val_firstName = FRNURLresponce.Substring(FRNURLresponce.IndexOf("ShortTitle"), 30);
                                    string[] Arr = Val_firstName.Split('"');
                                    Val_firstName = Arr[2].Replace("ShortTitle=", "");
                                }

                            }
                            catch (Exception ex)
                            {

                            }

                        }

                        //Frnd Requset Send Option URl
                        //markAsReadOnClick
                        try
                        {
                            string[] Valuesss = Regex.Split(FRNURLresponce, "markAsReadOnClick");
                            try
                            {
                                Val_goback = Valuesss[1].Substring(Valuesss[1].IndexOf("goback="), (Valuesss[1].IndexOf(",", Valuesss[1].IndexOf("goback=")) - Valuesss[1].IndexOf("goback="))).Replace("goback=", string.Empty).Trim();

                            }
                            catch
                            { }

                        }
                        catch { }

                      //  string thiredResponce = "http://www.linkedin.com/people/invite?from=profile&key=" + Val_key + "&firstName=" + Val_firstName + "&lastName=" + Val_lastName + "&authToken=" + Val_AuthToken + "&authType=" + Val_AuthType + "&goback=" + Val_goback + "&trk=prof-0-sb-connect-button";
                        string thiredResponce = "http://www.linkedin.com/people/invite?from=profile&key=" + Val_key + "&firstName=" + Val_firstName + "&lastName=" + Val_lastName + "&authToken=" + Val_AuthToken + "&authType=" + Val_AuthType + "&csrfToken=" + Val_CsrToken + "&goback=" + Val_goback;
                        string pageResponce2 = HttpHelper.getHtmlfromUrl1(new Uri(thiredResponce));

                        if (pageResponce2.Contains("You and this LinkedIn user don’t know anyone in common"))
                        {
                            string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                            string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                            string CSV_Content = _UserName + "," + _ConnectSearchKeyword + ", ," + url[0];
                            CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_ConnectionThroughUnkonwPeopleLink);
                            LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                            valid = false;
                            Isaccountvalid = false;
                            continue;
                        }

                        if (pageResponce2.Contains("sourceAlias"))
                        {
                            try
                            {
                                Val_sourceAlias = pageResponce2.Substring(pageResponce2.IndexOf("sourceAlias"), 100);
                                string[] Arr = Val_sourceAlias.Split('"');
                                Val_sourceAlias = Arr[2];
                            }
                            catch (Exception ex)
                            {

                            }
                        }
                        string[] strNameValue = Regex.Split(pageResponce2, "name=");

                        #region ForspintaxMessage
                        string msgBodyCompose = string.Empty;
                        if (isSpinTaxSearchWithInvite)
                        {
                            try
                            {
                                msgBodyCompose = UpdatelistGreetMessatge[RandomNumberGenerator.GenerateRandom(0, UpdatelistGreetMessatge.Count - 1)];

                            }
                            catch
                            {
                            }
                        }
                        else
                        {
                            msgBodyCompose = MessageWithoutspintax;
                        }
                        #endregion

                        #region DecareVariable By Sanjeev
                        string iweReconnectSubmit = string.Empty;
                        string iweLimitReached = string.Empty;
                        string companyID0 = string.Empty;
                        string companyName0 = string.Empty;
                        //companyName.0
                        string companyID1 = string.Empty;
                        string schoolID = string.Empty;
                        string schoolcountryCode = string.Empty;
                        string schoolprovinceCode = string.Empty;
                        string subject = string.Empty;
                        string defaultText = string.Empty;
                        string csrfToken = string.Empty;
                        string sourceAlias = string.Empty;
                        string goback = string.Empty;
                        string titleIC0 = string.Empty;
                        string greeting = string.Empty;
                        string startYearIC0 = string.Empty;
                        string endYearIC0 = string.Empty;
                        string schoolText = string.Empty;
                        string titleIB0 = string.Empty;
                        string startYearIB0 = string.Empty;
                        string trk = string.Empty;
                        string authType = string.Empty;
                        string otheremail = string.Empty;
                        string firstName = string.Empty;
                        string lastName = string.Empty;
                        #endregion

                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"authType");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            authType = (strValue);

                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"authType");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            authType = (strValue);

                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"trk");
                            int tempstartIndex = ArrForValue[1].IndexOf("id=\"");
                            string strValue = ArrForValue[1].Substring(tempstartIndex).Replace("id=\"", "");
                            strValue = strValue.Substring(0, strValue.IndexOf("\""));
                            // string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("type="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("type=")) - ArrForValue[1].IndexOf("type=")).Replace("type=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            trk = (strValue).Trim();

                        }
                        catch { }
                        #endregion

                        //schoolText titleIB.0=

                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"subject");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            subject = (strValue);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"defaultText");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            defaultText = (strValue);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"csrfToken");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            csrfToken = (strValue);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"sourceAlias");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            sourceAlias = (strValue);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"goback");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            goback = (strValue).Replace("&quot;", "%22").Replace(":", "%3A").Replace(",", "%2C").Replace("/", "%2F").Replace("{", "%7B").Replace(" ", "+");
                        }
                        catch { }
                        #endregion

                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"otherEmail");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            otheremail = (strValue);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"iweLimitReached");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            iweLimitReached = (strValue);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            try
                            {
                                string[] ArrForValue = Regex.Split(pageResponce2, "name=\"iweReconnectSubmit");
                                string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("class=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                                iweReconnectSubmit = (strValue);
                            }
                            catch { }
                            try
                            {
                                if (iweReconnectSubmit.Contains(">") || iweReconnectSubmit.Contains(">"))
                                {
                                    iweReconnectSubmit = "Send Invitation";
                                }
                            }
                            catch { }
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            try
                            {
                                #region greetmessageparse
                                //string[] ArrForValue = Regex.Split(pageResponce2, "name=\"greeting");
                                //string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("class=\"message\">"), ArrForValue[1].IndexOf("<", ArrForValue[1].IndexOf("class=\"message\">")) - ArrForValue[1].IndexOf("class=\"message\">")).Replace("class=\"message\">", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                                //greeting = (strValue);
                                //greeting = greeting.Replace(" ", "+");
                                //greeting = Uri.EscapeUriString(greeting);
                                //greeting = greeting.Remove(greeting.IndexOf("@"));  //added new
                                #endregion
                                greeting = msgBodyCompose.Replace(",", "+").Replace(" ", "+").Replace("++", "+");

                            }
                            catch { }
                            try
                            {
                                if (iweReconnectSubmit.Contains(">") || iweReconnectSubmit.Contains(">"))
                                {
                                    //iweReconnectSubmit = "Send Invitation";
                                }
                            }
                            catch { }
                        }
                        catch { }
                        #endregion

                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"firstName");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                            firstName = (strValue).Replace("&#225;", string.Empty);
                        }
                        catch { }
                        #endregion
                        #region
                        try
                        {
                            string[] ArrForValue = Regex.Split(pageResponce2, "name=\"lastName");
                            string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("value="), ArrForValue[1].IndexOf("id=", ArrForValue[1].IndexOf("value=")) - ArrForValue[1].IndexOf("value=")).Replace("value=", string.Empty).Replace("\\\"", string.Empty).Replace(",", ";").Replace("\"", string.Empty).Trim());
                            lastName = (strValue);
                        }
                        catch { }
                        #endregion
                      /*  #region
                        try
                        {
                            try
                            {
                                string[] ArrForValue = Regex.Split(pageResponce2, "name=\"greeting");
                                string strValue = (ArrForValue[1].Substring(ArrForValue[1].IndexOf("class=\"message\">"), ArrForValue[1].IndexOf("<", ArrForValue[1].IndexOf("class=\"message\">")) - ArrForValue[1].IndexOf("class=\"message\">")).Replace("class=\"message\">", string.Empty).Replace("\\\"", string.Empty).Replace("\"", string.Empty).Trim());
                                greeting = (strValue);
                                greeting = greeting.Replace("&#39;", "'");
                                greeting = greeting.Replace(" ", "+");
                                greeting = Uri.EscapeUriString(greeting);
                                greeting = greeting.Remove(greeting.IndexOf("@"));  //added new
                            }
                            catch { }
                            try
                            {
                                if (iweReconnectSubmit.Contains(">") || iweReconnectSubmit.Contains(">"))
                                {
                                    //iweReconnectSubmit = "Send Invitation";
                                }
                            }
                            catch { }
                        }
                        catch { }
                        #endregion */

                        string lastPostUrl = "http://www.linkedin.com/people/iweReconnectAction";

                        //
                        //*********post request for last process of send request

                        string NameOfSender = _UserName.Remove(_UserName.IndexOf("@"));
                        // tab-name username">
                        string SenderName = string.Empty;
                        try
                        {
                          //  SenderName = FRNURLresponce.Substring(FRNURLresponce.IndexOf("tab-name username\">"), (FRNURLresponce.IndexOf("<", FRNURLresponce.IndexOf("tab-name username\">")) - FRNURLresponce.IndexOf("tab-name username\">"))).Replace("tab-name username\">", string.Empty).Trim().Replace("tab-name username\">", string.Empty);
                            int startindex = FRNURLresponce.IndexOf("class=\"act-set-name-split-link\">");
                            string start = FRNURLresponce.Substring(startindex).Replace("class=\"act-set-name-split-link\">", string.Empty);
                            int endindex = start.IndexOf("</a>");
                            string end = start.Substring(0,endindex).Replace("</a>",string.Empty);
                            NameOfSender = end.Trim();
                         //   NameOfSender = Uri.EscapeUriString(SenderName);
                        }
                        catch { }
                        greeting = greeting.Replace("<FIRSTNAME>", Val_firstName).Replace("<PROFILEFIRSTNAME>", NameOfSender);

                    //    greeting = greeting.Replace("<FIRSTNAME>", firstName).Replace("<PROFILEFIRSTNAME>", NameOfSender);

                       // string LastPostData = "companyName.0=" + companyName0 + "titleIC.0=" + titleIC0 + "&startYearIC.0=" + startYearIC0 + "&endYearIC.0=" + endYearIC0 + "&schoolText=" + schoolText + "&schoolID=" + schoolID + "&companyName.1=" + companyName0 + "&titleIB.0=" + titleIB0 + "&startYearIB.0=" + startYearIB0 + "&endYearIB.0=" + endYearIC0 + "&reason=IF&otherEmail=" + otheremail + "&greeting=" + greeting + "&iweReconnectSubmit=" + iweReconnectSubmit.Replace(" ", "+") + "&key=" + Val_key + "&firstName=" + firstName + "&lastName=" + lastName + "&authToken=" + Val_AuthToken + "&authType=" + Val_AuthType + "&trk=" + trk + "&iweLimitReached=false&companyID.0=" + companyID0 + "&companyID.1=" + companyID1 + "&schoolID=" + schoolID + "&schoolcountryCode=" + schoolcountryCode + "&schoolprovinceCode=" + schoolprovinceCode + "&javascriptEnabled=false&subject=" + subject.Replace(" ", "+") + "&defaultText=" + defaultText + "&csrfToken=" + Val_CsrToken + "&sourceAlias=" + sourceAlias + "&goback=" + goback;
                        string LastPostData = "companyName.0=" + companyName0 + "titleIC.0=" + titleIC0 + "&startYearIC.0=" + startYearIC0 + "&endYearIC.0=" + endYearIC0 + "&schoolText=" + schoolText + "&schoolID=" + schoolID + "&companyName.1=" + companyName0 + "&titleIB.0=" + titleIB0 + "&startYearIB.0=" + startYearIB0 + "&endYearIB.0=" + endYearIC0 + "&reason=IF&otherEmail=" + otheremail + "&greeting=" + greeting + "&iweReconnectSubmit=" + iweReconnectSubmit.Replace(" ", "+") + "&key=" + Val_key + "&firstName=" + firstName + "&lastName=" + lastName + "&authToken=" + Val_AuthToken + "&authType=" + Val_AuthType + "&trk=" + trk + "&iweLimitReached=false&companyID.0=" + companyID0 + "&companyID.1=" + companyID1 + "&schoolID=" + schoolID + "&schoolcountryCode=" + schoolcountryCode + "&schoolprovinceCode=" + schoolprovinceCode + "&javascriptEnabled=false&subject=" + subject.Replace(" ", "+") + "&defaultText=" + defaultText + "&csrfToken=" + Val_CsrToken + "&sourceAlias=" + sourceAlias + "&goback=" + Val_goback;
                        string postResponse1 = HttpHelper.postFormDataProxy(new Uri(lastPostUrl), LastPostData, _ProxyAddress, proxyport, _ProxyUserName, _ProxyPassword);
                        //Esuccess
                        string FinalValue = string.Empty;
                        try
                        {
                            FinalValue = postResponse1.Substring(postResponse1.IndexOf("Esuccess"), (postResponse1.IndexOf(">", postResponse1.IndexOf("Esuccess")) - postResponse1.IndexOf("Esuccess"))).Replace("Esuccess", string.Empty).Trim();
                            FinalValue = Uri.UnescapeDataString(FinalValue);
                            string[] valuess = Regex.Split(FinalValue, ",");
                            FinalValue = valuess[0].Replace("=", string.Empty).Replace("\"", string.Empty);

                        }
                        catch { }
                        try
                        {
                            string lastGetResponse = HttpHelper.getHtmlfromUrl1(new Uri("http://www.linkedin.com/people/pymk?goback=" + Val_goback + "&trk=" + val_trk + "&report%2Esuccess=" + FinalValue));
                        }
                        catch { }
                        if (postResponse1.Contains("You must confirm your primary email address before sending an invitation."))
                        {
                            LoggerManageConnection("[ " + DateTime.Now + " ] => [ " + _UserName + "You must confirm your primary email address before sending an invitation. ]");
                            valid = false;
                            PageNumber = 0;
                            Isaccountvalid = false;
                            break;
                        }

                        if ((!(pageResponce2.Contains("emailAddress-invitee-invitation"))) && (!(pageResponce2.Contains("Why do I have to enter an email address when I send an Invitation?"))))
                        {

                            //else if (postResponse1.Contains("<strong>Invitation to"))
                            //  if (postResponse1.Contains("<strong>Invitation to"))
                            if (postResponse1.Contains("<strong>Invitations") || postResponse1.Contains("Invitation sent"))
                            {
                                if (string.IsNullOrEmpty(firstName) && string.IsNullOrEmpty(lastName))
                                {
                                    firstName = "linkedin";
                                    lastName = "Member";
                                }
                                if (!(postResponse1.Contains("Your invitation was not sent")))
                                {
                                    clsLDAccount objclsFBAccount = new clsLDAccount();
                                    LoggerManageConnection("[ " + DateTime.Now + " ] => [ Invitation to " + firstName + " " + lastName + " sent From Account :" + _UserName + " ]");
                                    string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                                    try
                                    {
                                        string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                                        string CSV_Content = _UserName + "," + _ConnectSearchKeyword + "," + firstName + " " + lastName + "," + url[0];
                                        CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_AddConnectionSuccessWith2ndDegree);
                                        objclsFBAccount.InsertSerachWithInviteRecord(_UserName, _ConnectSearchKeyword, firstName + " " + lastName, url[0], url[0].Replace("http://www.linkedin.com/profile/view?id=", "").Trim());
                                        valid = true;
                                        SendInvitationCount++;
                                        int Delay = RandomNumberGenerator.GenerateRandom(DelayStart, DelayEnd);
                                        LoggerManageConnection("[ " + DateTime.Now + " ] => [ Invitation Delayed For : " + Delay + " Seconds ]");
                                        Thread.Sleep(Delay * 1000);
                                    }
                                    catch { }

                                }

                            }
                            else if (postResponse1.Contains("You and this LinkedIn user don’t know anyone in common"))
                            {
                                string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                                string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                                string CSV_Content = _UserName + "," + _ConnectSearchKeyword + ", ," + url[0];
                                CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_ConnectionThroughUnkonwPeopleLink);
                                LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                                valid = false;
                                Isaccountvalid = false;
                            }
                            else if (postResponse1.Contains("Your invitation was not sent"))
                            {
                                string CSVHeader1 = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                                string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                                string CSV_Content = _UserName + "," + _ConnectSearchKeyword + "," + firstName + " " + lastName + "," + url[0];
                                CSVUtilities.ExportDataCSVFile(CSVHeader1, CSV_Content, Globals.path_ConnectionthroughKeywordSearchnotadded);
                                LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                                valid = false;
                                //   Isaccountvalid = false;
                               // SendInvitationCount--;

                            }
                            else
                            {
                                string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                                string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                                string CSV_Content = _UserName + "," + _ConnectSearchKeyword + "," + firstName + " " + lastName + "," + url[0];
                                CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_ConnectionthroughKeywordSearchnotadded);
                                LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                                valid = false;
                                //   Isaccountvalid = false;
                               //SendInvitationCount--;
                            }

                        }

                            //
                     /*   else if (postResponse1.Contains("<strong>Invitation to"))
                        {
                            if (string.IsNullOrEmpty(firstName) && string.IsNullOrEmpty(lastName))
                            {
                                firstName = "linkedin";
                                lastName = "Member";
                            }
                            clsLDAccount objclsFBAccount = new clsLDAccount();

                            LoggerManageConnection("[ " + DateTime.Now + " ] => [ Invitation to " + firstName + " " + lastName + " sent From Account :" + _UserName + " ]");
                            string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                            try
                            {
                                string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                                string CSV_Content = _UserName + "," + _ConnectSearchKeyword + "," + firstName + " " + lastName + "," + url[0];
                                CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_AddConnectionSuccessWith2ndDegree);
                                objclsFBAccount.InsertSerachWithInviteRecord(_UserName, _ConnectSearchKeyword, firstName + " " + lastName, url[0], url[0].Replace("http://www.linkedin.com/profile/view?id=", "").Trim());
                                valid = true;
                            }
                            catch { }
                        }
                        else if (postResponse1.Contains("You and this LinkedIn user don’t know anyone in common"))
                        {
                            string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                            string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                            string CSV_Content = _UserName + "," + _ConnectSearchKeyword + ", ," + url[0];
                            CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_ConnectionThroughUnkonwPeopleLink);
                            LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                            valid = false;
                            Isaccountvalid = false;
                        }
                        else
                        {
                            string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                            string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                            string CSV_Content = _UserName + "," + _ConnectSearchKeyword + "," + firstName + " " + lastName + "," + url[0];
                            CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_ConnectionthroughKeywordSearchnotadded);
                            LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                            valid = false;
                            Isaccountvalid = false;
                        }
                        */

                        //int Delay = RandomNumberGenerator.GenerateRandom(SearchMinDelay, SeacrhMaxDelay);
                        //LoggerManageConnection("[ " + DateTime.Now + " ] => [ Invitation Delayed For : " + Delay + " Seconds ]");
                        //Thread.Sleep(Delay * 1000);

                     //   if (!(valid == false))
                  //      {
                            //SendInvitationCount++;

                        {
                            if (SendInvitationCount >= SearchCriteria.NumberOfRequestPerKeyword)  //Here we check  that number of request send if counter is equal to the number of request put by user then it return to mathod and made pagenumber = 0;
                            {  //SendInvitationCount--;
                                PageNumber = 0;

                                return;
                            }
                        }

                      //  }
                    }
                   else
                   {
                      LoggerManageConnection("[ " + DateTime.Now + " ] => [ Invitation already sent from" + _UserName + " ]");
                  }
                }
                catch (Exception ex)
                {
                    string CSVHeader = "UserName" + "," + "SearchKeyword" + "," + "Invitation Sent To" + "," + "InvitationUrl";
                    string[] url = Regex.Split(FrnAcceptUrL, "&authType");
                    string CSV_Content = _UserName + "," + _ConnectSearchKeyword + ",," + url[0];
                    CSVUtilities.ExportDataCSVFile(CSVHeader, CSV_Content, Globals.path_ConnectionthroughKeywordSearchnotadded);
                    LoggerManageConnection("[ " + DateTime.Now + " ] => [ Failed To Send Invitation From " + _UserName + " ]");
                    valid = false;
                    Isaccountvalid = false;
                }
            }
        }