コード例 #1
0
ファイル: MSG0136.cs プロジェクト: ertprs/crm_fonte
        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);
        }
コード例 #2
0
ファイル: MSG0137.cs プロジェクト: ertprs/crm_fonte
        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);
        }
コード例 #3
0
ファイル: MSG0276.cs プロジェクト: ertprs/crm_fonte
        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);
        }
コード例 #4
0
ファイル: MSG0289.cs プロジェクト: ertprs/crm_fonte
        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));
            }
        }
コード例 #5
0
ファイル: MSG0124.cs プロジェクト: ertprs/crm_fonte
        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));
        }
コード例 #6
0
ファイル: MSG0136.cs プロジェクト: ertprs/crm_fonte
        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));
        }
コード例 #7
0
        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));
        }
コード例 #8
0
ファイル: MSG0109.cs プロジェクト: ertprs/crm_fonte
        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);
        }
コード例 #9
0
ファイル: MSG0143.cs プロジェクト: ertprs/crm_fonte
        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);
        }