コード例 #1
0
ファイル: ServicoEnderecos.cs プロジェクト: samucatnb/DotCEP
        public IEnumerable <Endereco> Buscar(UF UF, string Cidade, string Logradouro)
        {
            if (_enderecoCache != null)
            {
                var enderecosDoCache = _enderecoCache.ObterCache(UF, Cidade, Logradouro);

                if (enderecosDoCache.ToList().Count != 0)
                {
                    return(enderecosDoCache);
                }

                var enderecos = BuscarSemCache(UF, Cidade, Logradouro);

                _enderecoCache.CriarCache(enderecos);
                return(enderecos);
            }

            return(BuscarSemCache(UF, Cidade, Logradouro));
        }
コード例 #2
0
        public async Task <IEnumerable <Endereco> > Buscar(UF uf, string cidade, string logradouro)
        {
            if (_enderecoCache != null)
            {
                var enderecosDoCache = await _enderecoCache.ObterCache(uf, cidade, logradouro);

                if (enderecosDoCache.Any())
                {
                    return(enderecosDoCache);
                }

                var enderecos = BuscarSemCache(uf, cidade, logradouro);

                await _enderecoCache.CriarCache(enderecos);

                return(enderecos);
            }

            return(BuscarSemCache(uf, cidade, logradouro));
        }
コード例 #3
0
        public static IEnumerable <Endereco> Buscar(UF UF, string Cidade, string Logradouro,
                                                    IEnderecoCache enderecoCache)
        {
            var enderecosDoCache = enderecoCache.ObterCache(UF, Cidade, Logradouro);

            if (enderecosDoCache.ToList().Count != 0)
            {
                return(enderecosDoCache);
            }

            var enderecos = Buscar(UF, Cidade, Logradouro);

            enderecoCache.CriarCache(enderecos);
            return(enderecos);
        }
コード例 #4
0
        public Endereco(CEP cep, IEnderecoCache enderecoCache)
        {
            _enderecoCache = enderecoCache;

            Endereco endereco;

            if (cep.Valido)
            {
                var enderecoBase = _enderecoCache.ObterCache(cep);

                if (!string.IsNullOrEmpty(enderecoBase.CEP))
                {
                    endereco = enderecoBase;
                }
                else
                {
                    endereco = ObterEndereco(cep);
                    _enderecoCache.CriarCache(endereco);
                }

                AtualziarPropriedades(endereco);
            }
        }
コード例 #5
0
        public Endereco(string cep, IEnderecoCache enderecoCache)
        {
            _enderecoCache = enderecoCache;

            var cepTemp  = new CEP(cep);
            var endereco = this;

            if (cepTemp.Valido)
            {
                var enderecoBase = _enderecoCache.ObterCache(cepTemp);

                if (enderecoBase != null)
                {
                    endereco = enderecoBase;
                }
                else
                {
                    endereco = ObterEndereco(cepTemp);
                    _enderecoCache.CriarCache(endereco);
                }

                AtualziarPropriedades(endereco);
            }
        }