public bool TryGetSiteInfo(SiteCultureInfo siteCultureInfo, out SiteInfo siteInfo) { siteInfo = null; SiteInfo[] siteInfos; if (!GetSiteInfos(siteCultureInfo.SiteId, out siteInfos)) return false; if (!String.IsNullOrEmpty(siteCultureInfo.CountryId)) { siteInfo = siteInfos.FirstOrDefault(si => si.Locale.Equals(siteCultureInfo.Locale, StringComparison.InvariantCultureIgnoreCase) && si.Country.Equals(siteCultureInfo.CountryId, StringComparison.InvariantCultureIgnoreCase)); } else if (siteInfos.Any(si => !String.IsNullOrEmpty(si.MarketPlaceName))) { siteInfo = siteInfos.FirstOrDefault(si => si.Locale.Equals(siteCultureInfo.Locale, StringComparison.InvariantCultureIgnoreCase) && !String.IsNullOrEmpty(si.MarketPlaceName) && si.IsDefaultMarketPlace); } if (siteInfo == null) { siteInfo = siteInfos.FirstOrDefault(si => si.Locale.Equals(siteCultureInfo.Locale, StringComparison.InvariantCultureIgnoreCase)); } return siteInfo != null; }
public bool TryGetSiteInfo(SiteCultureInfo siteCultureInfo, out SiteInfo siteInfo) { siteInfo = null; SiteInfo[] siteInfos; if (!GetSiteInfos(siteCultureInfo.SiteId, out siteInfos)) { return(false); } if (!String.IsNullOrEmpty(siteCultureInfo.CountryId)) { siteInfo = siteInfos.FirstOrDefault(si => si.Locale.Equals(siteCultureInfo.Locale, StringComparison.InvariantCultureIgnoreCase) && si.Country.Equals(siteCultureInfo.CountryId, StringComparison.InvariantCultureIgnoreCase)); } else if (siteInfos.Any(si => !String.IsNullOrEmpty(si.MarketPlaceName))) { siteInfo = siteInfos.FirstOrDefault(si => si.Locale.Equals(siteCultureInfo.Locale, StringComparison.InvariantCultureIgnoreCase) && !String.IsNullOrEmpty(si.MarketPlaceName) && si.IsDefaultMarketPlace); } if (siteInfo == null) { siteInfo = siteInfos.FirstOrDefault(si => si.Locale.Equals(siteCultureInfo.Locale, StringComparison.InvariantCultureIgnoreCase)); } return(siteInfo != null); }