using System.Linq;
using Umbraco.Core.Models;
namespace Umbraco.Core.Services
{
public static class LocalizationServiceExtensions
{
///
/// Returns the configured default variant language
///
///
///
public static ILanguage GetDefaultVariantLanguage(this ILocalizationService service)
{
var langs = service.GetAllLanguages().OrderBy(x => x.Id).ToList();
//if there's only one language, by default it is the default
if (langs.Count == 1)
{
langs[0].IsDefaultVariantLanguage = true;
langs[0].Mandatory = true;
return langs[0];
}
if (langs.All(x => !x.IsDefaultVariantLanguage))
{
//if no language has the default flag, then the defaul language is the one with the lowest id
langs[0].IsDefaultVariantLanguage = true;
langs[0].Mandatory = true;
return langs[0];
}
return langs.First(x => x.IsDefaultVariantLanguage);
}
}
}