using System; using Abp.Domain.Entities; using Abp.Extensions; using Newtonsoft.Json; namespace Abp.Notifications { /// /// Extension methods for . /// public static class NotificationSubscriptionInfoExtensions { /// /// Converts to . /// public static NotificationSubscription ToNotificationSubscription(this NotificationSubscriptionInfo subscriptionInfo) { var entityType = subscriptionInfo.EntityTypeAssemblyQualifiedName.IsNullOrEmpty() ? null : Type.GetType(subscriptionInfo.EntityTypeAssemblyQualifiedName); return new NotificationSubscription { TenantId = subscriptionInfo.TenantId, UserId = subscriptionInfo.UserId, NotificationName = subscriptionInfo.NotificationName, EntityType = entityType, EntityTypeName = subscriptionInfo.EntityTypeName, EntityId = subscriptionInfo.EntityId.IsNullOrEmpty() ? null : JsonConvert.DeserializeObject(subscriptionInfo.EntityId, EntityHelper.GetPrimaryKeyType(entityType)), CreationTime = subscriptionInfo.CreationTime }; } } }