private List <UrlInfo> GetWebsiteUrls(BaseProduct baseProduct, WebSite webSite) { var urls = new List <UrlInfo>(); var variants = baseProduct.GetPublishedVariants(webSite.ID).ToList(); foreach (var baseProductCategoryLink in baseProduct.CategoryLinks) { var category = _categoryService.Get(baseProductCategoryLink.CategorySystemId); var baseProductUrl = baseProduct.GetUrl(webSite.ID, true, category); if (!string.IsNullOrEmpty(baseProductUrl)) { urls.Add(new UrlInfo { Id = baseProduct.Id, Url = baseProductUrl }); } foreach (var variant in variants) { var variantUrl = variant.GetUrl(webSite.ID, true, category); if (string.IsNullOrEmpty(variantUrl)) { continue; } if (urls.Any(u => u.Url.Equals(variantUrl))) { continue; } urls.Add(new UrlInfo { Id = variant.Id, Url = variantUrl }); } } return(urls); }