public SolicitacaoCadastro DefinirPropriedades(Intelbras.Message.Helper.MSG0136 xml) { var crm = new Model.SolicitacaoCadastro(this.Organizacao, this.IsOffline); Contato contato = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContatoPorCodigoRepresentante(xml.CodigoRepresentante.ToString()); if (contato != null) { crm.Representante = new Lookup(contato.ID.Value, ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Contato Representante não encontrado no CRM."; return(crm); } //Setar horario para pegar o dia todo na pesquisa TimeSpan tsDtIni = new TimeSpan(00, 00, 01); TimeSpan tsDtFim = new TimeSpan(23, 59, 59); dtInicio = (xml.DataInicio + tsDtIni); dtFim = (xml.DataFinal + tsDtFim); crm.Status = xml.SituacaoSolicitacao; return(crm); }
private Intelbras.Message.Helper.MSG0137 DefinirPropriedades(RelacionamentoCanal crm) { Intelbras.Message.Helper.MSG0137 xml = new Pollux.MSG0137(Domain.Enum.Sistemas.RetornaSistema(Domain.Enum.Sistemas.Sistema.CRM), Helper.Truncate(crm.Nome, 40)); Contato contato = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(crm.KeyAccount.Id); if (contato != null) { xml.CodigoRepresentante = Convert.ToInt32(contato.CodigoRepresentante); } Usuario objUsuarioAssistente = new Intelbras.CRM2013.Domain.Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(crm.Assistente.Id); if (objUsuarioAssistente != null) { if (objUsuarioAssistente.CodigoAssistenteComercial != null) { xml.CodigoAssistente = (int)objUsuarioAssistente.CodigoAssistenteComercial.Value; xml.CodigoAssistenteCRM = objUsuarioAssistente.ID.Value.ToString(); } } Usuario objUsuarioSuper = new Intelbras.CRM2013.Domain.Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(crm.Supervisor.Id); if (objUsuarioSuper != null) { xml.CodigoSupervisor = objUsuarioSuper.ID.Value.ToString(); if (!String.IsNullOrEmpty(objUsuarioSuper.CodigoSupervisorEMS)) { xml.CodigoSupervisorEMS = objUsuarioSuper.CodigoSupervisorEMS; } else { throw new Exception("Codigo Supervisor EMS não preenchido."); } } if (crm.Canal != null) { xml.CodigoConta = crm.Canal.Id.ToString(); } xml.CodigoRelacionamentoCanal = crm.ID.Value.ToString(); if (crm.Supervisor != null) { xml.CodigoSupervisor = crm.Supervisor.Id.ToString(); } xml.DataFinal = crm.DataFinal.Value; xml.DataInicial = crm.DataInicial.Value; xml.Nome = crm.Nome; xml.Situacao = (crm.Status.HasValue ? crm.Status.Value : 0); return(xml); }
public Contato DefinirPropriedades(Intelbras.Message.Helper.MSG0276 xml) { var crm = new Model.Contato(this.Organizacao, this.IsOffline); #region Propriedades Crm->Xml crm.IntegrarNoPlugin = true; if (!String.IsNullOrEmpty(xml.CodigoContato)) { try { Contato contato = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(new Guid(xml.CodigoContato)); if (contato != null) { crm.ID = new Guid(xml.CodigoContato); if (!string.IsNullOrEmpty(xml.Foto)) { crm.Imagem = Convert.FromBase64String(xml.Foto); } crm.IntegrarNoPlugin = true; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Codigo Contato informado não existe para ser atualizado."; return(crm); } } catch (Exception e) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = SDKore.Helper.Error.Handler(e); return(null); } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Codigo Contato é obrigatório."; return(crm); } #endregion return(crm); }
public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario) { var xml = this.CarregarMensagem <Pollux.MSG0289>(mensagem); if (string.IsNullOrEmpty(xml.CodigoContato)) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoContato é obrigatório."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0289R1>(numeroMensagem, retorno)); } Contato contato = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(new Guid(xml.CodigoContato)); if (contato != null) { if (contato.Imagem != null) { resultadoPersistencia.Sucesso = true; retorno.Add("Foto", Convert.ToBase64String(contato.Imagem)); retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0289R1>(numeroMensagem, retorno)); } else { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Contato não possui foto para ser enviada."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0289R1>(numeroMensagem, retorno)); } } else { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Contato não encontrado no CRM."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0289R1>(numeroMensagem, retorno)); } }
public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario) { usuarioIntegracao = usuario; var objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0124>(mensagem)); List <Pollux.Entities.RelacionamentoCanal> lstPolluxRelCanal = new List <Pollux.Entities.RelacionamentoCanal>(); if (!resultadoPersistencia.Sucesso) { retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0124R1>(numeroMensagem, retorno)); } List <RelacionamentoCanal> lstRelacionamentoCanal = new Servicos.RelacionamentoCanalService(this.Organizacao, this.IsOffline).ListarAtivosPorCanal(objeto.Canal.Id); if (lstRelacionamentoCanal != null && lstRelacionamentoCanal.Count > 0) { foreach (RelacionamentoCanal item in lstRelacionamentoCanal) { Pollux.Entities.RelacionamentoCanal relCanal = new Pollux.Entities.RelacionamentoCanal(); if (item.Assistente != null) { Usuario objUsuario = new Intelbras.CRM2013.Domain.Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(item.Assistente.Id); if (objUsuario != null) { relCanal.CodigoAssistente = (int)objUsuario.CodigoAssistenteComercial; relCanal.NomeAssistente = item.Assistente.Name; relCanal.CodigoAssistenteCRM = objUsuario.ID.Value.ToString(); } if (item.KeyAccount != null) { Contato contato = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(item.KeyAccount.Id); if (contato != null && contato.CodigoRepresentante != null && (!String.IsNullOrEmpty(contato.CodigoRepresentante) && (!contato.CodigoRepresentante.Equals("0")) && contato.PrimeiroNome != null && (!String.IsNullOrEmpty(contato.PrimeiroNome)))) { relCanal.CodigoRepresentante = Convert.ToInt32(contato.CodigoRepresentante); relCanal.NomeRepresentante = contato.PrimeiroNome; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Erro de inconsistência de dados no Crm. Elemento 'NomeRepresentante / CodigoRepresentante' não preenchido na base Crm para o RelacionamentoCanal - " + item.ID.Value.ToString(); retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0124R1>(numeroMensagem, retorno)); } } if (item.Supervisor != null) { Usuario usuarioSuper = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(item.Supervisor.Id); if (usuarioSuper != null) { relCanal.CodigoSupervisor = item.Supervisor.Id.ToString(); relCanal.NomeSupervisor = usuarioSuper.Nome; if (!String.IsNullOrEmpty(usuarioSuper.CodigoSupervisorEMS)) { relCanal.CodigoSupervisorEMS = usuarioSuper.CodigoSupervisorEMS; } else { throw new Exception("Codigo Supervisor EMS não preenchido."); } } } if (item.DataInicial.HasValue) { relCanal.DataInicial = item.DataInicial.Value; } if (item.DataFinal.HasValue) { relCanal.DataFinal = item.DataFinal.Value; } //Nome Obrigatorio if (!String.IsNullOrEmpty(item.Nome)) { relCanal.Nome = item.Nome; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Erro de inconsistência de dados no Crm. Elemento 'Nome' não preenchido na base Crm para o RelacionamentoCanal - " + item.ID.Value.ToString(); retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0124R1>(numeroMensagem, retorno)); } } relCanal.CodigoRelacionamentoCanal = item.ID.ToString(); lstPolluxRelCanal.Add(relCanal); } } else { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Não encontrado RelacionamentoCanal para este Canal no CRM."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0124R1>(numeroMensagem, retorno)); } resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Integração ocorrida com sucesso."; retorno.Add("RelacionamentosCanalItens", lstPolluxRelCanal); retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0124R1>(numeroMensagem, retorno)); }
public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario) { var objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0136>(mensagem)); if (!resultadoPersistencia.Sucesso) { retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0136R1>(numeroMensagem, retorno)); } List <Intelbras.Message.Helper.Entities.Solicitacao> lstPolluxSolicitacao = new List <Pollux.Entities.Solicitacao>(); //SolicitacoesItens List <SolicitacaoCadastro> lstSolicitacaoCadastro = new Servicos.SolicitacaoCadastroService(this.Organizacao, this.IsOffline).ListarSolicitacaoCadastro(objeto, dtInicio, dtFim); #region Listas if (lstSolicitacaoCadastro != null) { if (lstSolicitacaoCadastro.Count > 0) { foreach (SolicitacaoCadastro item in lstSolicitacaoCadastro) { Pollux.Entities.Solicitacao solicitacao = new Pollux.Entities.Solicitacao(); solicitacao.DescricaoSolicitacao = item.Descricao; if (!String.IsNullOrEmpty(item.Nome)) { solicitacao.NomeSolicitacao = item.Nome; } else { solicitacao.NomeSolicitacao = "N/A"; } if (item.TipoDeSolicitacao != null) { solicitacao.NomeTipoSolicitacao = item.TipoDeSolicitacao.Name; solicitacao.CodigoTipoSolicitacao = item.TipoDeSolicitacao.Id.ToString(); } if (item.Necessidade.HasValue) { solicitacao.Necessidade = item.Necessidade.Value; } if (item.SupervisorVendas != null) { solicitacao.CodigoSupervisor = item.SupervisorVendas.Id.ToString(); solicitacao.NomeSupervisor = item.SupervisorVendas.Name; } if (item.Representante != null) { Contato contatoObj = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(item.Representante.Id); if (contatoObj != null) { solicitacao.CodigoRepresentante = Convert.ToInt32(contatoObj.CodigoRepresentante); } solicitacao.NomeRepresentante = item.Representante.Name; } if (item.Canal != null) { solicitacao.CodigoConta = item.Canal.Id.ToString(); solicitacao.NomeConta = item.Canal.Name; } if (item.Status.HasValue) { solicitacao.SituacaoSolicitacao = item.Status.Value; } else { solicitacao.SituacaoSolicitacao = 0; } solicitacao.CodigoSolicitacao = item.ID.Value.ToString(); lstPolluxSolicitacao.Add(solicitacao); } } else { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Não há solicitações para este representante."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0136R1>(numeroMensagem, retorno)); } } else { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Não há solicitações para este representante."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0136R1>(numeroMensagem, retorno)); } #endregion retorno.Add("SolicitacoesItens", lstPolluxSolicitacao); retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0136R1>(numeroMensagem, retorno)); }
public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario) { var xml = this.CarregarMensagem <Pollux.MSG0278>(mensagem); List <Intelbras.Message.Helper.Entities.OcorrenciaItem> lstOcorrenciaItem = new List <Pollux.Entities.OcorrenciaItem>(); if (!xml.DataInicial.HasValue || !xml.DataFinal.HasValue) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "É necessário informar os 2 critérios de busca para a consulta."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0278R1>(numeroMensagem, retorno)); } List <Ocorrencia> lstOcorrencias = new Servicos.OcorrenciaService(this.Organizacao, this.IsOffline).ListarOcorrenciasPorDataCriacao(xml.DataInicial, xml.DataFinal); #region Lista if (lstOcorrencias != null && lstOcorrencias.Count > 0) { foreach (Ocorrencia crmItem in lstOcorrencias) { Pollux.Entities.OcorrenciaItem objPollux = new Pollux.Entities.OcorrenciaItem(); //Atualizar o campo que atualiza o portal operações e suporte quando a flag estiver setado como true if (crmItem.AtualizarOperacoesSuporte == true) { crmItem.AtualizarOperacoesSuporte = false; crmItem.Atualizar(); } objPollux.CodigoOcorrencia = crmItem.ID.Value.ToString(); if (!string.IsNullOrEmpty(crmItem.Numero)) { objPollux.NumeroOcorrencia = crmItem.Numero; } if (crmItem.RazaoStatus.HasValue) { objPollux.StatusOcorrencia = crmItem.RazaoStatus; } if (crmItem.PrioridadeValue.HasValue) { objPollux.PrioridadeOcorrencia = crmItem.PrioridadeValue; } if (crmItem.TipoDeOcorrencia.HasValue) { objPollux.TipoOcorrencia = crmItem.TipoDeOcorrencia; } if (!string.IsNullOrEmpty(crmItem.DefeitoAlegado)) { objPollux.DefeitoAlegado = crmItem.DefeitoAlegado; } if (!string.IsNullOrEmpty(crmItem.AtividadeExecutada)) { objPollux.AtividadeExecutada = crmItem.AtividadeExecutada; } if (!string.IsNullOrEmpty(crmItem.Anexo)) { objPollux.Observacao = crmItem.Anexo; } if (crmItem.DataPrevistaParaVisita.HasValue) { objPollux.DataHoraPrevistaVisita = crmItem.DataPrevistaParaVisita.Value.ToLocalTime(); } if (crmItem.DataInicioTecnico.HasValue) { objPollux.DataHoraChegadaTecnico = crmItem.DataInicioTecnico.Value.ToLocalTime(); } if (crmItem.DataSaidaTecnico.HasValue) { objPollux.DataHoraSaidaTecnico = crmItem.DataSaidaTecnico.Value.ToLocalTime(); } if (crmItem.DataDeConclusao.HasValue) { objPollux.DataHoraConclusao = crmItem.DataDeConclusao.Value.ToLocalTime(); } if (crmItem.DataEscalacao.HasValue) { objPollux.DataHoraEscalacao = crmItem.DataEscalacao.Value.ToLocalTime(); } if (crmItem.DataOrigem.HasValue) { objPollux.DataHoraAbertura = crmItem.DataOrigem.Value.ToLocalTime(); } if (crmItem.ModificadoEm.HasValue) { objPollux.DataHoraModificacao = crmItem.ModificadoEm.Value.ToLocalTime(); } if (crmItem.DataSLA.HasValue) { objPollux.TempoSLA = crmItem.DataSLA.Value.ToLocalTime(); } if (!string.IsNullOrEmpty(crmItem.OsCliente)) { objPollux.OrdemServicoCliente = crmItem.OsCliente; } if (crmItem.SolicitanteId != null) { objPollux.CodigoContato = crmItem.SolicitanteId.Id.ToString(); } Usuario proprietario = new Domain.Servicos.UsuarioService(this.Organizacao, this.IsOffline).BuscarProprietario("incident", "incidentid", crmItem.ID.Value); if (proprietario != null) { objPollux.NomeProprietario = proprietario.NomeCompleto; } if (crmItem.ClienteId != null) { objPollux.CodigoConta = crmItem.ClienteId.Id.ToString(); Conta conta = new Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(crmItem.ClienteId.Id); if (conta != null) { objPollux.RazaoSocialConta = conta.RazaoSocial; if (conta.CpfCnpj != null) { objPollux.CNPJConta = conta.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim(); } } } if (crmItem.EmpresaExecutanteId != null) { objPollux.CodigoEmpresaExecutante = crmItem.EmpresaExecutanteId.Id.ToString(); Conta empresaexecutante = new Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(crmItem.EmpresaExecutanteId.Id); if (empresaexecutante != null) { objPollux.RazaoSocialEmpresaExecutante = crmItem.EmpresaExecutante.RazaoSocial; if (objPollux.CNPJEmpresaExecutante != null) { objPollux.CNPJEmpresaExecutante = crmItem.EmpresaExecutante.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim(); } } } if (crmItem.TecnicoDaVisitaId != null) { objPollux.TecnicoResponsavel = crmItem.TecnicoDaVisitaId.Id.ToString(); Contato tecnico = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(crmItem.TecnicoDaVisitaId.Id); if (tecnico != null) { objPollux.NomeContato = tecnico.NomeCompleto; if (!string.IsNullOrEmpty(crmItem.TecnicoDaVisita.CpfCnpj)) { objPollux.CPF = crmItem.TecnicoDaVisita.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim(); } if (!string.IsNullOrEmpty(crmItem.TecnicoDaVisita.IMEI)) { objPollux.IMEI = crmItem.TecnicoDaVisita.IMEI; } } } if (!string.IsNullOrEmpty(crmItem.ContatoVisita)) { objPollux.ContatoVisita = crmItem.ContatoVisita; } if (crmItem.MarcaId != null) { objPollux.CodigoMarca = crmItem.MarcaId.Id.ToString(); objPollux.NomeMarca = crmItem.MarcaId.Name; } if (crmItem.ModeloId != null) { objPollux.CodigoModelo = crmItem.ModeloId.Id.ToString(); objPollux.NomeModelo = crmItem.ModeloId.Name; } if (!string.IsNullOrEmpty(crmItem.Rua)) { objPollux.Logradouro = crmItem.Rua; } if (!string.IsNullOrEmpty(crmItem.Bairro)) { objPollux.Bairro = crmItem.Bairro; } if (!string.IsNullOrEmpty(crmItem.Cidade)) { objPollux.NomeCidade = crmItem.Cidade; } if (!string.IsNullOrEmpty(crmItem.ProdutosDoCliente)) { objPollux.NumeroSerieProduto = crmItem.ProdutosDoCliente.Trim(); } lstOcorrenciaItem.Add(objPollux); } } else { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Não foram encontrados registros que satisfaçam os critérios de pesquisa."; retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0278R1>(numeroMensagem, retorno)); } #endregion resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Integração ocorrida com sucesso!"; retorno.Add("OcorrenciaItens", lstOcorrenciaItem); retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0278R1>(numeroMensagem, retorno)); }
public Pollux.Entities.Denuncia DefinirRetorno(Model.Denuncia denunciaCrm) { Pollux.Entities.Denuncia denunciaPollux = new Pollux.Entities.Denuncia(); #region Propriedades Crm->Xml if (!String.IsNullOrEmpty(denunciaCrm.Descricao)) { denunciaPollux.Descricao = denunciaCrm.Descricao; } else { denunciaPollux.Descricao = "N/A"; } if (denunciaCrm.TipoDenuncia != null) { denunciaPollux.NomeDenuncia = "Denúncia de " + denunciaCrm.TipoDenuncia.Name; denunciaPollux.CodigoTipoDenuncia = denunciaCrm.TipoDenuncia.Id.ToString(); denunciaPollux.NomeTipoDenuncia = denunciaCrm.TipoDenuncia.Name; } else { denunciaPollux.NomeDenuncia = "N/A"; denunciaPollux.CodigoTipoDenuncia = Guid.Empty.ToString(); denunciaPollux.NomeTipoDenuncia = "N/A"; } if (!String.IsNullOrEmpty(denunciaCrm.Justificativa)) { denunciaPollux.Justificativa = denunciaCrm.Justificativa; } else { denunciaPollux.Justificativa = "N/A"; } if (denunciaCrm.Denunciado != null) { denunciaPollux.CodigoCanalDenunciado = denunciaCrm.Denunciado.Id.ToString(); denunciaPollux.NomeCanalDenunciado = denunciaCrm.Denunciado.Name; } else { denunciaPollux.CodigoCanalDenunciado = Guid.Empty.ToString(); denunciaPollux.NomeCanalDenunciado = "N/A"; } if (denunciaCrm.RazaoStatus.HasValue) { denunciaPollux.SituacaoDenuncia = denunciaCrm.RazaoStatus.Value; switch (denunciaCrm.RazaoStatus.Value) { case (int)Enum.Denuncia.StatusDenuncia.EmAnalise: denunciaPollux.NomeSituacaoDenuncia = "Em Análise"; break; case (int)Enum.Denuncia.StatusDenuncia.AguardandoJustificativa: denunciaPollux.NomeSituacaoDenuncia = "Aguardando Justificativa"; break; case (int)Enum.Denuncia.StatusDenuncia.JustificativaProvida: denunciaPollux.NomeSituacaoDenuncia = "Justificativa Provida"; break; case (int)Enum.Denuncia.StatusDenuncia.AnaliseJustificativa: denunciaPollux.NomeSituacaoDenuncia = "Análise de Justificativa"; break; case (int)Enum.Denuncia.StatusDenuncia.DenunciaProcedente: denunciaPollux.NomeSituacaoDenuncia = "Denúncia Procedente"; break; case (int)Enum.Denuncia.StatusDenuncia.DenunciaImprocedente: denunciaPollux.NomeSituacaoDenuncia = "Denúncia Improcedente"; break; default: denunciaPollux.NomeSituacaoDenuncia = "N/A"; break; } } else { denunciaPollux.SituacaoDenuncia = 0; denunciaPollux.NomeSituacaoDenuncia = "N/A"; } if (denunciaCrm.Status.HasValue) { denunciaPollux.Situacao = denunciaCrm.Status.Value; } if (usuarioIntegracao != null) { denunciaPollux.Proprietario = usuarioIntegracao.ID.Value.ToString(); denunciaPollux.NomeProprietario = usuarioIntegracao.Nome; denunciaPollux.TipoProprietario = "systemuser"; } else { denunciaPollux.Proprietario = Guid.Empty.ToString(); denunciaPollux.NomeProprietario = "N/A"; denunciaPollux.TipoProprietario = "N/A"; } if (denunciaCrm.TipoDenunciante.HasValue) { denunciaPollux.TipoDenunciante = denunciaCrm.TipoDenunciante.Value; } if (denunciaCrm.TipoDenunciante.HasValue) { switch (denunciaCrm.TipoDenunciante.Value) { case (int)Enum.Denuncia.TipoDenunciante.Anonimo: denunciaPollux.NomeTipoDenunciante = "Anônimo"; break; case (int)Enum.Denuncia.TipoDenunciante.ColaboradordoCanal: denunciaPollux.NomeTipoDenunciante = "Colaborador do Canal"; break; case (int)Enum.Denuncia.TipoDenunciante.ColaboradorIntelbras: denunciaPollux.NomeTipoDenunciante = "Colaborador Intelbras"; break; case (int)Enum.Denuncia.TipoDenunciante.KeyAccountRepresentante: denunciaPollux.NomeTipoDenunciante = "Key Account/Representante"; break; default: denunciaPollux.NomeTipoDenunciante = "N/A"; break; } } else { denunciaPollux.NomeTipoDenunciante = "N/A"; } if (denunciaCrm.Representante != null) { Contato contatoRep = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(denunciaCrm.Representante.Id); if (contatoRep != null && !String.IsNullOrEmpty(contatoRep.CodigoRepresentante)) { int CodRep = 0; if (Int32.TryParse(contatoRep.CodigoRepresentante, out CodRep)) { denunciaPollux.CodigoRepresentante = CodRep; } else { denunciaPollux.CodigoRepresentante = 0; } if (!String.IsNullOrEmpty(contatoRep.PrimeiroNome)) { denunciaPollux.NomeRepresentante = contatoRep.PrimeiroNome; } else { denunciaPollux.NomeRepresentante = "N/A"; } } else { denunciaPollux.CodigoRepresentante = 0; } } if (denunciaCrm.ColaboradorCanal != null) { denunciaPollux.CodigoColaboradorCanal = denunciaCrm.ColaboradorCanal.Id.ToString(); denunciaPollux.NomeColaboradorCanal = denunciaCrm.ColaboradorCanal.Name; } if (denunciaCrm.CanalDenunciante != null) { denunciaPollux.CodigoCanalDenunciante = denunciaCrm.CanalDenunciante.Id.ToString(); denunciaPollux.NomeCanalDenunciante = denunciaCrm.CanalDenunciante.Name; } if (denunciaCrm.ColaboradorIntebras != null) { denunciaPollux.CodigoColaboradorIntelbras = denunciaCrm.ColaboradorIntebras.Id.ToString(); denunciaPollux.NomeColaboradorIntelbras = denunciaCrm.ColaboradorIntebras.Name; } if (!String.IsNullOrEmpty(denunciaCrm.Denunciante)) { denunciaPollux.NomeDenunciante = Helper.Truncate(denunciaCrm.Denunciante, 100); } else { denunciaPollux.NomeDenunciante = "N/A"; } #endregion return(denunciaPollux); }
public Pollux.MSG0143 DefinirPropriedades(PortfoliodoKeyAccountRepresentantes objModel) { #region Propriedades Crm->Xml Pollux.MSG0143 msg0143 = new Pollux.MSG0143(itb.RetornaSistema(itb.Sistema.CRM), Helper.Truncate(objModel.Nome, 40)); string nomeUnid = String.Empty; string nomeSegmento = String.Empty; msg0143.CodigoPortfolioRepresentante = objModel.ID.Value.ToString(); if (objModel.KeyAccountRepresentante != null) { Contato representante = new Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(objModel.KeyAccountRepresentante.Id); if (representante != null && representante.CodigoRepresentante.Length > 0) { msg0143.CodigoRepresentante = Convert.ToInt32(representante.CodigoRepresentante); } else { throw new Exception("Representante não localizado/sem código representante."); } } if (objModel.UnidadedeNegocio != null) { UnidadeNegocio unidadeNegocio = new Servicos.UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocio(objModel.UnidadedeNegocio.Id); if (unidadeNegocio != null) { msg0143.CodigoUnidadeNegocio = unidadeNegocio.ChaveIntegracao; nomeUnid = unidadeNegocio.Nome; } else { throw new Exception("Unidade de negocio não localizada ou sem nome."); } } if (objModel.AssistentedeAdministracaodeVendas != null) { Usuario usuario = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(objModel.AssistentedeAdministracaodeVendas.Id); if (usuario != null && usuario.CodigoAssistenteComercial != null) { msg0143.CodigoAssistente = usuario.CodigoAssistenteComercial.Value; msg0143.CodigoAssistenteCRM = usuario.ID.Value.ToString(); } else { throw new Exception("Usuario sem código de assistente comercial."); } } if (objModel.Segmento != null) { Segmento segmento = new Servicos.SegmentoService(this.Organizacao, this.IsOffline).ObterPor(objModel.Segmento.Id); if (segmento != null) { msg0143.CodigoSegmento = segmento.CodigoSegmento; nomeSegmento = segmento.Nome; } else { throw new Exception("Segmento não localizado."); } } else { msg0143.CodigoSegmento = "0000"; nomeSegmento = ""; } if (objModel.SupervisordeVendas != null) { Usuario supervisor = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(objModel.SupervisordeVendas.Id); if (supervisor != null) { msg0143.CodigoSupervisor = supervisor.ID.Value.ToString(); if (!String.IsNullOrEmpty(supervisor.CodigoSupervisorEMS)) { msg0143.CodigoSupervisorEMS = supervisor.CodigoSupervisorEMS; } else { throw new Exception("Codigo Supervisor EMS não preenchido."); } } else { throw new Exception("Supervisor não localizado."); } } if (objModel.Status.HasValue) { if (objModel.Status.Value == 1) { msg0143.Situacao = 0; } else { msg0143.Situacao = 1; } } if (!String.IsNullOrEmpty(objModel.Nome)) { string nometmp = objModel.Nome + " - " + nomeUnid + " - " + nomeSegmento; if (nometmp.Length > 99) { msg0143.Nome = nometmp.Substring(0, 99); } else { msg0143.Nome = nometmp; } } else { throw new Exception("PortfolioRepresentante sem nome."); } #endregion return(msg0143); }