public ClientePotencial Persistir(Model.ClientePotencial Objcliente) { List <Model.ClientePotencial> lstTempCliente = new List <ClientePotencial>(); ClientePotencial tmpCliente = null; if (Objcliente.ID.HasValue) { tmpCliente = RepositoryService.ClientePotencial.Retrieve(Objcliente.ID.Value); if (tmpCliente != null) { Objcliente.ID = tmpCliente.ID; RepositoryService.ClientePotencial.Update(Objcliente); return(Objcliente); } else { return(null); } } else { Objcliente.ID = RepositoryService.ClientePotencial.Create(Objcliente); return(Objcliente); } }
public ClientePotencial DefinirPropriedades(Intelbras.Message.Helper.MSG0267 xml) { var crm = new Model.ClientePotencial(this.Organizacao, this.IsOffline); return(crm); }
public ClientePotencial DefinirPropriedades(Intelbras.Message.Helper.MSG0268 xml) { var crm = new Model.ClientePotencial(this.Organizacao, this.IsOffline); #region Propriedades Crm->Xml crm.IntegrarNoPlugin = true; if (!String.IsNullOrEmpty(xml.NumeroProjeto)) { ClientePotencial cliente = new Servicos.LeadService(this.Organizacao, this.IsOffline).ObterPorNumeroProjeto(xml.NumeroProjeto); if (cliente != null) { crm.NumeroProjeto = xml.NumeroProjeto; crm.StatusValidacao = cliente.StatusValidacao; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "NumeroProjeto informado não existe para ser atualizado."; return(crm); } } if (!String.IsNullOrEmpty(xml.CodigoClientePotencial)) { crm.ID = new Guid(xml.CodigoClientePotencial); } else { crm.RazaoStatus = 993520003; originadoExtranet = true; } if (!String.IsNullOrEmpty(xml.CodigoRevenda) && xml.CodigoRevenda.Length == 36) { crm.RevendaIntegrador = new Lookup(new Guid(xml.CodigoRevenda), ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoRevenda não enviado ou fora do padrão (Guid)."; return(crm); } if (!String.IsNullOrEmpty(xml.CodigoDistribuidor) && xml.CodigoDistribuidor.Length == 36) { crm.Distribuidor = new Lookup(new Guid(xml.CodigoDistribuidor), ""); } Contato executivo = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(new Guid(xml.CodigoExecutivo)); if (executivo != null) { crm.Executivo = new Lookup(executivo.ID.Value, ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoExecutivo não encontrado no Crm."; return(crm); } if (!String.IsNullOrEmpty(xml.CNPJCliente)) { crm.Cnpj = Intelbras.CRM2013.Domain.Servicos.Helper.FormatarCnpj(xml.CNPJCliente); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CNPJCliente não enviado."; return(crm); } if (!String.IsNullOrEmpty(xml.RazaoSocial)) { crm.NomeDaEmpresa = xml.RazaoSocial; crm.Topico = xml.RazaoSocial; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "RazaoSocial não enviado."; return(crm); } if (!String.IsNullOrEmpty(xml.NomeContatoCliente)) { crm.NomeCompletoDoContato = xml.NomeContatoCliente; if (xml.NomeContatoCliente.Contains(" ")) { crm.PrimeiroNomeDoContato = xml.NomeContatoCliente.Substring(0, xml.NomeContatoCliente.IndexOf(' ')); crm.SobreNomeDoContato = xml.NomeContatoCliente.Substring(xml.NomeContatoCliente.IndexOf(' ') + 1, (xml.NomeContatoCliente.Length - xml.NomeContatoCliente.IndexOf(' ') - 1)); } else { crm.PrimeiroNomeDoContato = xml.NomeContatoCliente; } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "NomeContatoCliente não enviado."; return(crm); } if (!String.IsNullOrEmpty(xml.TelefoneContatoCliente)) { crm.TelefoneComercial = xml.TelefoneContatoCliente; crm.TelefoneCelular = xml.TelefoneContatoCliente; } if (!String.IsNullOrEmpty(xml.EmailContatoCliente)) { crm.Email = xml.EmailContatoCliente; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "EmailContatoCliente não enviado."; return(crm); } if (xml.TipoProjeto.HasValue) { crm.TipoProjeto = xml.TipoProjeto; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "TipoProjeto não enviado."; return(crm); } if (xml.EnvolverEngenharia.HasValue) { if (xml.EnvolverEngenharia.Value == 993520000) { crm.EnvolverEngenharia = true; } else { crm.EnvolverEngenharia = false; } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "EnvolverEngenharia não enviado."; return(crm); } if (xml.ReceitaEstimada.HasValue) { crm.ValorEstimado = (decimal)xml.ReceitaEstimada; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "ReceitaEstimada não enviado."; return(crm); } if (xml.DataPrevisaoFechamento.HasValue) { crm.DataEstimada = (DateTime)xml.DataPrevisaoFechamento; crm.DataProximaInteracao = DateTime.Now.AddDays(30); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "DataPrevisaoFechamento não enviado."; return(crm); } if (!String.IsNullOrEmpty(xml.CodigoUnidadeNegocio)) { UnidadeNegocio unidadeNegocio = new Servicos.UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocioPorChaveIntegracao(xml.CodigoUnidadeNegocio); if (unidadeNegocio != null) { crm.UnidadeNegocio = new Lookup(unidadeNegocio.Id, ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoUnidadeNegocio não enencontrado no CRM."; return(crm); } } if (!String.IsNullOrEmpty(xml.DescricaoProjeto)) { crm.Descricao = xml.DescricaoProjeto; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "DescricaoProjeto não enviado ou fora do padrão (Guid)."; return(crm); } if (xml.CotacaoEnviada.HasValue) { crm.CotacaoEnviada = xml.CotacaoEnviada; } if (xml.TipoSolucao.HasValue) { crm.TipoSolucao = xml.TipoSolucao; } else { crm.AddNullProperty("TipoSolucao"); } if (xml.PossivelDuplicidade.HasValue) { crm.PossivelDuplicidade = (bool)xml.PossivelDuplicidade; } #endregion #region Endereco crm.Endereco1CEP = xml.EnderecoClienteFinal.CEP; crm.Endereco1Rua = xml.EnderecoClienteFinal.Logradouro; crm.Endereco1Numero = xml.EnderecoClienteFinal.Numero; if (!String.IsNullOrEmpty(xml.EnderecoClienteFinal.Complemento)) { crm.Endereco1Complemento = xml.EnderecoClienteFinal.Complemento; } crm.Endereco1Bairro = xml.EnderecoClienteFinal.Bairro; //Cidade if (!String.IsNullOrEmpty(xml.EnderecoClienteFinal.Cidade)) { Municipio cidade = new Intelbras.CRM2013.Domain.Servicos.MunicipioServices(this.Organizacao, this.IsOffline).BuscaCidade(xml.EnderecoClienteFinal.Cidade); if (cidade != null && cidade.ID.HasValue) { crm.Endereco1Municipioid = new Lookup(cidade.ID.Value, ""); crm.Endereco1Municipio = cidade.Nome; } } //Estado if (!String.IsNullOrEmpty(xml.EnderecoClienteFinal.Estado)) { Estado estado = new Intelbras.CRM2013.Domain.Servicos.EstadoServices(this.Organizacao, this.IsOffline).BuscaEstado(xml.EnderecoClienteFinal.Estado); if (estado != null && estado.ID.HasValue) { crm.Endereco1Estadoid = new Lookup(estado.ID.Value, ""); } } //Pais if (!String.IsNullOrEmpty(xml.EnderecoClienteFinal.Pais)) { Pais Pais = new Intelbras.CRM2013.Domain.Servicos.PaisServices(this.Organizacao, this.IsOffline).BuscaPais(xml.EnderecoClienteFinal.Pais); if (Pais != null && Pais.ID.HasValue) { crm.Endereco1Pais = new Lookup(Pais.ID.Value, ""); } } #endregion return(crm); }