internal static string PrepareBucketsParams(LinkedInSearchOptions options) { var sb = new StringBuilder(); if (options.FacetFields.HasValues) { sb.Append(":("); if (options.FacetFields[LinkedInFacetFields.Code]) { sb.Append("code,"); } if (options.FacetFields[LinkedInFacetFields.Name]) { sb.Append("name,"); } if (options.BucketFields.HasValues) { sb.Append("buckets:("); if (options.BucketFields[LinkedInBucketFields.Code]) { sb.Append("code,"); } if (options.BucketFields[LinkedInBucketFields.Name]) { sb.Append("name,"); } if (options.BucketFields[LinkedInBucketFields.Count]) { sb.Append("count,"); } if (options.BucketFields[LinkedInBucketFields.Selected]) { sb.Append("selected,"); } sb.Length -= 1; sb.Append(")"); } sb.Append(")"); } return(sb.ToString()); }
internal static string PrepareSearchParams(LinkedInSearchOptions options) { var sb = new StringBuilder(); if (options.Keywords.Count > 0) { var keywords = string.Join(SPACE, options.Keywords); sb.Append("keywords="); sb.Append(keywords.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); } if (!string.IsNullOrEmpty(options.FirstName)) { sb.Append("first-name="); sb.Append(options.FirstName.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); } if (!string.IsNullOrEmpty(options.LastName)) { sb.Append("last-name="); sb.Append(options.LastName.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); } if (!string.IsNullOrEmpty(options.CompanyName)) { sb.Append("company-name="); sb.Append(options.CompanyName.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); if (options.CurrentCompany.HasValue) { sb.Append(options.CurrentCompany.Value ? "current-company=true" : "current-company=false"); sb.Append("&"); } } if (!string.IsNullOrEmpty(options.Title)) { sb.Append("title="); sb.Append(options.Title.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); if (options.CurrentTitle.HasValue) { sb.Append(options.CurrentTitle.Value ? "current-title=true" : "current-title=false"); sb.Append("&"); } } if (!string.IsNullOrEmpty(options.SchoolName)) { sb.Append("school-name="); sb.Append(options.SchoolName.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); if (options.CurrentSchool.HasValue) { sb.Append(options.CurrentSchool.Value ? "current-school=true" : "current-school=false"); sb.Append("&"); } } if (options.Country != LinkedInCountries.None) { if (Utils.CountryCodes.ContainsKey(options.Country)) { sb.Append("country-code="); sb.Append(Utils.CountryCodes[options.Country]); sb.Append("&"); if (!string.IsNullOrEmpty(options.PostalCode)) { sb.Append("postal-code="); sb.Append(options.PostalCode.Replace("'", "%5C").Replace(" ", SPACE)); sb.Append("&"); } if (options.Distance.HasValue) { sb.Append("distance="); sb.Append(options.Distance.Value); sb.Append("&"); } } } return(sb.ToString()); }
internal static string PrepareFacetsParams(LinkedInSearchOptions options) { var sb = new StringBuilder(); if (options.FacetTypes != LinkedInFacetTypes.None) { sb.Append("facets="); if ((options.FacetTypes & LinkedInFacetTypes.Location) == LinkedInFacetTypes.Location) { sb.Append("location,"); } if ((options.FacetTypes & LinkedInFacetTypes.Network) == LinkedInFacetTypes.Network) { sb.Append("network,"); } if ((options.FacetTypes & LinkedInFacetTypes.Industry) == LinkedInFacetTypes.Industry) { sb.Append("industry,"); } if ((options.FacetTypes & LinkedInFacetTypes.CurrentCompany) == LinkedInFacetTypes.CurrentCompany) { sb.Append("current-company,"); } if ((options.FacetTypes & LinkedInFacetTypes.PastCompany) == LinkedInFacetTypes.PastCompany) { sb.Append("past-company,"); } if ((options.FacetTypes & LinkedInFacetTypes.Language) == LinkedInFacetTypes.Language) { sb.Append("language,"); } if ((options.FacetTypes & LinkedInFacetTypes.School) == LinkedInFacetTypes.School) { sb.Append("school,"); } sb.Length -= 1; if (options.FacetLocationValues.Count > 0) { sb.Append("&facet=location,"); sb.Append(string.Join(",", options.FacetLocationValues)); } if (options.FacetNetworkValues != LinkedInFacetNetwork.None) { sb.Append("&facet=network,"); if ((options.FacetNetworkValues & LinkedInFacetNetwork.FirstDegree) == LinkedInFacetNetwork.FirstDegree) { sb.Append("F,"); } if ((options.FacetNetworkValues & LinkedInFacetNetwork.SecondDegree) == LinkedInFacetNetwork.SecondDegree) { sb.Append("S,"); } if ((options.FacetNetworkValues & LinkedInFacetNetwork.InsideGroup) == LinkedInFacetNetwork.InsideGroup) { sb.Append("A,"); } if ((options.FacetNetworkValues & LinkedInFacetNetwork.OutOfNetwork) == LinkedInFacetNetwork.OutOfNetwork) { sb.Append("O,"); } sb.Length -= 1; } if (options.FacetIndustryValues.Count > 0) { sb.Append("&facet=industry,"); sb.Append(string.Join(",", options.FacetIndustryValues)); } if (options.FacetCurrentCompanyValues.Count > 0) { sb.Append("&facet=current-company,"); sb.Append(string.Join(",", options.FacetCurrentCompanyValues)); } if (options.FacetPastCompanyValues.Count > 0) { sb.Append("&facet=past-company,"); sb.Append(string.Join(",", options.FacetPastCompanyValues)); } if (options.FacetSchoolValues.Count > 0) { sb.Append("&facet=school,"); sb.Append(string.Join(",", options.FacetSchoolValues)); } if (options.FacetLanguageValues.Count > 0) { sb.Append("&facet=language,"); foreach (var f in options.FacetLanguageValues) { switch (f) { case LinkedInFacetLanguage.English: sb.Append("en,"); break; case LinkedInFacetLanguage.Russian: sb.Append("ru,"); break; case LinkedInFacetLanguage.French: sb.Append("fr,"); break; case LinkedInFacetLanguage.German: sb.Append("de,"); break; case LinkedInFacetLanguage.Italian: sb.Append("it,"); break; case LinkedInFacetLanguage.Portuguese: sb.Append("pt,"); break; case LinkedInFacetLanguage.Spanish: sb.Append("es,"); break; case LinkedInFacetLanguage.Others: sb.Append("_o,"); break; } } sb.Length -= 1; } sb.Append("&"); } var result = sb.ToString().Replace(",", "%2C").Replace(":", "%3A"); return(result); }