Ejemplo n.º 1
0
 //persiste o relacionamento com Area de Atuação
 private bool RelacionaContatoAreaAtuacao(Intelbras.Message.Helper.MSG0058 xml, Contato contato, ContatoService contatoService)
 {
     if (xml.IdentidadeEmissor == Enum.Sistemas.RetornaSistema(Enum.Sistemas.Sistema.API))
     {
         if (xml.ListaAreaAtuacao != null && xml.ListaAreaAtuacao.Count > 0)
         {
             List <AreaAtuacao> listaAreaAtuacao = new List <AreaAtuacao>();
             foreach (var area in xml.ListaAreaAtuacao)
             {
                 AreaAtuacao novaArea = new Servicos.AreaAtuacaoService(this.Organizacao, this.IsOffline).ObterPorCodigo(area);
                 if (novaArea != null)
                 {
                     listaAreaAtuacao.Add(novaArea);
                 }
                 else
                 {
                     resultadoPersistencia.Sucesso = false;
                     throw new ArgumentException("Área de Atuação não cadastrado no Crm.");
                 }
             }
             try
             {
                 contatoService.PersistirAreasAtuacao(contato, listaAreaAtuacao);
             }
             catch
             {
                 throw new ArgumentException("Erro ao salvar relacionamento.");
             }
         }
     }
     return(true);
 }
