private static void SetFields(CrmBEContacto contactInfo, Contact jsonObject)
        {
            contactInfo.set_SexoMasculino(true);
            contactInfo.set_Nome(jsonObject.Nome);
            contactInfo.set_Email(jsonObject.Email);
            contactInfo.set_Titulo(jsonObject.Titulo);
            contactInfo.set_Telefone(jsonObject.Telefone);
            contactInfo.set_Telefone2(jsonObject.Telefone2);
            contactInfo.set_Telemovel(jsonObject.Telemovel);

            if (jsonObject.Localizacao == null)
            {
                return;
            }

            contactInfo.set_Pais(jsonObject.Localizacao.Pais);
            contactInfo.set_Morada(jsonObject.Localizacao.Morada);
            contactInfo.set_CodPostal(jsonObject.Localizacao.CodigoPostal);

            if (jsonObject.Localizacao.Pais.Equals("PT"))
            {
                if (jsonObject.Localizacao.Distrito == null)
                {
                    contactInfo.set_Distrito(null);
                    contactInfo.set_Localidade(null);
                    contactInfo.set_CodPostalLocal(null);
                }
                else
                {
                    contactInfo.set_Distrito(jsonObject.Localizacao.Distrito);
                    contactInfo.set_Localidade(jsonObject.Localizacao.Localidade);
                    contactInfo.set_CodPostalLocal(jsonObject.Localizacao.Localidade);
                }
            }
            else
            {
                contactInfo.set_Distrito(null);
                contactInfo.set_Localidade(null);
                contactInfo.set_CodPostalLocal(null);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Metodo para a gravação/actualização do contacto de um determinado cliente
        /// </summary>
        /// <param name="cliente"></param>
        /// <param name="codigo"></param>
        /// <param name="primeiroNome"></param>
        /// <param name="ultimoNome"></param>
        /// <param name="nomeCompleto"></param>
        /// <param name="morada"></param>
        /// <param name="localidade"></param>
        /// <param name="emailPrincipal"></param>
        /// <param name="emailAlternativo"></param>
        /// <param name="nrTelefone"></param>
        /// <param name="nrTelefoneAlternativo"></param>
        /// <returns></returns>
        public PrimaveraResultStructure GravarContactoCliente(string cliente, string codigo, string primeiroNome,
            string ultimoNome, string nomeCompleto, string morada, string localidade, string emailPrincipal, string emailAlternativo,
            string nrTelefone, string nrTelefoneAlternativo, string tipoContacto)
        {
            PrimaveraResultStructure result;
            string source = "GravarContactoCliente";
            try
            {
                CrmBEContacto objContacto = new CrmBEContacto();
                CrmBELinhaContactoEntidade objEntidateContacto = new CrmBELinhaContactoEntidade();

                //Valida se existe o contacto do aluno no sistema

                if (_erpBs.CRM.Contactos.Existe(codigo))
                {

                    //Actualiza os contactos do Cliente
                    objContacto = _erpBs.CRM.Contactos.Edita(codigo);

                    objContacto.set_EmModoEdicao(true);
                    objContacto.set_Contacto(codigo); //validar este campo, por ser a chave do contacto
                    objContacto.set_PrimeiroNome(primeiroNome);
                    objContacto.set_UltimoNome(ultimoNome);
                    objContacto.set_Nome(nomeCompleto);
                    objContacto.set_Morada(morada);
                    objContacto.set_Localidade(localidade);
                    objContacto.set_Telefone(nrTelefone);
                    objContacto.set_Telefone2(nrTelefoneAlternativo);
                    objContacto.set_Email(emailPrincipal);
                    objContacto.set_EmailResid(emailAlternativo);

                    objEntidateContacto = new CrmBELinhaContactoEntidade();

                    _erpBs.CRM.Contactos.Actualiza(objContacto);

                    result = new PrimaveraResultStructure()
                    {
                        codigo = 0,
                        descricao = "Codigos de Sucesso",
                        tipoProblema = "Os Contactos do Aluno Actualizado Com Sucesso Completo"
                    };

                }
                else
                {

                    objContacto = new CrmBEContacto();

                    objContacto.set_ID(Guid.NewGuid().ToString());
                    objContacto.set_Contacto(codigo);
                    objContacto.set_PrimeiroNome(primeiroNome);
                    objContacto.set_UltimoNome(ultimoNome);
                    objContacto.set_Nome(nomeCompleto);
                    objContacto.set_Morada(morada);
                    objContacto.set_Localidade(localidade);
                    objContacto.set_Telefone(nrTelefone);
                    objContacto.set_Telefone2(nrTelefoneAlternativo);
                    objContacto.set_Email(emailPrincipal);
                    objContacto.set_EmailResid(emailAlternativo);

                    objEntidateContacto = new CrmBELinhaContactoEntidade();

                    objEntidateContacto.set_IDContacto(objContacto.get_ID());
                    objEntidateContacto.set_Entidade(cliente);
                    objEntidateContacto.set_TipoEntidade("C");
                    objEntidateContacto.set_Email(emailPrincipal);
                    objEntidateContacto.set_Telefone(nrTelefone);
                    objEntidateContacto.set_Telemovel(nrTelefoneAlternativo);
                    objEntidateContacto.set_TipoContacto(tipoContacto); // Para já Fixo

                    objContacto.get_LinhasEntidade().Insere(objEntidateContacto);

                    _erpBs.CRM.Contactos.Actualiza(objContacto);

                    result = new PrimaveraResultStructure()
                    {
                        codigo = 0,
                        descricao = "Codigos de Sucesso",
                        tipoProblema = "Os Contactos do Aluno Gravado Com Sucesso Completo"
                    };
                    PrimaveraWSLogger.escreveInformacao(string.Format("[{0}] O contacto {1} - {2} foi gravado e adicionado ao cliente {3} com Sucesso", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nomeCompleto, cliente), source);
                }




            }
            catch (Exception e)
            {
                result = new PrimaveraResultStructure()
                {
                    codigo = 3,
                    descricao = "Erro ao gravar o aluno - " + e.Message,
                    tipoProblema = "Erro Logica no Primavera",
                    procedimento = "Consultar os técnicos do projecto",
                    subNivel = "30 - O Erro ao gravar o aluno"
                };
                PrimaveraWSLogger.escreveErro(string.Format("[{0}] Erro ao adicionar o contacto {1} - {2} ao cliente {3} devido ao seguinte erro: {4}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), codigo, nomeCompleto, cliente, e.Message), source);
            }

            return result;
        }