Ejemplo n.º 1
0
 /// <summary>
 /// Elimina un proveedor
 /// </summary>
 /// <param name="configProvider"></param>
 public void Remove(ConfigProviderElement configProvider)
 {
     if (BaseIndexOf(configProvider) >= 0)
     {
         BaseRemove(configProvider.Name);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Agrega un nuevo proveedor si este no existe
 /// </summary>
 /// <param name="newProvider"></param>
 public void AddNewProvider(ConfigProviderElement newProvider)
 {
     if (this.GetProvider(newProvider.Name) == null)
     {
         this.Providers.Add(newProvider);
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Busca la configuracion <see cref="ConfigurationFile"/> atravez de una llamada a un servicio fwk
        /// Este codigo se ejecuta del lado del clientes es decir en el Wrapper
        /// Del lado del servidor (dispatcher) debe existir una configuracion Xml o Database con el mismo nombre de provider que 
        /// realiza la llmada del cliente de tipo Service.
        /// Utiliza provider.SourceInfo para localizar un wrapper valido en el ciente que es e q se utilizara para conectarce al Dispatcher
        /// </summary>
        /// <param name="provider">Proveedor de configuración.</param>
        /// <Author>Marcelo Oviedo</Author>
        static ConfigurationFile SetConfigurationFile(ConfigProviderElement provider)
        {

            GetFwkConfigurationReq req = new GetFwkConfigurationReq();
            req.BusinessData.ConfigProviderName = provider.Name;

            GetFwkConfigurationRes res = req.ExecuteService<GetFwkConfigurationReq, GetFwkConfigurationRes>(provider.SourceInfo,req);


            if (res.Error != null)
                throw Fwk.Exceptions.ExceptionHelper.ProcessException(res.Error);
            return res.BusinessData;

        }
Ejemplo n.º 4
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="provider"></param>
        internal static void RemoveConfigManager(ConfigProviderElement provider)
        {

            ConfigurationFile wConfigurationFile = _Repository.GetConfigurationFile(provider.BaseConfigFile);
            _Repository.RemoveConfigurationFile(wConfigurationFile);

        }
Ejemplo n.º 5
0
 /// <summary>
 /// Permite establecer el proveedor de configuración por defecto sin importar al proveedor por defecto configurado en el app config
 /// </summary>
 /// <param name="providerName"></param>
 public static void ChangeDefaultProvider(string providerName)
 {
     _DefaultProvider = _ConfigProvider.GetProvider(providerName);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sourceConfigurationFile"></param>
 /// <param name="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");
             }
     }
    
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Realiza cambios a una propiedad.-
        /// </summary>
        /// <param name="provider">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(ConfigProviderElement provider, string groupName, Key property, string propertyName)
        {

            try
            {
                using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider)))
                {

                    var prop = dc.fwk_ConfigManagers.Where(config =>
                               config.ConfigurationFileName.ToLower().Equals(provider.BaseConfigFile.ToLower())
                               && config.group.ToLower().Equals(groupName.ToLower())
                               && config.key.ToLower().Equals(propertyName.ToLower())
                   ).FirstOrDefault<fwk_ConfigManager>();
                    prop.value = property.Value.Text;
                    prop.encrypted = property.Encrypted;
                    prop.key = property.Name;
                    dc.SubmitChanges();
                }

            }
            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;

            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Elimina un grupo de la configuracion
        /// </summary>
        /// <param name="provider">Proveedor de configuracion</param>
        /// <param name="groupName">Nombre del grupo a eliminar</param>
        internal static void RemoveGroup(ConfigProviderElement provider, string groupName)
        {

            ConfigurationFile wConfigurationFile = GetConfig(provider);
            Group g = wConfigurationFile.Groups.GetFirstByName(groupName);

            wConfigurationFile.Groups.Remove(g);



            System.Text.StringBuilder sqlCommand = new StringBuilder("Delete from [fwk_ConfigManager] where ");
            sqlCommand.AppendLine(string.Concat("ConfigurationFileName = '", provider.BaseConfigFile, "'"));
            sqlCommand.AppendLine(string.Concat("and [group] = '", groupName, "'"));

            //if (!String.IsNullOrEmpty(provider.ApplicationId))
            //    sqlCommand.AppendLine(string.Concat("and AppId = '", provider.ApplicationId, "'"));

            EexeSqlCommand(sqlCommand.ToString(), provider.SourceInfo);
        }
Ejemplo n.º 9
0
 public void Populate(ConfigProviderElement pProvider)
 {
     Provider = pProvider;
     if (pProvider == null) return;
     SetProvider();
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sourceConfigurationFile"></param>
 /// <param name="provider"></param>
 public static void Import(ConfigurationFile sourceConfigurationFile,ConfigProviderElement provider)
 {
     ConfigurationManager.Import(sourceConfigurationFile, provider);
 }
Ejemplo n.º 11
0
        void AddNewProvider(ConfigProviderElement newProvider)
        {
            try
            {
               
                ConfigProviderSection config = (ConfigProviderSection)configuration.Sections["FwkConfigProvider"];
                config.Providers.Add(newProvider);
                
                configuration.Save(ConfigurationSaveMode.Minimal, true);

                Fwk.Configuration.ConfigurationManager.ConfigProvider.Providers.Add(newProvider);
            }
            catch (Exception ex)
            {
                this.ExceptionViewer.Show(ex);
            }
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Agrega un nuevo proveedor a la coleccion Providers .-
 /// </summary>
 /// <param name="configProvider"></param>
 public void Add(ConfigProviderElement configProvider)
 {
     base.BaseAdd(configProvider, true);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Retorna el índice del proveedor de configuracion.
 /// </summary>
 /// <param name="configProvider">configProvider que se desea conocer su </param>
 /// <returns>índice</returns>
 public int IndexOf(ConfigProviderElement configProvider)
 {
     return(BaseIndexOf(configProvider));
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Vuelve a cargar el archivo de configuracion desde el origen de datos
        /// </summary>
        /// <param name="provider">Proveedor de configuracion</param>
        /// <returns></returns>
        internal static ConfigurationFile RefreshConfigurationFile(ConfigProviderElement provider)
        {
            ConfigurationFile wConfigurationFile = _Repository.GetConfigurationFile(provider.Name);

            if (wConfigurationFile != null)
            {
                _Repository.RemoveConfigurationFile(wConfigurationFile);
                wConfigurationFile = null;
            }

            wConfigurationFile = SetConfigurationFile(provider);
            _Repository.AddConfigurationFile(wConfigurationFile);

            return wConfigurationFile;
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Obtiene un String con el contenido del archivo xml de configuracion. 
        /// Si este metodo es accedido desde el servicio web extrae la informacion de estado del archivo:
        /// Encrypt
        /// TTL
        /// ForceUpdate
        /// CurrentVersion
        /// BaseConfigFile
        /// Cacheable
        /// </summary>
        /// <param name="provider">Proveedor de configuración.</param>
        /// <Author>Marcelo Oviedo</Author>
        static ConfigurationFile SetConfigurationFile(ConfigProviderElement provider)
        {
            ConfigurationFile wConfigurationFile = new ConfigurationFile();


            string wFullFileName;
            if (System.IO.File.Exists(provider.BaseConfigFile))
            {
                wFullFileName = provider.BaseConfigFile;
            }
            else
            {
                //Application.StartupPath
                wFullFileName = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), provider.BaseConfigFile);
            }

            if (!System.IO.File.Exists(wFullFileName))
            {
                TechnicalException te = new TechnicalException(string.Concat("El archivo de artchivo de configuración ", provider.BaseConfigFile, " no existe. ", Environment.NewLine, "Revisar en el archivo .config de la aplicacion la configuración del proveedor [", provider.Name, "]"));
                te.ErrorId = "8011";
                Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(LocalFileConfigurationManager));
                throw te;

            }

            wConfigurationFile = ConfigurationFile.GetFromXml<ConfigurationFile>(Fwk.HelperFunctions.FileFunctions.OpenTextFile(wFullFileName));



            wConfigurationFile.FileName = wFullFileName;

            if (wConfigurationFile != null)
            {
                wConfigurationFile.TTL = wConfigurationFile.TTL;
                wConfigurationFile.Encrypted = wConfigurationFile.Encrypted;
                wConfigurationFile.ForceUpdate = wConfigurationFile.ForceUpdate;
                wConfigurationFile.CurrentVersion = wConfigurationFile.CurrentVersion;
                wConfigurationFile.ProviderName = provider.Name;

            }

            return wConfigurationFile;

        }
Ejemplo n.º 16
0
 /// <summary>
 /// Agrega un nuevo proveedor a la coleccion Providers .-
 /// </summary>
 /// <param name="configProvider"></param>
 public void Add(ConfigProviderElement configProvider)
 {
     base.BaseAdd(configProvider, true);
 }
Ejemplo n.º 17
0
        /// <summary>
        /// Elimina un grupo de la configuracion
        /// </summary>
        /// <param name="provider">Proveedor de configuracion</param>
        /// <param name="groupName">Nombre del grupo a eliminar</param>
        internal static void RemoveGroup(ConfigProviderElement provider, string groupName)
        {

            ConfigurationFile wConfigurationFile = GetConfig(provider);
            Group g = wConfigurationFile.Groups.GetFirstByName(groupName);

            wConfigurationFile.Groups.Remove(g);

            try
            {
                FileFunctions.SaveTextFile(wConfigurationFile.FileName, wConfigurationFile.GetXml(), false);
            }
            catch (System.UnauthorizedAccessException)
            {
                TechnicalException te = new TechnicalException(string.Concat("No tiene permiso para actualizar el archivo ", provider.BaseConfigFile));
                te.ErrorId = "8008";
                Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(LocalFileConfigurationManager));
                throw te;
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="provider">Proveedor de configuracion</param>
        /// <param name="group">Grupo</param>
        internal static void AddGroup(ConfigProviderElement provider, Group group)
        {
            
            ConfigurationFile wConfigurationFile = GetConfig(provider);


            wConfigurationFile.Groups.Add(group);
            fwk_ConfigManager confg;

            try
            {
                using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider)))
                {
                    foreach (Key k in group.Keys)
                    {
                        confg = new fwk_ConfigManager();
                        confg.ConfigurationFileName = provider.BaseConfigFile;
                        confg.key = k.Name;
                        confg.encrypted = k.Encrypted;
                        confg.value = k.Value.Text;
                        confg.group = group.Name;
                        dc.fwk_ConfigManagers.InsertOnSubmit(confg);

                    }
                    dc.SubmitChanges();
                }

            }
            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;
            }
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Realiza cambios a una propiedad.-
        /// </summary>
        /// <param name="provider">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(ConfigProviderElement provider, string groupName, Key property, string propertyName)
        {
            ConfigurationFile wConfigurationFile = GetConfig(provider);
            Group wGroup = wConfigurationFile.Groups.GetFirstByName(groupName);
            Key k = wGroup.Keys.GetFirstByName(propertyName);

            k.Name = property.Name;
            k.Encrypted = property.Encrypted;
            k.Value.Text = property.Value.Text;

            try
            {
                FileFunctions.SaveTextFile(wConfigurationFile.FileName, wConfigurationFile.GetXml(), false);
            }
            catch (System.UnauthorizedAccessException)
            {

                TechnicalException te = new TechnicalException(string.Concat("No tiene permiso para actualizar el archivo ", provider.BaseConfigFile));
                te.ErrorId = "8008";
                Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(LocalFileConfigurationManager));
                throw te;
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Cambia el nombre de un grupo.-
        /// </summary>
        /// <param name="provider">Proveedor de configuracion</param>
        /// <param name="groupName">Nombre del grupo</param>
        /// <param name="newGroupName">Nuevo nombre del grupo</param>
        internal static void ChangeGroupName(ConfigProviderElement provider, string groupName, string newGroupName)
        {
            //ConfigurationFile wConfigurationFile = GetConfig(provider);
            try
            {
                using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider)))
                {
                    var configs = dc.fwk_ConfigManagers.Where(p =>
                          p.group.Equals(groupName)
                          && p.ConfigurationFileName.Equals(provider.BaseConfigFile));

                    foreach (fwk_ConfigManager confg in configs)
                    {
                        confg.group = newGroupName;
                    }
                    dc.SubmitChanges();
                }


            }
            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;

            }
        }
