| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using System.Collections.Generic;
- using System.Web.Mvc;
- using Abp.Authorization;
- using Abp.Localization;
- using Abp.Notifications;
- using WeApp.Authorization;
- using IwbZero;
- namespace WeApp.Configuration
- {
- public class IwbNotificationName
- {
- public const string WelcomeMsg = IwbZeroConsts.IwbNotificationWelcomeMsg;
- public const string SendMsg = "UserSendMsg";
- /// <summary>
- /// 可以被订阅的通知
- /// </summary>
- public static List<string> CanbeSubscriptionName = new List<string>()
- {
- WelcomeMsg,
- SendMsg,
- };
- public static List<string> NameList = new List<string>()
- {
- WelcomeMsg,
- SendMsg,
- };
- public static List<SelectListItem> GetNameList()
- {
- var sList = new List<SelectListItem>();
- foreach (var l in NameList)
- {
- sList.Add(new SelectListItem() { Value = l, Text = L("Notification_" + l) });
- }
- return sList;
- }
- private static string L(string name)
- {
- var str = LocalizationHelper.GetSource(IwbZeroConsts.LocalizationSourceName).GetString(name);
- return str;
- }
- }
- public class IwbNotificationProvider : NotificationProvider
- {
- public override void SetNotifications(INotificationDefinitionContext context)
- {
- var ndList = GetCommonDefinitions();
- foreach (var nd in ndList)
- {
- context.Manager.Add(nd);
- }
- }
- public List<NotificationDefinition> GetCommonDefinitions()
- {
- var list = new List<NotificationDefinition>();
- //var t = typeof(IwbNotificationName);
- //var fts = t.GetFields();
- foreach (var f in IwbNotificationName.CanbeSubscriptionName)
- {
- //string name = f.GetRawConstantValue().ToString();
- var setting = new NotificationDefinition(f, null, L("Notification_" + f),
- permissionDependency: new SimplePermissionDependency(PermissionNames.Pages));
- if (!list.Contains(setting))
- {
- list.Add(setting);
- }
- }
- return list;
- }
- private static ILocalizableString L(string name)
- {
- return new LocalizableString(name, IwbZeroConsts.LocalizationSourceName);
- }
- //private static string L(string name)
- //{
- // var str = LocalizationHelper.GetSource(IwbZeroConsts.LocalizationSourceName).GetString(name);
- // return str;
- //}
- }
- }
|