DefaultNotificationsCreator.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using System.Linq;
  3. using Abp.Notifications;
  4. using WeApp.BaseInfo;
  5. using WeApp.Configuration;
  6. using WeApp.EF;
  7. namespace WeApp.SeedData
  8. {
  9. public class DefaultNotificationsCreator
  10. {
  11. private readonly WeAppDbContext _context;
  12. public DefaultNotificationsCreator(WeAppDbContext context)
  13. {
  14. _context = context;
  15. }
  16. public void Create()
  17. {
  18. _context.TruncateTable("[dbo].[Sys_Notifications]");
  19. #region Default
  20. CreateNotifications(IwbNotificationName.WelcomeMsg);
  21. CreateNotifications(IwbNotificationName.SendMsg);
  22. #endregion
  23. }
  24. private void CreateNotifications(string name, NotificationSeverity severity = NotificationSeverity.Info)
  25. {
  26. if (_context.Notifications.Any(s => s.NotificationName == name))
  27. {
  28. return;
  29. }
  30. _context.Notifications.Add(new NotificationInfo()
  31. {
  32. Id = Guid.NewGuid(),
  33. NotificationName = name,
  34. Severity = severity
  35. });
  36. _context.SaveChanges();
  37. }
  38. }
  39. }