Ejemplo n.º 2
0
        public Pollux.MSG0058 DefinirPropriedades(Contato objModel)
        {
            #region Endereco

            Pollux.Entities.Endereco enderecoContato = new Pollux.Entities.Endereco();
            enderecoContato.Bairro = objModel.Endereco1Bairro;
            enderecoContato.Numero = objModel.Endereco1Numero;
            if (!String.IsNullOrEmpty(objModel.Endereco1CEP))
            {
                enderecoContato.CEP = objModel.Endereco1CEP.Replace("-", "").PadLeft(8, '0');
            }
            ;
            if (objModel.Endereco1Municipioid != null)
            {
                Municipio municipio = new Servicos.MunicipioServices(this.Organizacao, this.IsOffline).ObterPor(objModel.Endereco1Municipioid.Id);
                enderecoContato.Cidade     = municipio.ChaveIntegracao;
                enderecoContato.NomeCidade = municipio.Nome;
            }
            enderecoContato.Complemento = objModel.Endereco1Complemento;
            if (objModel.Endereco1Estadoid != null)
            {
                Estado estado = new Servicos.EstadoServices(this.Organizacao, this.IsOffline).BuscaEstadoPorId(objModel.Endereco1Estadoid.Id);
                if (estado != null)
                {
                    enderecoContato.Estado = estado.ChaveIntegracao;
                    enderecoContato.UF     = estado.SiglaUF;
                }
                if (objModel.Endereco1Pais == null)
                {
                    objModel.Endereco1Pais = estado.Pais;
                }
            }
            enderecoContato.Logradouro   = objModel.Endereco1Rua;
            enderecoContato.NomeEndereco = objModel.Endereco1Nome;
            if (objModel.Endereco1Pais != null)
            {
                Pais pais = new Servicos.PaisServices(this.Organizacao, this.IsOffline).BuscaPais(objModel.Endereco1Pais.Id);
                enderecoContato.NomePais = pais.Nome;
                enderecoContato.Pais     = pais.ChaveIntegracao;;
            }

            enderecoContato.TipoEndereco = objModel.Endereco1TipoEndereco;
            if (!String.IsNullOrEmpty(objModel.Endereco1CaixaPostal))
            {
                enderecoContato.CaixaPostal = objModel.Endereco1CaixaPostal;
            }
            //msg0072.EnderecoPrincipal = endPrincipal;

            #endregion

            #region Msg
            //Monta o identificador de operação do contato
            var idOperacao = objModel.PrimeiroNome.Trim();
            if (objModel.Sobrenome != null)
            {
                idOperacao = idOperacao + " " + objModel.Sobrenome.Trim();
            }
            idOperacao = idOperacao + "-" + objModel.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim();

            Pollux.MSG0058 msg0058 = new Pollux.MSG0058(itb.RetornaSistema(itb.Sistema.CRM), Helper.Truncate(idOperacao, 40));

            if (objModel.Area.HasValue)
            {
                msg0058.Area = objModel.Area;
            }

            if (objModel.AssociadoA != null)
            {
                msg0058.Canal           = objModel.AssociadoA.Id.ToString();
                msg0058.TipoObjetoCanal = objModel.AssociadoA.Type;
            }

            if (objModel.Cargo.HasValue)
            {
                msg0058.Cargo = objModel.Cargo;
            }

            msg0058.Celular = objModel.TelefoneCelular;

            if (objModel.ClientePotencialOriginador != null)
            {
                msg0058.ClientePotencialOriginador = objModel.ClientePotencialOriginador.Id.ToString();
            }

            if (!string.IsNullOrEmpty(objModel.CpfCnpj))
            {
                string cnpjCpfObj = objModel.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim();

                if (!String.IsNullOrEmpty(cnpjCpfObj))
                {
                    if (cnpjCpfObj.Length <= 11)
                    {
                        msg0058.CPF = cnpjCpfObj;
                    }
                    else
                    {
                        msg0058.CNPJ = cnpjCpfObj;
                    }
                }
            }

            msg0058.CodigoCliente = objModel.CodigoRemetente != String.Empty ? (int?)Convert.ToInt32(objModel.CodigoRemetente) : null;

            if (objModel.ID != null)
            {
                msg0058.CodigoContato = objModel.ID.Value.ToString();
            }

            msg0058.ContatoNFE = objModel.ContatoNFE;
            if (objModel.DatasEspeciais.HasValue)
            {
                msg0058.DataEspecial = objModel.DatasEspeciais.Value.ToLocalTime();
            }
            else
            {
                msg0058.DataEspecial = null;
            }
            if (objModel.Aniversario.HasValue)
            {
                msg0058.DataNascimento = objModel.Aniversario.Value.ToLocalTime();
            }
            else
            {
                msg0058.DataNascimento = null;
            }
            msg0058.Departamento = objModel.Departamento;
            if (objModel.Cargo.HasValue)
            {
                msg0058.DescricaoCargo = objModel.Cargo.Value.ToString();
            }
            msg0058.DescricaoContato = objModel.Descricao;
            msg0058.Email            = objModel.Email1;
            msg0058.EmailAlternativo = objModel.Email2;
            if (enderecoContato != null)
            {
                msg0058.EnderecoPrincipal = enderecoContato;
            }
            if (objModel.Escolaridade.HasValue)
            {
                msg0058.Escolaridade = objModel.Escolaridade.Value;
            }
            msg0058.EstadoCivil   = objModel.EstadoCivil;
            msg0058.Fax           = objModel.Fax;
            msg0058.Funcao        = objModel.Funcao;
            msg0058.LimiteCredito = objModel.LimiteCredito;
            if (objModel.ListaPrecos != null)
            {
                msg0058.ListaPreco = objModel.ListaPrecos.Name;
            }
            if (objModel.Loja != null)
            {
                msg0058.Loja = objModel.Loja.Id.ToString();
            }
            msg0058.MetodoEntrega = objModel.Endereco1MetodoEntrega;
            if (objModel.Moeda != null)
            {
                msg0058.Moeda = objModel.Moeda.Name;
            }
            msg0058.Nacionalidade       = objModel.Nacionalidade;
            msg0058.Naturalidade        = objModel.Naturalidade;
            msg0058.NomeAssistente      = objModel.Assistente;
            msg0058.NomeContato         = objModel.PrimeiroNome;
            msg0058.NomeFilhos          = objModel.NomeFilhos;
            msg0058.NomeConjuge         = objModel.NomeConjuge;
            msg0058.NomeGerente         = objModel.Gerente;
            msg0058.NumeroContato       = objModel.NumeroContato;
            msg0058.NumeroFilhos        = objModel.NumeroFilhos;
            msg0058.OrgaoExpeditor      = objModel.EmissorDocIdentidade;
            msg0058.PapelCanal          = objModel.PapelCanal;
            msg0058.DescricaoPapelCanal = objModel.DescricaoPapelCanal;

            List <AreaAtuacao> lstAreasAtuacao = new Servicos.AreaAtuacaoService(this.Organizacao, this.IsOffline).ListarPorContato(objModel.Id);
            foreach (var itemAreaAtuacao in lstAreasAtuacao)
            {
                if (itemAreaAtuacao.Codigo.HasValue)
                {
                    msg0058.ListaAreaAtuacao.Add(Convert.ToInt32(itemAreaAtuacao.Codigo));
                }
            }

            msg0058.DescricaoAreaAtuacao = objModel.DescricaoAreaAtuacao;
            msg0058.IMEI = objModel.IMEI;
            if (objModel.AcessoPortal != null)
            {
                msg0058.AcessoPortal = objModel.AcessoPortal;
            }
            if (objModel.AcessoAPPISOL != null)
            {
                msg0058.AcessoAPP = objModel.AcessoAPPISOL;
            }

            msg0058.Treinamentos = objModel.Treinamento;

            List <Marca> lstMarcas = new Servicos.MarcaService(this.Organizacao, this.IsOffline).ListarPorContato(objModel.Id);
            foreach (var itemMarca in lstMarcas)
            {
                msg0058.ListaMarcas.Add(itemMarca.Id.ToString());
            }

            msg0058.Ramal    = objModel.Ramal1;
            msg0058.RamalFax = objModel.RamalFax;
            msg0058.RamalTelefoneAlternativo = objModel.Ramal2;
            msg0058.RG          = objModel.DocIdentidade;
            msg0058.Saudacao    = objModel.Saudacao;
            msg0058.SegundoNome = objModel.SegundoNome;
            msg0058.Sexo        = objModel.Sexo;
            if (objModel.Status.HasValue)
            {
                msg0058.Situacao = objModel.Status.Value;
            }
            msg0058.Sobrenome           = objModel.Sobrenome;
            msg0058.SuspensaoCredito    = objModel.SuspensaoCredito;
            msg0058.Telefone            = objModel.TelefoneComercial;
            msg0058.TelefoneAlternativo = objModel.TelefoneComercial2;
            msg0058.TelefoneAssistente  = objModel.TelefoneAssistente;
            msg0058.TelefoneGerente     = objModel.TelefoneGerente;
            if (objModel.IntegraIntelbrasPontua != null)
            {
                msg0058.IntegraIntelbrasPontua = objModel.IntegraIntelbrasPontua;
            }
            //Aguardando ajuste Pollux
            //TemFilhos = true;
            msg0058.TipoContato   = objModel.TipoRelacao;
            msg0058.CondicaoFrete = objModel.Endereco1CondicoesFrete;

            if (objModel.AcessoSolar != null)
            {
                msg0058.AcessoSolar = objModel.AcessoSolar;
            }

            if (objModel.ExibirSite.HasValue)
            {
                msg0058.ExibirSite = objModel.ExibirSite;
            }
            msg0058.CanalVendaAtendimento = objModel.CanaisDeVenda;

            #region Validar Codigo Representante

            if (!String.IsNullOrEmpty(objModel.CodigoRepresentante))
            {
                if (this.ValidarCodigoRepresentante(objModel.CodigoRepresentante, "systemuser"))
                {
                    msg0058.CodigoRepresentante = (int?)Convert.ToInt32(objModel.CodigoRepresentante);
                }
                else
                {
                    throw new ArgumentException("(CRM) Representante com o Código  : " + objModel.CodigoRepresentante + " - não cadastrado no ERP Totvs.");
                }
            }

            #endregion

            #endregion

            return(msg0058);
        }