// Copyright (c) Umbraco.
// See LICENSE for more details.
using Umbraco.Cms.Core.Models;
namespace Umbraco.Cms.Core.Notifications;
public static class ContentNotificationExtensions
{
///
/// Determines whether a culture is being saved, during a Saving notification
///
public static bool IsSavingCulture(this SavingNotification notification, T content, string culture)
where T : IContentBase
=> (content.CultureInfos?.TryGetValue(culture, out ContentCultureInfos cultureInfo) ?? false) &&
cultureInfo.IsDirty();
///
/// Determines whether a culture has been saved, during a Saved notification
///
public static bool HasSavedCulture(this SavedNotification notification, T content, string culture)
where T : IContentBase
=> content.WasPropertyDirty(ContentBase.ChangeTrackingPrefix.UpdatedCulture + culture);
///
/// Determines whether a culture is being published, during a Publishing notification
///
public static bool IsPublishingCulture(this ContentPublishingNotification notification, IContent content, string culture)
=> IsPublishingCulture(content, culture);
///
/// Determines whether a culture is being unpublished, during an Publishing notification
///
public static bool IsUnpublishingCulture(this ContentPublishingNotification notification, IContent content, string culture)
=> IsUnpublishingCulture(content, culture);
///
/// Determines whether a culture is being unpublished, during a Unpublishing notification
///
public static bool IsUnpublishingCulture(this ContentUnpublishingNotification notification, IContent content, string culture) => IsUnpublishingCulture(content, culture);
///
/// Determines whether a culture has been published, during a Published notification
///
public static bool HasPublishedCulture(this ContentPublishedNotification notification, IContent content, string culture)
=> content.WasPropertyDirty(ContentBase.ChangeTrackingPrefix.ChangedCulture + culture);
///
/// Determines whether a culture has been unpublished, during a Published notification
///
public static bool HasUnpublishedCulture(this ContentPublishedNotification notification, IContent content, string culture)
=> HasUnpublishedCulture(content, culture);
///
/// Determines whether a culture has been unpublished, during an Unpublished notification
///
public static bool HasUnpublishedCulture(this ContentUnpublishedNotification notification, IContent content, string culture)
=> HasUnpublishedCulture(content, culture);
public static bool IsPublishingCulture(IContent content, string culture)
=> (content.PublishCultureInfos?.TryGetValue(culture, out ContentCultureInfos cultureInfo) ?? false) &&
cultureInfo.IsDirty();
private static bool IsUnpublishingCulture(IContent content, string culture)
=> content.IsPropertyDirty(ContentBase.ChangeTrackingPrefix.UnpublishedCulture + culture);
public static bool HasUnpublishedCulture(IContent content, string culture)
=> content.WasPropertyDirty(ContentBase.ChangeTrackingPrefix.UnpublishedCulture + culture);
}