/// <summary> /// Vuelve a cargar el archivo de configuracion desde el origen de datos /// </summary> /// <param name="configProvider">Nombre del proveedor configurado</param> /// <returns></returns> public static ConfigurationFile RefreshConfigurationFile(string configProvider) { ConfigProviderElement provider = GetProvider(configProvider); if (provider == null) { return(null); } switch (provider.ConfigProviderType) { case ConfigProviderType.local: { return(LocalFileConfigurationManager.RefreshConfigurationFile(provider)); } case ConfigProviderType.sqldatabase: { return(DatabaseConfigManager.RefreshConfigurationFile(provider)); } case ConfigProviderType.servicewrapper: { ServiceConfigurationManager.RefreshConfigurationFile(provider); break; } } return(null); }
/// <summary> /// Realiza cambios a una propiedad.- /// </summary> /// <param name="configProvider">Nombre del proveedor de configuracion</param> /// <param name="groupName">Nombre del grupo donde se encuentra la propiedad</param> /// <param name="property">Propiedad actualizada. Este objeto puede contener todos sus valores modifcados</param> /// <param name="propertyName">Nombre de la propiedad que se mofdifico.- Este valor es el original sin modificacion</param> internal static void ChangeProperty(string configProvider, string groupName, Key property, string propertyName) { ConfigProviderElement provider = GetProvider(configProvider); if (provider == null) { return; } switch (provider.ConfigProviderType) { case ConfigProviderType.local: { LocalFileConfigurationManager.ChangeProperty(provider, groupName, property, propertyName); break; } case ConfigProviderType.sqldatabase: { DatabaseConfigManager.ChangeProperty(provider, groupName, property, propertyName); break; } case ConfigProviderType.servicewrapper: { ServiceConfigurationManager.ChangeProperty(provider, groupName, property, propertyName); break; } } }
/// <summary> /// Agrega un grupo al archivo de configuracion.- /// Si el grupo existe se retorna una TecnicalExeption /// </summary> /// <param name="configProvider">Nombre del proveedor de configuracion</param> /// <param name="group">Objeto tipo Grupo que se agregara</param> internal static void AddGroup(string configProvider, Group group) { ConfigProviderElement provider = GetProvider(configProvider); if (provider == null) { return; } switch (provider.ConfigProviderType) { case ConfigProviderType.local: { LocalFileConfigurationManager.AddGroup(provider, group); break; } case ConfigProviderType.sqldatabase: { DatabaseConfigManager.AddGroup(provider, group); break; } case ConfigProviderType.servicewrapper: { ServiceConfigurationManager.AddGroup(provider, group); break; } } }
/// <summary> /// Obtiene un grupo determinado en el archivo de configuracion /// </summary> /// <param name="configProvider">Nombre del proveedor de configuracion</param> /// <param name="pGroupName">Nombre del grupo a obtener</param> /// <returns>Group</returns> /// <Author>Marcelo Oviedo</Author> public static Group GetGroup(string configProvider, string pGroupName) { ConfigProviderElement provider = GetProvider(configProvider); if (provider == null) { return(null); } switch (provider.ConfigProviderType) { case ConfigProviderType.local: { return(LocalFileConfigurationManager.GetGroup(configProvider, pGroupName)); } case ConfigProviderType.sqldatabase: { return(DatabaseConfigManager.GetGroup(configProvider, pGroupName)); } case ConfigProviderType.servicewrapper: { return(ServiceConfigurationManager.GetGroup(configProvider, pGroupName)); } } return(null); }
/// <summary> /// Obtiene una propiedad determinada de un archivo de configuracion .- /// </summary> /// <param name="configProvider">Nombre del proveedor de configuracion</param> /// <param name="pGroupName">Nombre del grupo donde se encuentra la propiedad</param> /// <param name="pPropertyName">Nombre de la propiedad a obtener</param> /// <returns>String con la propiedad</returns> /// <Author>Marcelo Oviedo</Author> public static Key GetKey(string configProvider, string pGroupName, string pPropertyName) { ConfigProviderElement provider = GetProvider(configProvider); if (provider == null) { return(null); } switch (provider.ConfigProviderType) { case ConfigProviderType.local: { return(LocalFileConfigurationManager.GetKey(configProvider, pGroupName, pPropertyName)); } case ConfigProviderType.sqldatabase: { return(DatabaseConfigManager.GetKey(configProvider, pGroupName, pPropertyName)); } //case ConfigProviderType.servicewrapper: // { // return ServiceConfigurationManager.GetProperty(configProvider, pGroupName, pPropertyName); ; // } } return(null); }
/// <summary> /// Obtiene un grupo determinado en el archivo de configuracion /// </summary> /// <param name="configProvider">Proveedor de configuuracion</param> /// <param name="groupName">Nombre del grupo</param> /// <returns>Hashtable con los grupos contenidos en el archivo de configuracion</returns> /// <Author>Marcelo Oviedo</Author> internal static Group GetGroup(string configProvider, string groupName) { ConfigProviderElement provider = ConfigurationManager.GetProvider(configProvider); Group wGroup = null; try { using (FwkDatacontext dc = new FwkDatacontext(DatabaseConfigManager.GetCnnString(provider))) { var properties_group = dc.fwk_ConfigManagers.Where(config => config.ConfigurationFileName.ToLower().Equals(provider.BaseConfigFile.ToLower()) && config.group.ToLower().Equals(groupName.ToLower()) ); if (properties_group == null) { TechnicalException te = new TechnicalException(string.Concat(new String[] { "No se encuentra el grupo ", groupName, " en el archivo de configuración: ", provider.BaseConfigFile })); te.ErrorId = "8006"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(ConfigurationManager)); throw te; } if (properties_group.Count() != 0) { wGroup = new Group(); wGroup.Name = groupName; wGroup.Keys = new Keys(); Key wKey = new Key(); foreach (var item in properties_group) { wKey = new Key(); wKey.Name = item.key; wKey.Value.Text = item.value; wKey.Encrypted = item.encrypted; wGroup.Keys.Add(wKey); } } } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.Configuration al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException <DatabaseConfigManager>(te); te.ErrorId = "8200"; throw te; } return(wGroup); }
/// <summary> /// /// </summary> /// <param name="sourceConfigurationFile"></param> /// <param name="provider">Destination provider </param> public static void Import(ConfigurationFile sourceConfigurationFile, ConfigProviderElement provider) { if (provider == null) { return; } switch (provider.ConfigProviderType) { case ConfigProviderType.local: { throw new NotImplementedException("Funcionalidad de exportacion no impolementada"); } case ConfigProviderType.sqldatabase: { DatabaseConfigManager.Import(provider, sourceConfigurationFile); break; } case ConfigProviderType.servicewrapper: { throw new NotImplementedException("Funcionalidad de exportacion no impolementada"); } } }