Ejemplo n.º 21
0
 /// <summary>
 /// Constructor de ConfigProviderSection.
 /// </summary>
 public ConfigProviderSection()
 {
     _ConfigProviderElement = new ConfigProviderElement();
   
 }
Ejemplo n.º 22
0
 internal static void Import(ConfigProviderElement provider, ConfigurationFile sourceConfigurationFile)
 {
     foreach (Group wGrp in sourceConfigurationFile.Groups)
     {
         foreach (Fwk.Configuration.Common.Key wKey in wGrp.Keys)
         {
             if (ExistProperty(wGrp.Name, wKey.Name, provider))
             {
                 ChangeProperty(provider,wGrp.Name,wKey,wKey.Name);
             }
             else
             {
             AddProperty(provider, wKey, wGrp.Name);
             }
             
         }
     }
 }
Ejemplo n.º 23
0
        /// <summary>
        /// Agrega un nuevo proveedor si este no existe
        /// </summary>
        /// <param name="newProvider"></param>
        public void AddNewProvider(ConfigProviderElement newProvider)
        {
            if (this.GetProvider(newProvider.Name) == null)
            {
                this.Providers.Add(newProvider);


            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// Constructor estatico del bloque de configuracion del framework
        /// </summary>
        static ConfigurationManager()
        {
            TechnicalException te;
            try
            {
                _ConfigProvider = System.Configuration.ConfigurationManager.GetSection("FwkConfigProvider") as ConfigProviderSection;
                if (_ConfigProvider == null)
                {
                    te = new TechnicalException("No se puede cargar el proveedor de configuracion del framework fwk, verifique si existe la seccion [FwkConfigProvider] en el archivo de configuracion.");
                    te.ErrorId = "8000";
                    te.Namespace = "Fwk.Configuration";
                    te.Class = "Fwk.Configuration.ConfigurationManager [static constructor --> ConfigurationManager()]";
                    te.UserName = Environment.UserName;
                    te.Machine = Environment.MachineName;
              
                    if (string.IsNullOrEmpty(ConfigurationsHelper.HostApplicationName))
                        te.Source = "Sistema de Configuration del framework en ";
                    else
                        te.Source = ConfigurationsHelper.HostApplicationName;

                    throw te;
                }
            }
            catch (System.Exception ex)
            {
                te = new TechnicalException("No se puede cargar el proveedor de configuracion del framework fwk, verifique si existe la seccion [FwkConfigProvider] en el archivo de configuracion. \r\n", ex);
                te.ErrorId = "8000";
                te.Namespace = "Fwk.Configuration";
                te.Class = "Fwk.Configuration.ConfigurationManager [static constructor --> ConfigurationManager()]";
                te.UserName = Environment.UserName;
                te.Machine = Environment.MachineName;

                if (string.IsNullOrEmpty(ConfigurationsHelper.HostApplicationName))
                    te.Source = "Sistema de Configuration del framework en ";
                else
                    te.Source = ConfigurationsHelper.HostApplicationName;

                throw te;

            }

            _DefaultProvider = _ConfigProvider.DefaultProvider;

        }
Ejemplo n.º 25
0
 static string GetCnnString(ConfigProviderElement provider)
 {
     
     if (provider.SourceInfoIsConnectionString)
     {
         return  provider.SourceInfo;
     }
     else
     {
         if (System.Configuration.ConfigurationManager.ConnectionStrings[provider.SourceInfo] == null)
         {
             TechnicalException te = new TechnicalException(string.Concat("Problemas con Fwk.Configuration, no se puede encontrar la cadena de conexión: ", provider.SourceInfo));
             ExceptionHelper.SetTechnicalException<DatabaseConfigManager>(te);
             te.ErrorId = "8200";
             throw te;
         }
         return  System.Configuration.ConfigurationManager.ConnectionStrings[provider.SourceInfo].ConnectionString;
     }
     
 }
Ejemplo n.º 26
0
 /// <summary>
 /// Devuelve el contenido completo de un archivo de configuración
 /// dado el nombre de archivo.
 /// </summary>
 /// <param name="provider">Proveedor de configuración.</param>
 /// <returns>ConfigurationFile</returns>
 /// <Author>Marcelo Oviedo</Author>
 internal static ConfigurationFile GetConfigurationFile(ConfigProviderElement provider)
 {
     return GetConfig(provider);
 }
Ejemplo n.º 27
0
        /// <summary>
        /// Devuelve el contenido completo de un archivo de configuración
        /// dado el nombre de archivo.
        /// </summary>
        /// <param name="provider">provider</param>
        /// <returns><see cref="ConfigurationFile"/></returns>
        /// <Author>Marcelo Oviedo</Author>
        static ConfigurationFile GetConfig(ConfigProviderElement provider)
        {
            ConfigurationFile wConfigurationFile = GetFromDatabase(provider.BaseConfigFile, provider);

            return wConfigurationFile;

        }
Ejemplo n.º 28
0
        /// <summary>
        /// Devuelve el contenido completo de un archivo de configuración
        /// dado el nombre de archivo.
        /// </summary>
        /// <param name="provider">Proveedor de configuración.</param>
        /// <returns>ConfigurationFile</returns>
        /// <Author>Marcelo Oviedo</Author>
        static ConfigurationFile GetConfig(ConfigProviderElement provider)
        {

            ConfigurationFile wConfigurationFile = _Repository.GetConfigurationFile(provider.Name);

            if (wConfigurationFile == null)
            {
                wConfigurationFile = SetConfigurationFile(provider);
                _Repository.AddConfigurationFile(wConfigurationFile);

            }
            return wConfigurationFile;

        }
Ejemplo n.º 29
0
        /// <summary>
        /// Busca en la base de datos el archivo de configuracion
        /// </summary>
        /// <param name="pFileName">Nombre de archivo.</param>
        /// <param name="provider">provider</param>
        /// <Author>Marcelo Oviedo</Author>
        static ConfigurationFile GetFromDatabase(string pFileName, ConfigProviderElement provider)
        {

            ConfigurationFile wConfigurationFile = new ConfigurationFile();
            wConfigurationFile.Groups = new Groups();
            string groupAuxiliar = string.Empty;
            Group g = null;
            Key k = null;
            wConfigurationFile.FileName = pFileName;

            try
            {
                using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider)))
                {

                    IEnumerable<fwk_ConfigManager> fwk_ConfigManagerList = from s in dc.fwk_ConfigManagers
                                                                             where s.ConfigurationFileName.Equals(pFileName)

                                                                             select s;

                    foreach (fwk_ConfigManager fwk_Config in fwk_ConfigManagerList.OrderBy(p => p.group))
                    {
                        if (!groupAuxiliar.Equals(fwk_Config.group))
                        {
                            groupAuxiliar = Convert.ToString(fwk_Config.group);
                            g = new Group();
                            g.Name = groupAuxiliar;
                            wConfigurationFile.Groups.Add(g);
                        }

                        k = new Key();
                        k.Encrypted = fwk_Config.encrypted;
                        k.Name = fwk_Config.key;
                        k.Value.Text = fwk_Config.value;

                        g.Keys.Add(k);
                    }

                }
            }
            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 wConfigurationFile;
        }
