From e139bad1a79a12d902dbe44efd98f5ee06a9fb94 Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Wed, 7 May 2014 10:57:41 -0700 Subject: [PATCH 1/5] adding interface for email settings --- src/NOCQ/NOCQ.csproj | 5 ++++- src/NOCQ/Plugins/Email/EmailSettings.cs | 2 +- src/NOCQ/Plugins/Email/IEmailSetting.cs | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/NOCQ/Plugins/Email/IEmailSetting.cs diff --git a/src/NOCQ/NOCQ.csproj b/src/NOCQ/NOCQ.csproj index 75b8f50..6206afc 100644 --- a/src/NOCQ/NOCQ.csproj +++ b/src/NOCQ/NOCQ.csproj @@ -59,12 +59,15 @@ - + + IEmailSetting.cs + + diff --git a/src/NOCQ/Plugins/Email/EmailSettings.cs b/src/NOCQ/Plugins/Email/EmailSettings.cs index 295d427..d5af464 100644 --- a/src/NOCQ/Plugins/Email/EmailSettings.cs +++ b/src/NOCQ/Plugins/Email/EmailSettings.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; namespace NOCQ.Plugins.Email { - public class EmailSettings + public class EmailSettings :IEmailSetting { public string Username {get;set;} public string Password {get;set;} diff --git a/src/NOCQ/Plugins/Email/IEmailSetting.cs b/src/NOCQ/Plugins/Email/IEmailSetting.cs new file mode 100644 index 0000000..018bdb7 --- /dev/null +++ b/src/NOCQ/Plugins/Email/IEmailSetting.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +namespace NOCQ +{ + public interface IEmailSetting + { + string Username {get;set;} + string Password {get;set;} + string Host {get;set;} + int Port {get;set;} + string Folder {get;set;} + bool IsSsl {get;set;} + int Frequency { get; set; } + IEnumerable ParseRules {get;set;} + } +} + From c707390e604118dce0f1e19825e6dbff4216d651 Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Wed, 7 May 2014 11:03:23 -0700 Subject: [PATCH 2/5] fixing namespace in email --- src/NOCQ/Plugins/Email/IEmailSetting.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NOCQ/Plugins/Email/IEmailSetting.cs b/src/NOCQ/Plugins/Email/IEmailSetting.cs index 018bdb7..e4244ca 100644 --- a/src/NOCQ/Plugins/Email/IEmailSetting.cs +++ b/src/NOCQ/Plugins/Email/IEmailSetting.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -namespace NOCQ +namespace NOCQ.Plugins.Email { public interface IEmailSetting { From d1735ba22237a6921327f4103688d71fbdc45120 Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Wed, 7 May 2014 11:09:40 -0700 Subject: [PATCH 3/5] reflect safely against dynamic object --- src/NOCQ/Plugins/Email/ImapInput.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/NOCQ/Plugins/Email/ImapInput.cs b/src/NOCQ/Plugins/Email/ImapInput.cs index 9762bce..9ece6b2 100644 --- a/src/NOCQ/Plugins/Email/ImapInput.cs +++ b/src/NOCQ/Plugins/Email/ImapInput.cs @@ -22,10 +22,10 @@ namespace NOCQ.Plugins.Email { var sets = settings as EmailSettings; - if (sets.Username == null - || sets.Password == null - || sets.Host == null - || sets.Folder == null) + if (sets.GetType().GetProperty("Username") != null + || sets.GetType().GetProperty("Password") == null + || sets.GetType().GetProperty("Host") == null + || sets.GetType().GetProperty("Folder") == null) throw new ArgumentException ("You are missing a required setting."); parseRules = sets.ParseRules.Where (x => x.Enabled).ToList(); From 2e06143a4a3811329c64e65c54e6087cb9583a17 Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Wed, 7 May 2014 11:11:34 -0700 Subject: [PATCH 4/5] fixing minor human error --- src/NOCQ/Plugins/Email/ImapInput.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NOCQ/Plugins/Email/ImapInput.cs b/src/NOCQ/Plugins/Email/ImapInput.cs index 9ece6b2..5b68257 100644 --- a/src/NOCQ/Plugins/Email/ImapInput.cs +++ b/src/NOCQ/Plugins/Email/ImapInput.cs @@ -22,7 +22,7 @@ namespace NOCQ.Plugins.Email { var sets = settings as EmailSettings; - if (sets.GetType().GetProperty("Username") != null + if (sets.GetType().GetProperty("Username") == null || sets.GetType().GetProperty("Password") == null || sets.GetType().GetProperty("Host") == null || sets.GetType().GetProperty("Folder") == null) From 02f4a8d23329cd21cae9abc49f6e10738cfb241d Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Wed, 7 May 2014 11:14:42 -0700 Subject: [PATCH 5/5] removing redundant assignments --- src/NOCQ/Plugins/Email/ImapInput.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/NOCQ/Plugins/Email/ImapInput.cs b/src/NOCQ/Plugins/Email/ImapInput.cs index 5b68257..33ae6e3 100644 --- a/src/NOCQ/Plugins/Email/ImapInput.cs +++ b/src/NOCQ/Plugins/Email/ImapInput.cs @@ -8,15 +8,15 @@ namespace NOCQ.Plugins.Email { public class ImapInput { - private string loginName { get; set; } - private string password { get; set; } - private string server { get; set; } - private string folderPath { get; set; } - private Timer timer { get; set; } - private int port { get; set; } - private bool ssl { get; set; } - private DateTime lastRun { get; set; } - private List parseRules{ get; set; } + string loginName { get; set; } + string password { get; set; } + string server { get; set; } + string folderPath { get; set; } + Timer timer { get; set; } + int port { get; set; } + bool ssl { get; set; } + DateTime lastRun { get; set; } + List parseRules{ get; set; } public ImapInput (dynamic settings) {