Beispiel #1
0
        public Condominium Validate(string cnpj)
        {
            try
            {
                var           condominium   = new Condominium();
                ReceitaWS     receitaWS     = new ReceitaWS();
                ReceitaWSRoot receitaWSRoot = ReceitaWS.Validate(cnpj);
                condominium.Name  = receitaWSRoot.nome.ToUpper();
                condominium.Phone = receitaWSRoot.telefone;
                condominium.CNPJ  = receitaWSRoot.cnpj.Replace("/", "").Replace(".", "").Replace("-", "");

                // Localização
                ViaCEPRoot viaCEPRoot = new ViaCEPRoot();
                viaCEPRoot = ViaCEP.Validate(receitaWSRoot.cep.Replace("/", "").Replace(".", "").Replace("-", ""));

                if (viaCEPRoot != null)
                {
                    condominium.Address          = new Address();
                    condominium.Address.Zip      = viaCEPRoot.cep.Replace("-", "").Replace(".", "");
                    condominium.Address.Street   = viaCEPRoot.logradouro;
                    condominium.Address.District = viaCEPRoot.bairro;

                    StandartPersistence standartPersistence =
                        new StandartPersistence(this.Connection);

                    condominium.Address.State = standartPersistence.GetEntities <State>(CommandType.Text,
                                                                                        "SELECT IdEstate, UPPER(Name) AS Name, UF FROM State WHERE UF = @UF",
                                                                                        new { UF = viaCEPRoot.uf.ToUpper() }).SingleOrDefault();

                    var city = standartPersistence.GetEntities <City>(CommandType.Text,
                                                                      "SELECT IdCity, Name, IdEstate FROM City WHERE Name = @Name", new { Name = TextFormat.RemoveAccentuation(viaCEPRoot.localidade.ToUpper()) }).SingleOrDefault();

                    condominium.Address.State.Cities = new List <City>();
                    condominium.Address.State.Cities.Add(city);

                    condominium.Address.IdEstate = condominium.Address.State.IdEstate;
                    condominium.Address.IdCity   = condominium.Address.State.Cities[0].IdCity;
                }

                return(condominium);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// Método que realiza consulta na API ReceitaWS e retorna os dados da empresa relativa ao CNPJ consultado.
        /// </summary>
        /// <param name="cnpj"></param>
        /// <returns></returns>
        protected ReceitaWS EmpresaDados(string cnpj)
        {
            ReceitaWS jsonResult = new ReceitaWS();
            string    responseJson;
            string    receitaWS    = "https://www.receitaws.com.br/v1/cnpj/";
            string    Api_Consulta = receitaWS + cnpj.Replace(".", "").Replace("-", "").Replace("/", "");

            try
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Clear();
                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    using (var request = new HttpRequestMessage(HttpMethod.Get, Api_Consulta))
                    {
                        using (var response = client.SendAsync(request).Result)
                        {
                            if (response.IsSuccessStatusCode)
                            {
                                responseJson = response.Content.ReadAsStringAsync().Result;
                                jsonResult   = JsonConvert.DeserializeObject <ReceitaWS>(responseJson);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Log(LogLevel.Error)
                .Exception(ex)
                .Message("Mensagem de log {0} parametro", 1).Write();

                return(null);
            }
            return(jsonResult);
        }