Ejemplo n.º 30
0
 /// <summary>
 /// Realiza cambios a una propiedad.-
 /// </summary>
 /// <param name="provider">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(ConfigProviderElement provider, string groupName, Key property, string propertyName)
 {
 
     TechnicalException te = new TechnicalException(string.Concat("No esta nimplementada esta funcionalidad de ConfigurationMannager contra servicios ", provider.BaseConfigFile));
     te.ErrorId = "8008";
     Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(LocalFileConfigurationManager));
     throw te;
 }
Ejemplo n.º 31
0
        /// <summary>
        /// Busca en la base de datos el archivo de configuracion
        /// </summary>
        /// <param name="groupName"></param>
        /// <param name="keyName"></param>
        /// <param name="destinationProvider">Provedor destino</param>
        /// <Author>Marcelo Oviedo</Author>
        static bool ExistProperty(string groupName,string keyName, ConfigProviderElement destinationProvider)
        {
            try
            {
                using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(destinationProvider)))
                {

                      var properties = dc.fwk_ConfigManagers.Where(config =>
                       config.ConfigurationFileName.ToLower().Equals(destinationProvider.BaseConfigFile.ToLower())
                       &&         config.group.ToLower().Equals(groupName.ToLower())
                       && config.key.ToLower().Equals(keyName.ToLower())
                       );

                      return properties.Any();
                }
            }
            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;
            }

            
        }
