public async Task SendNofitersAsync(
     string name,
     NotificationData data,
     IEnumerable <UserIdentifier> users = null,
     Guid?tenantId = null,
     NotificationSeverity severity = NotificationSeverity.Info)
 {
     await PublishNofiterAsync(name, data, users, tenantId, severity);
 }
Exemple #2
0
        public NotificationInfo()
        {
            Data     = new NotificationData();
            Lifetime = NotificationLifetime.Persistent;
            Type     = NotificationType.Application;
            Severity = NotificationSeverity.Info;

            CreationTime = DateTime.Now;
        }
Exemple #3
0
        /// <summary>
        /// 转换为标准数据
        /// </summary>
        /// <param name="sourceData">原始数据</param>
        /// <returns></returns>
        public static NotificationData ToStandardData(NotificationData sourceData)
        {
            var data = new NotificationData();

            data.TrySetData("title", sourceData.TryGetData("title"));
            data.TrySetData("message", sourceData.TryGetData("message"));
            data.TrySetData("formUser", sourceData.TryGetData("formUser"));
            data.TrySetData("createTime", sourceData.TryGetData("createTime"));
            return(data);
        }
        /// <summary>
        /// 转换为标准数据
        /// </summary>
        /// <param name="prefix">数据前缀</param>
        /// <param name="sourceData">原始数据</param>
        /// <returns></returns>
        public static NotificationData ToStandardData(string prefix, NotificationData sourceData)
        {
            var data = ToStandardData(sourceData);

            foreach (var property in sourceData.Properties)
            {
                if (property.Key.StartsWith(prefix))
                {
                    var key = property.Key.Replace(prefix, "");
                    data.TrySetData(key, property.Value);
                }
            }
            return(data);
        }
 public async Task <string> SendNofiterAsync(
     string name,
     NotificationData data,
     UserIdentifier user           = null,
     Guid?tenantId                 = null,
     NotificationSeverity severity = NotificationSeverity.Info)
 {
     if (user == null)
     {
         return(await PublishNofiterAsync(name, data, null, tenantId, severity));
     }
     else
     {
         return(await  PublishNofiterAsync(name, data, new List <UserIdentifier> {
             user
         }, tenantId, severity));
     }
 }
 protected async Task PublishNofiterAsync(
     string name,
     NotificationData data,
     IEnumerable <UserIdentifier> users = null,
     Guid?tenantId = null,
     NotificationSeverity severity = NotificationSeverity.Info)
 {
     await DistributedEventBus
     .PublishAsync(
         new NotificationEventData
     {
         TenantId     = tenantId,
         Users        = users?.ToList(),
         Name         = name,
         Data         = data,
         CreationTime = DateTime.Now,
         Severity     = severity
     });
 }
        protected async Task <string> PublishNofiterAsync(
            string name,
            NotificationData data,
            IEnumerable <UserIdentifier> users = null,
            Guid?tenantId = null,
            NotificationSeverity severity = NotificationSeverity.Info)
        {
            var eto = new NotificationEto <NotificationData>(data)
            {
                Id           = SnowflakeIdGenerator.Create(),
                TenantId     = tenantId,
                Users        = users?.ToList(),
                Name         = name,
                CreationTime = DateTime.Now,
                Severity     = severity
            };

            await DistributedEventBus.PublishAsync(eto);

            return(eto.Id.ToString());
        }
Exemple #8
0
        public static NotificationData Convert(NotificationData notificationData)
        {
            if (notificationData != null)
            {
                if (notificationData.NeedLocalizer())
                {
                    var title   = JsonConvert.DeserializeObject <LocalizableStringInfo>(notificationData.TryGetData("title").ToString());
                    var message = JsonConvert.DeserializeObject <LocalizableStringInfo>(notificationData.TryGetData("message").ToString());
                    notificationData.TrySetData("title", title);
                    notificationData.TrySetData("message", message);

                    if (notificationData.Properties.TryGetValue("description", out object description) && description != null)
                    {
                        notificationData.TrySetData("description", JsonConvert.DeserializeObject <LocalizableStringInfo>(description.ToString()));
                    }
                }
            }
            else
            {
                notificationData = new NotificationData();
            }
            return(notificationData);
        }