diff --git a/src/Umbraco.Core/Constants-ObjectTypes.cs b/src/Umbraco.Core/Constants-ObjectTypes.cs
index adc154174a..4a79437c61 100644
--- a/src/Umbraco.Core/Constants-ObjectTypes.cs
+++ b/src/Umbraco.Core/Constants-ObjectTypes.cs
@@ -212,6 +212,16 @@ namespace Umbraco.Core
/// Guid for a Forms DataSource.
///
public static readonly Guid FormsDataSourceGuid = new Guid(FormsDataSource);
+
+ ///
+ /// Guid for a Language.
+ ///
+ public const string Language = "6B05D05B-EC78-49BE-A4E4-79E274F07A77";
+
+ ///
+ /// Guid for a Forms DataSource.
+ ///
+ public static readonly Guid LanguageGuid = new Guid(Language);
}
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Models/UmbracoObjectTypes.cs b/src/Umbraco.Core/Models/UmbracoObjectTypes.cs
index 0df7a21e57..d0136a10a4 100644
--- a/src/Umbraco.Core/Models/UmbracoObjectTypes.cs
+++ b/src/Umbraco.Core/Models/UmbracoObjectTypes.cs
@@ -178,6 +178,13 @@ namespace Umbraco.Core.Models
///
[UmbracoObjectType(Constants.ObjectTypes.FormsDataSource)]
[FriendlyName("DataSource")]
- FormsDataSource
+ FormsDataSource,
+
+ ///
+ /// Language
+ ///
+ [UmbracoObjectType(Constants.ObjectTypes.Language)]
+ [FriendlyName("Language")]
+ Language
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Core/UdiEntityType.cs b/src/Umbraco.Core/UdiEntityType.cs
index f6b9b1e3b0..0119e83b24 100644
--- a/src/Umbraco.Core/UdiEntityType.cs
+++ b/src/Umbraco.Core/UdiEntityType.cs
@@ -1,5 +1,4 @@
using System;
-using System.Collections.Generic;
using Umbraco.Core.Models;
namespace Umbraco.Core
@@ -84,6 +83,8 @@ namespace Umbraco.Core
public const string PartialViewMacro = "partial-view-macro";
[UdiType(UdiType.StringUdi)]
public const string Xslt = "xslt";
+ [UdiType(UdiType.StringUdi)]
+ public const string Language = "language";
public static string FromUmbracoObjectType(UmbracoObjectTypes umbracoObjectType)
{
@@ -123,6 +124,8 @@ namespace Umbraco.Core
return FormsPreValue;
case UmbracoObjectTypes.FormsDataSource:
return FormsDataSource;
+ case UmbracoObjectTypes.Language:
+ return Language;
}
throw new NotSupportedException(string.Format("UmbracoObjectType \"{0}\" does not have a matching EntityType.", umbracoObjectType));
}
@@ -165,6 +168,8 @@ namespace Umbraco.Core
return UmbracoObjectTypes.FormsPreValue;
case FormsDataSource:
return UmbracoObjectTypes.FormsDataSource;
+ case Language:
+ return UmbracoObjectTypes.Language;
}
throw new NotSupportedException(
string.Format("EntityType \"{0}\" does not have a matching UmbracoObjectType.", entityType));
diff --git a/src/Umbraco.Core/UdiGetterExtensions.cs b/src/Umbraco.Core/UdiGetterExtensions.cs
index 3d829c8a1a..d663acba9d 100644
--- a/src/Umbraco.Core/UdiGetterExtensions.cs
+++ b/src/Umbraco.Core/UdiGetterExtensions.cs
@@ -97,7 +97,7 @@ namespace Umbraco.Core
///
/// The entity.
/// The entity identifier of the entity.
- public static GuidUdi GetUdi(this Umbraco.Core.Models.EntityContainer entity)
+ public static GuidUdi GetUdi(this EntityContainer entity)
{
if (entity == null) throw new ArgumentNullException("entity");
@@ -246,6 +246,17 @@ namespace Umbraco.Core
return new GuidUdi(Constants.UdiEntityType.RelationType, entity.Key).EnsureClosed();
}
+ ///
+ /// Gets the entity identifier of the entity.
+ ///
+ /// The entity.
+ /// The entity identifier of the entity.
+ public static StringUdi GetUdi(this ILanguage entity)
+ {
+ if (entity == null) throw new ArgumentNullException("entity");
+ return new StringUdi(Constants.UdiEntityType.Language, entity.IsoCode).EnsureClosed();
+ }
+
///
/// Gets the entity identifier of the entity.
///
@@ -279,7 +290,7 @@ namespace Umbraco.Core
var dataTypeComposition = entity as IDataTypeDefinition;
if (dataTypeComposition != null) return dataTypeComposition.GetUdi();
- var container = entity as Umbraco.Core.Models.EntityContainer;
+ var container = entity as EntityContainer;
if (container != null) return container.GetUdi();
var media = entity as IMedia;
@@ -315,6 +326,9 @@ namespace Umbraco.Core
var relationType = entity as IRelationType;
if (relationType != null) return relationType.GetUdi();
+ var language = entity as ILanguage;
+ if (language != null) return language.GetUdi();
+
throw new NotSupportedException(string.Format("Entity type {0} is not supported.", entity.GetType().FullName));
}
}