public Configuration GetByKey(string key)
        {
            //--- obter da memória
            Configuration response = GetByCacheInMemory(key);

            if (response != null)
            {
                return(response);
            }

            //--- obter do mongo
            response = GetByCacheInMongo(key);
            if (response != null)
            {
                return(response);
            }

            //--- se não tem no cache, busca no banco de dados
            Configuration configurationData = _configurationDataSqlRepository.GetByKey(key);

            //--- atualiza o cache
            AddCache(configurationData, key);

            return(configurationData);
        }
        public ConfigurationData GetByKey(string key)
        {
            //--- obter da memória
            string response = GetByCacheInMemory(key);

            if (response != null)
            {
                return(JsonConvert.DeserializeObject <ConfigurationData> (response));
            }

            //--- obter do mongo
            response = GetByCacheInMongo(key);
            if (response != null && !string.IsNullOrEmpty(response))
            {
                return(JsonConvert.DeserializeObject <ConfigurationData> (response));
            }

            //--- se não tem no cache, busca no banco de dados e atualiza o cache
            ConfigurationData configurationData = _configurationDataSqlRepository.GetByKey("PodeExecutarKonduto");

            AddCache(configurationData, key);

            return(configurationData);
        }