private int ObterCliente(AccountSalesObject salesObject) { var client = new HttpClient(); client.Timeout = TimeSpan.FromMinutes(120); var _microservicoUrls = RecuperarMicroServicosUrls(); client.BaseAddress = new Uri(_microservicoUrls.UrlApiCliente); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var content = new StringContent(JsonConvert.SerializeObject(salesObject), Encoding.UTF8, "application/json"); var response = client.PostAsync("api/cliente/TratarClienteSalesforce", content).Result; if (response.StatusCode != System.Net.HttpStatusCode.OK) { AdicionarLogGenerico("Erro ao persistir cliente: " + salesObject.CNPJ__c); } else { AdicionarLogGenerico("Persistencia do cliente: " + salesObject.Name + " concluida."); var responseString = response.Content.ReadAsStringAsync().Result; return(Int32.Parse(responseString)); } return(0); }
public Endereco TratarEnderecoSalesForce(AccountSalesObject salesObject, Endereco endereco) { var cidadeDb = _cidadeRepository.BuscarUnicoPorParametro(x => x.NmCidade.ToUpper() == salesObject.CNPJ_Cidade__c.ToUpper()); if (cidadeDb == null) { cidadeDb = new Cidade { NmCidade = salesObject.CNPJ_Estado__c, }; endereco.Cidade = cidadeDb; var estadoDb = _estadoRepository.BuscarUnicoPorParametro(x => x.SgEstado.ToUpper() == salesObject.CNPJ_Estado__c.ToUpper() || x.NmEstado.ToUpper() == salesObject.CNPJ_Estado__c.ToUpper()); if (estadoDb == null) { estadoDb = new Estado { NmEstado = salesObject.CNPJ_Estado__c, SgEstado = salesObject.CNPJ_Estado__c.Substring(0, 1), }; endereco.Cidade.Estado = estadoDb; var paisDb = _paisRepository.BuscarUnicoPorParametro(x => x.SgPais.ToUpper() == salesObject.PaisConta__c.ToUpper() || x.NmPais.ToUpper() == salesObject.PaisConta__c.ToUpper()); if (paisDb == null) { paisDb = new Pais { NmPais = salesObject.PaisConta__c, SgPais = salesObject.PaisConta__c.Substring(0, 1), }; endereco.Cidade.Estado.Pais = paisDb; } else { endereco.Cidade.Estado.IdPais = paisDb.Id; } } else { endereco.Cidade.IdEstado = estadoDb.Id; } } else { endereco.IdCidade = cidadeDb.Id; } return(endereco); }
private int ObterClientePorIdSalesforce(AccountSalesObject salesObject) { var client = new HttpClient(); client.Timeout = TimeSpan.FromMinutes(120); var _microservicoUrls = RecuperarMicroServicosUrls(); client.BaseAddress = new Uri(_microservicoUrls.UrlApiCliente); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var content = new StringContent(JsonConvert.SerializeObject(salesObject), Encoding.UTF8, "application/json"); var response = client.GetAsync("api/cliente/obterClientePorIdSalesforce/" + salesObject.Id).Result; var responseString = response.Content.ReadAsStringAsync().Result; return(Int32.Parse(responseString)); }
public async Task <IActionResult> ObterClienteMigrado(int idCliente) { var clienteExistente = _clienteService.VerificarExistenciaCliente(idCliente); if (clienteExistente) { return(Ok(idCliente)); } var pendente = false; var salesObject = new AccountSalesObject(); var clienteEacessoService = new ClienteEacessoService(_connectionStrings.Value.EacessoConnection); var clienteEacesso = clienteEacessoService.ObterClienteEacessoPorId(idCliente); ClienteET clienteStfCorp = null; if (clienteEacesso != null) { salesObject = Mapper.Map(clienteEacesso, salesObject); } if (salesObject.CNPJ__c != null && salesObject.CNPJ__c.Trim() != "") { salesObject.CNPJ__c = _clienteService.ApenasNumeros(salesObject.CNPJ__c); } else { pendente = true; await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.INTEGRACAO.GetDescription(), NmOrigem = Origem.SALESFORCE.GetDescription(), DtHoraLogGenerico = DateTime.Now, DescLogGenerico = "cliente: " + salesObject.Name + " não possui cnpj", DescExcecao = "" }); salesObject.CNPJ__c = _clienteService.ApenasNumeros("NWM9709244W4"); } clienteStfCorp = Mapper.Map <ClienteET>(salesObject); if (clienteStfCorp.Id == 0) { clienteStfCorp.Id = _clienteService.VerificarIdCliente(); } var endereco = Mapper.Map <Endereco>(salesObject); if (clienteStfCorp.NrTelefone != null) { clienteStfCorp.NrTelefone = clienteStfCorp.NrTelefone.Replace(" ", ""); if (clienteStfCorp.NrTelefone.Contains('/')) { var numeros = clienteStfCorp.NrTelefone.Split("/"); clienteStfCorp.NrTelefone = numeros[0]; clienteStfCorp.NrTelefone2 = numeros[0].Substring(0, 2) + numeros[1]; } } if (clienteStfCorp.NrTelefone2 != null) { clienteStfCorp.NrTelefone = clienteStfCorp.NrTelefone2.Replace(" ", ""); } if (clienteStfCorp.NmRazaoSocial == null || !clienteStfCorp.NmRazaoSocial.Any()) { clienteStfCorp.NmRazaoSocial = ""; pendente = true; await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.INTEGRACAO.GetDescription(), NmOrigem = Origem.SALESFORCE.GetDescription(), DtHoraLogGenerico = DateTime.Now, DescLogGenerico = "cliente: " + salesObject.Name + " não possui uma razão social", DescExcecao = "" }); } if (clienteStfCorp.NmFantasia == null || !clienteStfCorp.NmFantasia.Any()) { clienteStfCorp.NmFantasia = ""; pendente = true; await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.INTEGRACAO.GetDescription(), NmOrigem = Origem.SALESFORCE.GetDescription(), DtHoraLogGenerico = DateTime.Now, DescLogGenerico = "cliente: " + salesObject.Name + " não possui um nome fantasia", DescExcecao = "" }); } endereco.IdCidade = _enderecoService.VerificarEndereco(salesObject.CNPJ_Cidade__c); clienteStfCorp.Enderecos.Add(endereco); if (endereco.IdCidade == null) { pendente = true; await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.INTEGRACAO.GetDescription(), NmOrigem = Origem.SALESFORCE.GetDescription(), DtHoraLogGenerico = DateTime.Now, DescLogGenerico = "cliente: " + salesObject.Name + " não possui uma cidade valida", DescExcecao = "" }); } if (!_clienteService.ValidarCNPJ(clienteStfCorp.NrCnpj, "BRASIL").Result) { pendente = true; await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.INTEGRACAO.GetDescription(), NmOrigem = Origem.SALESFORCE.GetDescription(), DtHoraLogGenerico = DateTime.Now, DescLogGenerico = "cliente: " + salesObject.Name + " não possui um cnpj valido", DescExcecao = "" }); } if (pendente) { clienteStfCorp.FlStatus = "P"; } else { clienteStfCorp.FlStatus = "A"; } salesObject.IdStfCorp = _clienteService.PersistirCliente(clienteStfCorp); return(Ok(salesObject.IdStfCorp)); }