public int PersistirCliente(ClienteET cliente)
 {
     if (string.IsNullOrEmpty(_variables.UserName))
     {
         _variables.UserName = "******";
     }
     cliente.Usuario = _variables.UserName;
     _clienteRepository.Adicionar(cliente);
     _unitOfWork.Commit();
     return(cliente.Id);
 }
示例#2
0
        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));
        }