diff --git a/src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs b/src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs
new file mode 100644
index 0000000000..4399fd323b
--- /dev/null
+++ b/src/Umbraco.Core/Persistence/Mappers/TaskTypeMapper.cs
@@ -0,0 +1,38 @@
+using System.Collections.Concurrent;
+using Umbraco.Core.Models;
+using Umbraco.Core.Models.Rdbms;
+
+namespace Umbraco.Core.Persistence.Mappers
+{
+ ///
+ /// Represents a to DTO mapper used to translate the properties of the public api
+ /// implementation to that of the database's DTO as sql: [tableName].[columnName].
+ ///
+ [MapperFor(typeof(TaskType))]
+ public sealed class TaskTypeMapper : BaseMapper
+ {
+ private static readonly ConcurrentDictionary PropertyInfoCacheInstance = new ConcurrentDictionary();
+
+ //NOTE: its an internal class but the ctor must be public since we're using Activator.CreateInstance to create it
+ // otherwise that would fail because there is no public constructor.
+ public TaskTypeMapper()
+ {
+ BuildMap();
+ }
+
+ #region Overrides of BaseMapper
+
+ internal override ConcurrentDictionary PropertyInfoCache
+ {
+ get { return PropertyInfoCacheInstance; }
+ }
+
+ internal override void BuildMap()
+ {
+ CacheMap(src => src.Id, dto => dto.Id);
+ CacheMap(src => src.Alias, dto => dto.Alias);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index f8cdcb10c2..07387d2064 100644
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -404,6 +404,7 @@
+
diff --git a/src/umbraco.cms/businesslogic/translation/Translation.cs b/src/umbraco.cms/businesslogic/translation/Translation.cs
index db9d4d4644..7edbfefadd 100644
--- a/src/umbraco.cms/businesslogic/translation/Translation.cs
+++ b/src/umbraco.cms/businesslogic/translation/Translation.cs
@@ -19,13 +19,15 @@ namespace umbraco.cms.businesslogic.translation
public static void MakeNew(CMSNode Node, User User, User Translator, Language Language, string Comment,
bool IncludeSubpages, bool SendEmail)
{
+ // Get translation taskType for obsolete task constructor
+ var taskType = ApplicationContext.Current.Services.TaskService.GetTaskTypeByAlias("toTranslate");
+
// Create pending task
- Task t = new Task();
+ Task t = new Task(new Umbraco.Core.Models.Task(taskType));
t.Comment = Comment;
t.Node = Node;
t.ParentUser = User;
t.User = Translator;
- t.Type = new TaskType("toTranslate");
t.Save();
// Add log entry