/// <summary> /// This method reads the input text file and makes LIQueries for each line in the file. /// </summary> /// <param name="filepath"></param> /// <returns></returns> public List <object> createLIQueries() { string[] lines = File.ReadAllLines(LIQueriesRelativePath); List <object> queries = new List <object>(); foreach (string line in lines) { string[] splitInput = line.Split('.'); if (splitInput.Length == 3) { LIQuery query = new LIQuery(splitInput[0], splitInput[1], splitInput[2]); queries.Add(query); } if (splitInput.Length == 7) { bool onlygeteasy = true; if ((splitInput[6].Contains('f')) || (splitInput[6].Contains('F'))) { onlygeteasy = false; } string[] jobtitles = splitInput[3].Split('|'); string[] experiences = splitInput[4].Split('|'); LIQueryAdvanced advquery = new LIQueryAdvanced(splitInput[0], splitInput[1], splitInput[2], jobtitles, experiences, splitInput[5], onlygeteasy); queries.Add(advquery); } } return(queries); }
/// <summary> /// This primary accessory constructor takes in a list of queries and constructs their search url and creates a LIQuery object for each url. /// </summary> /// <param name="queries"></param> public LIService() { List <object> queries = createLIQueries(); Queries = queries.ToArray(); FULLURLS = new string[queries.Count]; //TODO: Check to see how shortened links look for LinkedIn for (int counter = 0; counter < Queries.Length; counter++) { object query = queries[counter]; if (query.GetType().Equals(typeof(LIQuery))) { LIQuery q = (LIQuery)query; setBaseSearchParams(q.KeyWords, q.City, q.State); string url = BaseURL + BaseSearchParams; FULLURLS[counter] = url; } else { LIQueryAdvanced advq = (LIQueryAdvanced)query; setBaseSearchParams(advq.KeyWords, advq.City, advq.State); setAdvancedSearchParams(advq.JobTitles, advq.Experiences, advq.DatePosted); string url = BaseURL + BaseSearchParams + AdvancedSearchParams; FULLURLS[counter] = url; } } }