public static BaseSMSProvider GetCurrentSmsProvider() { var providerType = Cache.SettingsCache.Instance.GetSmsProviderType(); var SmsService = Activator.CreateInstance(providerType); BaseSMSProvider baseSmsService = (BaseSMSProvider)SmsService; Cache.SettingsCache.Instance.PopulateSmsPropertiesOnObject(baseSmsService); return(baseSmsService); }
public void PopulateSmsPropertiesOnObject(BaseSMSProvider obj) { PropertyInfo[] props = obj.GetType().GetProperties(); foreach (PropertyInfo prop in props) { object[] attrs = prop.GetCustomAttributes(true); foreach (object attr in attrs) { FromFortressSettingsAttribute authAttr = attr as FromFortressSettingsAttribute; if (authAttr != null) { string propName = prop.Name; var key = GenerateCustomSettingKey(obj, propName); prop.SetValue(obj, Convert.ChangeType(key, prop.PropertyType), null); } } } }