37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using Umbraco.Web.Routing;
|
|
using Umbraco.Core;
|
|
using Umbraco.Core.Services;
|
|
|
|
namespace Umbraco.Web.PublishedCache.XmlPublishedCache
|
|
{
|
|
internal class DomainCache : IDomainCache
|
|
{
|
|
private readonly IDomainService _domainService;
|
|
|
|
public DomainCache(IDomainService domainService, ISystemDefaultCultureProvider systemDefaultCultureProvider)
|
|
{
|
|
_domainService = domainService;
|
|
DefaultCulture = systemDefaultCultureProvider.DefaultCulture;
|
|
}
|
|
|
|
public IEnumerable<Domain> GetAll(bool includeWildcards)
|
|
{
|
|
return _domainService.GetAll(includeWildcards)
|
|
.Where(x => x.RootContentId.HasValue && x.LanguageIsoCode.IsNullOrWhiteSpace() == false)
|
|
.Select(x => new Domain(x.Id, x.DomainName, x.RootContentId.Value, CultureInfo.GetCultureInfo(x.LanguageIsoCode), x.IsWildcard));
|
|
}
|
|
|
|
public IEnumerable<Domain> GetAssigned(int contentId, bool includeWildcards)
|
|
{
|
|
return _domainService.GetAssignedDomains(contentId, includeWildcards)
|
|
.Where(x => x.RootContentId.HasValue && x.LanguageIsoCode.IsNullOrWhiteSpace() == false)
|
|
.Select(x => new Domain(x.Id, x.DomainName, x.RootContentId.Value, CultureInfo.GetCultureInfo(x.LanguageIsoCode), x.IsWildcard));
|
|
}
|
|
|
|
public string DefaultCulture { get; }
|
|
}
|
|
}
|