| 12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using Abp.Domain.Entities;
- using Abp.Extensions;
- using Newtonsoft.Json;
- namespace Abp.Notifications
- {
- /// <summary>
- /// Extension methods for <see cref="NotificationSubscriptionInfo"/>.
- /// </summary>
- public static class NotificationSubscriptionInfoExtensions
- {
- /// <summary>
- /// Converts <see cref="UserNotificationInfo"/> to <see cref="UserNotification"/>.
- /// </summary>
- 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
- };
- }
- }
- }
|