예제 #1
0
        public async Task GdprDataPrepared(UserIdentifier user, Guid binaryObjectId)
        {
            var notificationData = new LocalizableMessageNotificationData(
                new LocalizableString(
                    "GdprDataPreparedNotificationMessage",
                    PharmacyConsts.LocalizationSourceName
                    )
                );

            notificationData["binaryObjectId"] = binaryObjectId;

            await _notificationPublisher.PublishAsync(AppNotificationNames.GdprDataPrepared, notificationData, userIds : new[] { user });
        }
예제 #2
0
        public async Task NewUserRegisteredAsync(User user)
        {
            var notificationData = new LocalizableMessageNotificationData(
                new LocalizableString(
                    "NewUserRegisteredNotificationMessage",
                    tlsConsts.LocalizationSourceName
                    )
                );

            notificationData["userName"]     = user.UserName;
            notificationData["emailAddress"] = user.EmailAddress;

            await _notificationPublisher.PublishAsync(AppNotificationNames.NewUserRegistered, notificationData, tenantIds : new[] { user.TenantId });
        }
예제 #3
0
        public async Task TenantsMovedToEdition(UserIdentifier user, string sourceEditionName, string targetEditionName)
        {
            var notificationData = new LocalizableMessageNotificationData(
                new LocalizableString(
                    "TenantsMovedToEditionNotificationMessage",
                    QksConsts.LocalizationSourceName
                    )
                );

            notificationData["sourceEditionName"] = sourceEditionName;
            notificationData["targetEditionName"] = targetEditionName;

            await _notificationPublisher.PublishAsync(AppNotificationNames.TenantsMovedToEdition, notificationData, userIds : new[] { user });
        }
예제 #4
0
        public async Task NewTenantRegisteredAsync(Tenant tenant)
        {
            var notificationData = new LocalizableMessageNotificationData(
                new LocalizableString(
                    "NewTenantRegisteredNotificationMessage",
                    YtConsts.LocalizationSourceName
                    )
                )
            {
                ["tenancyName"] = tenant.TenancyName
            };

            await _notificationPublisher.PublishAsync(AppNotificationNames.NewTenantRegistered, notificationData);
        }
예제 #5
0
        public async Task SomeUsersCouldntBeImported(UserIdentifier argsUser, string fileToken, string fileType, string fileName)
        {
            var notificationData = new LocalizableMessageNotificationData(
                new LocalizableString(
                    "ClickToSeeInvalidUsers",
                    QksConsts.LocalizationSourceName
                    )
                );

            notificationData["fileToken"] = fileToken;
            notificationData["fileType"]  = fileType;
            notificationData["fileName"]  = fileName;

            await _notificationPublisher.PublishAsync(AppNotificationNames.DownloadInvalidImportUsers, notificationData, userIds : new[] { argsUser });
        }
예제 #6
0
        public async Task SchedulerNewInvoiceForecastCreatedAsync(int?tenantId, int invoiceForecastCount)
        {
            Logger.Warn("SchedulerNewInvoiceForecastCreatedAsync notification at " + DateTime.Now.ToString() + " : tenantId = " + tenantId.ToString());

            var notificationData = new LocalizableMessageNotificationData(
                new LocalizableString(
                    "SchedulerNewInvoiceForecastCreatedNotificationMessage",
                    AttendanceConsts.LocalizationSourceName
                    )
                );

            notificationData["invoiceForecastCount"] = invoiceForecastCount;

            await _notificationPublisher.PublishAsync(AppNotificationNames.WelcomeToTheApplication, notificationData, severity : NotificationSeverity.Success, tenantIds : new[] { tenantId });
        }
        public void Should_Deserialize_And_Serialize_LocalizableMessageNotificationData()
        {
            var serialized = new LocalizableMessageNotificationData(new LocalizableString("Hello", "MySource")).ToJsonString();

            var data = JsonConvert
                       .DeserializeObject(
                serialized,
                typeof(LocalizableMessageNotificationData)
                ) as LocalizableMessageNotificationData;

            Assert.NotNull(data);
            Assert.NotNull(data.Message);
            data.Message.Name.ShouldBe("Hello");
            data.Message.SourceName.ShouldBe("MySource");
        }
예제 #8
0
        protected async Task SendNotificationAsync(string notificationName, UserIdentifier user,
                                                   LocalizableString localizableMessage, IDictionary <string, object> localizableMessageData = null,
                                                   NotificationSeverity severity = NotificationSeverity.Info)
        {
            var notificationData = new LocalizableMessageNotificationData(localizableMessage);

            if (localizableMessageData != null)
            {
                foreach (var pair in localizableMessageData)
                {
                    notificationData[pair.Key] = pair.Value;
                }
            }

            await _notificationPublisher.PublishAsync(notificationName, notificationData, severity : severity,
                                                      userIds : new[] { user });
        }
