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