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