예제 #9
0
        public async Task OrderPayed(Order order)
        {
            var notificationData = new LocalizableMessageNotificationData(new LocalizableString(
                                                                              "OrderPayedNotificationMessage",
                                                                              ApplicationConsts.LocalizationSourceName
                                                                              ));

            notificationData["orderTitle"] = order.Title;
            notificationData["payMoney"]   = order.PayMoney;

            await _notificationPublisher.PublishAsync(
                OrderNotificationNames.OrderPayed,
                notificationData,
                severity : NotificationSeverity.Success,
                tenantIds : new[] { (int?)order.TenantId }
                );
        }
        public async Task SendNotificationEditionAssigned(Tenant tenant, Edition edition, User modifier)
        {
            var message          = new LocalizableString("TenantEditionChanged", AbpModuleZeroConsts.LocalizationSourceName);
            var notificationData = new LocalizableMessageNotificationData(message)
            {
                ["tenantName"]  = tenant.Name,
                ["editionName"] = edition.DisplayName,
                ["userName"]    = modifier.FullName
            };

            var entityIdentifier        = new EntityIdentifier(typeof(Edition), edition.Id);
            var messageFTenant          = new LocalizableString("YourEditionWasChanged", AbpModuleZeroConsts.LocalizationSourceName);
            var notificationDataFTenant = new LocalizableMessageNotificationData(messageFTenant);

            //Send notification to host
            await _notificationPublisher.PublishAsync(NotificationNames.EditionEdited, notificationData);

            //Send notification to tenants
            await _notificationPublisher.PublishAsync(NotificationNames.EditionEdited, notificationDataFTenant, entityIdentifier);
        }
        public async Task SendNotificationEditionDeleted(Edition edition, User deleter)
        {
            //EditionDeletedForTenant
            var entityIdentifier = new EntityIdentifier(typeof(Edition), edition.Id);
            var message          = new LocalizableString("EditionDeletedNotification", AbpModuleZeroConsts.LocalizationSourceName);
            var notificationData = new LocalizableMessageNotificationData(message)
            {
                ["editionName"] = edition.DisplayName, ["userName"] = deleter.FullName
            };


            var messageFTenant          = new LocalizableString("EditionDeletedForTenant", AbpModuleZeroConsts.LocalizationSourceName);
            var notificationDataFTenant = new LocalizableMessageNotificationData(messageFTenant)
            {
                ["editionName"] = edition.DisplayName
            };

            //Send notification to host
            await _notificationPublisher.PublishAsync(NotificationNames.EditionDeleted, notificationData);

            //Send notification for clients
            await _notificationPublisher.PublishAsync(NotificationNames.EditionDeleted, notificationDataFTenant, entityIdentifier);
        }
        public async Task SendRoleDeletedNotification(int tenantId, User user, Role role, long[] userIdsInRole)
        {
            var dataToSend = new LocalizableMessageNotificationData(new LocalizableString("RoleDeletedByUser", AbpModuleZeroConsts.LocalizationSourceName))
            {
                ["roleName"] = role.DisplayName,
                ["user"]     = user.FullName
            };
            await _notificationPublisher.PublishAsync(NotificationNames.RoleDeleted, dataToSend, severity : NotificationSeverity.Warn);

            foreach (var l in userIdsInRole)
            {
                var userIdentifier = new UserIdentifier(tenantId, l);

                if ((!await(_notificationSubscriptionManager.IsSubscribedAsync(userIdentifier, NotificationNames.RoleDeletedForUser))))
                {
                    await _notificationSubscriptionManager.SubscribeAsync(userIdentifier, NotificationNames.RoleDeletedForUser);
                }
            }

            var roleToUserNotificationData = new LocalizableMessageNotificationData(new LocalizableString("RoleDeletedForUser", AbpModuleZeroConsts.LocalizationSourceName));

            await _notificationPublisher.PublishAsync(NotificationNames.RoleDeletedForUser, roleToUserNotificationData, severity : NotificationSeverity.Warn);
        }
예제 #13
0
        public void PublisNotice()
        {
            var data = new LocalizableMessageNotificationData(new LocalizableString("通知", ArtSolutionConsts.LocalizationSourceName));

            _notiticationPublisher.Publish("通知", data, severity: NotificationSeverity.Warn);
        }