Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Creating and initializing
- var recipients = GetRecipientsList();
- var notificationManager = new NotificationManager();
- var emailServiceSettings = new EmailServiceSettings
- {
- Host = "10.19.13.2",
- Port = 25,
- UserName = "user",
- Password = "password",
- EnableSsl = false,
- };
- var emailSender = new DefaultSmtpEmailSender();
- emailSender.SetUpSettings(emailServiceSettings);
- var emailNotifier = new EmailNotifier(emailSender);
- notificationManager.Subscribers.Add(emailNotifier);
- notificationManager.Notify(new NotifyObject());
- // Declaration
- public class NotificationManager
- {
- public NotificationManager()
- {
- Subscribers = new List<IObserver<NotifyObject>>();
- }
- public List<IObserver<NotifyObject>> Subscribers { get; private set; }
- public void Notify(NotifyObject message)
- {
- Subscribers.ForEach(x => x.OnNext(message));
- }
- }
- public class EmailNotifier : IObserver<NotifyObject>
- {
- private IEmailSender _emailSender;
- public EmailNotifier(IEmailSender emailSender)
- {
- _emailSender = emailSender;
- }
- public void OnNext(NotifyObject notifyObject)
- {
- var email = new EmailContext
- {
- From = "file2rest@pixabit-solutions.de",
- EmailSubject = "File2Rest Notificator",
- Message = notifyObject.Message,
- Encoding = Encoding.UTF8,
- IsHtmlBody = false
- };
- _emailSender.SendEmail(new List<string> { "andrey.zherditskiy@pixabit-solutions.de" }, email);
- }
- public void OnError(Exception error)
- {
- throw error;
- }
- public void OnCompleted()
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement