| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.IO;
 
- using InABox.API;
 
- using InABox.Core;
 
- namespace PRSServer
 
- {
 
-     public class SMSProviderProperties : BaseObject
 
-     {
 
-         public SMSProviderType ProviderType { get; set; }
 
-         public string Properties { get; set; }
 
-         public static BaseSMSProviderProperties? ToProperties(SMSProviderType type, string? properties)
 
-         {
 
-             return type switch
 
-             {
 
-                 SMSProviderType.Exchange =>
 
-                     Serialization.Deserialize<ExchangeProviderProperties>(properties)
 
-                         ?? new ExchangeProviderProperties(),
 
-                 SMSProviderType.IMAP =>
 
-                     Serialization.Deserialize<IMAPProviderProperties>(properties)
 
-                         ?? new IMAPProviderProperties(),
 
-                 SMSProviderType.ASPSMS =>
 
-                     Serialization.Deserialize<ASPSMSProviderProperties>(properties)
 
-                         ?? new ASPSMSProviderProperties(),
 
-                 SMSProviderType.Twilio =>
 
-                     Serialization.Deserialize<TwilioProviderProperties>(properties)
 
-                         ?? new TwilioProviderProperties(),
 
-                 _ => null
 
-             };
 
-         }
 
-         public BaseSMSProviderProperties? ToProperties()
 
-         {
 
-             return ToProperties(ProviderType, Properties);
 
-         }
 
-     }
 
-     public class BaseSMSProviderProperties : BaseObject
 
-     {
 
-     }
 
-     public class ExchangeProviderProperties : BaseSMSProviderProperties
 
-     {
 
-         [TextBoxEditor]
 
-         [EditorSequence(1)]
 
-         public string Host { get; set; }
 
-         [IntegerEditor]
 
-         [EditorSequence(2)]
 
-         public int Port { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(3)]
 
-         public string EmailAddress { get; set; }
 
-         [PasswordEditor]
 
-         [EditorSequence(4)]
 
-         public string Password { get; set; }
 
-     }
 
-     public class IMAPProviderProperties : BaseSMSProviderProperties
 
-     {
 
-         [TextBoxEditor]
 
-         [EditorSequence(1)]
 
-         public string Host { get; set; }
 
-         [IntegerEditor]
 
-         [EditorSequence(2)]
 
-         public int Port { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(3)]
 
-         public string EmailAddress { get; set; }
 
-         [PasswordEditor]
 
-         [EditorSequence(4)]
 
-         public string Password { get; set; }
 
-     }
 
-     public class ASPSMSProviderProperties : BaseSMSProviderProperties
 
-     {
 
-         [TextBoxEditor]
 
-         [EditorSequence(1)]
 
-         public string Userkey { get; set; }
 
-         [PasswordEditor]
 
-         [EditorSequence(2)]
 
-         public string APIPassword { get; set; }
 
-     }
 
-     
 
-     public class TwilioProviderProperties : BaseSMSProviderProperties
 
-     {
 
-         [TextBoxEditor]
 
-         [EditorSequence(1)]
 
-         public string AccountSID { get; set; }
 
-         [PasswordEditor]
 
-         [EditorSequence(2)]
 
-         public string AuthToken { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(3)]
 
-         public string Number { get; set; }
 
-     }
 
- }
 
 
  |