INotificationPlugin.cs 1011 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using GreenTree.Nachtragsmanagement.Core.Domain.Misc;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace GreenTree.Nachtragsmanagement.Core.Plugins
  8. {
  9. public interface INotificationPlugin
  10. {
  11. /// <summary>
  12. /// Id
  13. /// </summary>
  14. Guid Id { get; }
  15. /// <summary>
  16. /// System name
  17. /// </summary>
  18. string SystemName { get; }
  19. /// <summary>
  20. /// Displayed name
  21. /// </summary>
  22. string Name { get; }
  23. /// <summary>
  24. /// Further description on how this plugin works
  25. /// </summary>
  26. string Description { get; }
  27. /// <summary>
  28. /// Process all mail notifications registered for that plugin
  29. /// </summary>
  30. /// <param name="mailNotifications">The notifications which shall be generated.</param>
  31. void ProcessNotifications(IEnumerable<MailNotification> mailNotifications);
  32. }
  33. }