using System; using Abp.Domain.Entities; using Abp.Extensions; using Newtonsoft.Json; namespace Abp.Notifications { /// /// Extension methods for . /// public static class TenantNotificationInfoExtensions { /// /// Converts to . /// public static TenantNotification ToTenantNotification(this TenantNotificationInfo tenantNotificationInfo) { var entityType = tenantNotificationInfo.EntityTypeAssemblyQualifiedName.IsNullOrEmpty() ? null : Type.GetType(tenantNotificationInfo.EntityTypeAssemblyQualifiedName); return new TenantNotification { Id = tenantNotificationInfo.Id, TenantId = tenantNotificationInfo.TenantId, NotificationName = tenantNotificationInfo.NotificationName, Data = tenantNotificationInfo.Data.IsNullOrEmpty() ? null : JsonConvert.DeserializeObject(tenantNotificationInfo.Data, Type.GetType(tenantNotificationInfo.DataTypeName)) as NotificationData, EntityTypeName = tenantNotificationInfo.EntityTypeName, EntityType = entityType, EntityId = tenantNotificationInfo.EntityId.IsNullOrEmpty() ? null : JsonConvert.DeserializeObject(tenantNotificationInfo.EntityId, EntityHelper.GetPrimaryKeyType(entityType)), Severity = tenantNotificationInfo.Severity, CreationTime = tenantNotificationInfo.CreationTime }; } } }