Files
Umbraco-CMS/src/Umbraco.Core/Notifications/TemplateSavingNotification.cs
2022-01-21 11:43:58 +01:00

72 lines
2.2 KiB
C#

// Copyright (c) Umbraco.
// See LICENSE for more details.
using System.Collections.Generic;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.Models;
namespace Umbraco.Cms.Core.Notifications
{
public class TemplateSavingNotification : SavingNotification<ITemplate>
{
private const string s_templateForContentTypeKey = "CreateTemplateForContentType";
private const string s_contentTypeAliasKey = "ContentTypeAlias";
public TemplateSavingNotification(ITemplate target, EventMessages messages) : base(target, messages)
{
}
public TemplateSavingNotification(IEnumerable<ITemplate> target, EventMessages messages) : base(target, messages)
{
}
public TemplateSavingNotification(ITemplate target, EventMessages messages, bool createTemplateForContentType,
string contentTypeAlias) : base(target, messages)
{
CreateTemplateForContentType = createTemplateForContentType;
ContentTypeAlias = contentTypeAlias;
}
public TemplateSavingNotification(IEnumerable<ITemplate> target, EventMessages messages,
bool createTemplateForContentType,
string contentTypeAlias) : base(target, messages)
{
CreateTemplateForContentType = createTemplateForContentType;
ContentTypeAlias = contentTypeAlias;
}
public bool CreateTemplateForContentType
{
get
{
State.TryGetValue(s_templateForContentTypeKey, out var result);
if (result is not bool createTemplate)
{
return false;
}
return createTemplate;
}
set => State[s_templateForContentTypeKey] = value;
}
public string? ContentTypeAlias
{
get
{
State.TryGetValue(s_contentTypeAliasKey, out var result);
return result as string;
}
set
{
if (value is not null)
{
State[s_contentTypeAliasKey] = value;
}
}
}
}
}