Ejemplo n.º 32
0
        /// <summary>
        /// Retorna el índice del proveedor de configuracion.
        /// </summary>
        /// <param name="configProvider">configProvider que se desea conocer su </param>
        /// <returns>índice</returns>
        public int IndexOf(ConfigProviderElement configProvider)
        {

            return BaseIndexOf(configProvider);
        }
Ejemplo n.º 33
0
        /// <summary>
        ///Si grupo no existe en un provider p/bd es por que seguramente se agrego el grupo por la aplicacion del fwk y ahun este grupo se encuentra vasio.
        ///y no es posible agregar grupos vasios ya que los grupos tienen que tener al menos una propiedad para ser agregados a la tabla
        /// </summary>
        /// <param name="provider">Proveedor de configuracion</param>
        /// <param name="key"></param>
        /// <param name="groupName">Nombre del gruop que contiene las propiedades</param>
        internal static void AddProperty(ConfigProviderElement provider, Key key, string groupName)
        {
            
            System.Text.StringBuilder sqlCommand = new StringBuilder();

            ConfigurationFile wConfigurationFile = GetConfig(provider); 
            Group wGroup = wConfigurationFile.Groups.GetFirstByName(groupName);

            //Si grupo no existe en un provider p/bd es por que seguramente se agrego el grupo por la aplicacion del fwk y ahun este grupo se encuentra vasio.
            //y no es posible agregar grupos vasios ya que los grupos tienen que tener al menos una propiedad para ser agregados a la tabla
            if (wGroup == null)
            {
                wGroup = new Group();
                wGroup.Keys = new Keys();
                wGroup.Name=groupName;
                AddGroup(provider, wGroup);
            }
            wGroup.Keys.Add(key);



            fwk_ConfigManager confg;
            try
            {
                using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider)))
                {

                    confg = new fwk_ConfigManager();
                    confg.ConfigurationFileName = provider.BaseConfigFile;
                    confg.key = key.Name;
                    confg.encrypted = key.Encrypted;
                    confg.value = key.Value.Text;
                    confg.group = groupName;

                    dc.fwk_ConfigManagers.InsertOnSubmit(confg);


                    dc.SubmitChanges();
                }

            }
            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;

            }
        }
Ejemplo n.º 34
0
 /// <summary>
 /// Elimina un proveedor  
 /// </summary>
 /// <param name="configProvider"></param>
 public void Remove(ConfigProviderElement configProvider)
 {
     if (BaseIndexOf(configProvider) >= 0)
         BaseRemove(configProvider.Name);
 }
Ejemplo n.º 35
0
 /// <summary>
 /// Constructor de ConfigProviderSection.
 /// </summary>
 public ConfigProviderSection()
 {
     _ConfigProviderElement = new ConfigProviderElement();
 }