Beispiel #1
0
        public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario)
        {
            usuarioIntegracao = usuario;

            var objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0131>(mensagem));

            if (!resultadoPersistencia.Sucesso)
            {
                retorno.Add("Resultado", resultadoPersistencia);
                return(CriarMensagemRetorno <Pollux.MSG0131R1>(numeroMensagem, retorno));
            }

            objeto = new Intelbras.CRM2013.Domain.Servicos.ConexaoService(this.Organizacao, this.IsOffline).Persistir((Guid)usuario.ID, objeto);

            if (objeto == null)
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Registro não encontrado!";
            }
            else
            {
                resultadoPersistencia.Sucesso  = true;
                resultadoPersistencia.Mensagem = "Integração ocorrida com sucesso";
                retorno.Add("CodigoConexao", objeto.ID.Value.ToString());
            }

            retorno.Add("Resultado", resultadoPersistencia);
            return(CriarMensagemRetorno <Pollux.MSG0131R1>(numeroMensagem, retorno));
        }
Beispiel #2
0
        public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario)
        {
            //Trace.Add("Mensagem " + numeroMensagem + " XML: {0}", mensagem);
            usuarioIntegracao = usuario;
            var objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0128>(mensagem));

            if (!resultadoPersistencia.Sucesso)
            {
                retorno.Add("Resultado", resultadoPersistencia);
                return(CriarMensagemRetorno <Pollux.MSG0128R1>(numeroMensagem, retorno));
            }

            List <FuncaoConexao> lstFuncoes = new Intelbras.CRM2013.Domain.Servicos.ConexaoService(this.Organizacao, this.IsOffline).ListarFuncaoConexao(objeto.Categoria);

            List <Pollux.Entities.FuncaoConexao> lstRetorno = new List <Pollux.Entities.FuncaoConexao>();

            if (lstFuncoes.Count > 0)
            {
                lstRetorno = ConverteLista(lstFuncoes);
                resultadoPersistencia.Mensagem = "Integração ocorrida com sucesso";
                retorno.Add("FuncaoConexaoItens", lstRetorno);
            }
            else
            {
                resultadoPersistencia.Mensagem = "FuncaoConexao não encontrada no Crm.";
            }

            resultadoPersistencia.Sucesso = true;
            retorno.Add("Resultado", resultadoPersistencia);

            return(CriarMensagemRetorno <Pollux.MSG0128R1>(numeroMensagem, retorno));
        }
Beispiel #3
0
        public Conexao DefinirPropriedades(Intelbras.Message.Helper.MSG0131 xml)
        {
            var crm = new Conexao(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            if (!string.IsNullOrEmpty(xml.Descricao))
            {
                crm.Descricao = xml.Descricao;
            }
            else
            {
                crm.AddNullProperty("Descricao");
            }

            if (xml.DataInicio.HasValue)
            {
                crm.Inicio = xml.DataInicio;
            }
            else
            {
                crm.AddNullProperty("Inicio");
            }

            if (xml.DataTermino.HasValue)
            {
                crm.Termino = xml.DataTermino;
            }
            else
            {
                crm.AddNullProperty("Termino");
            }

            crm.Status = xml.Situacao;

            if (!String.IsNullOrEmpty(xml.FuncaoPartePrincipal))
            {
                List <FuncaoConexao> lstFuncaoConexao = new Intelbras.CRM2013.Domain.Servicos.ConexaoService(this.Organizacao, this.IsOffline).ListarFuncaoConexaoPorNome(xml.FuncaoPartePrincipal);

                if (lstFuncaoConexao.Any <FuncaoConexao>())
                {
                    crm.Funcao_De = new SDKore.DomainModel.Lookup(lstFuncaoConexao.First <FuncaoConexao>().ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Funcão Parte Principal não encontrado.";
                    return(crm);
                }
            }
            if (!String.IsNullOrEmpty(xml.FuncaoParteSecundaria))
            {
                List <FuncaoConexao> lstFuncaoConexaoSecundaria = new Intelbras.CRM2013.Domain.Servicos.ConexaoService(this.Organizacao, this.IsOffline).ListarFuncaoConexaoPorNome(xml.FuncaoParteSecundaria);

                if (lstFuncaoConexaoSecundaria.Any <FuncaoConexao>())
                {
                    crm.Funcao_Ate = new SDKore.DomainModel.Lookup(lstFuncaoConexaoSecundaria.First <FuncaoConexao>().ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Funcão Parte Secundária não encontrada.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("Funcao_Ate");
            }

            crm.Conectado_a  = new SDKore.DomainModel.Lookup(new Guid(xml.CodigoContato), "contact");
            crm.Conectado_de = new SDKore.DomainModel.Lookup(new Guid(xml.CodigoConta), "account");

            Guid conexaoId = Guid.Empty;
            if (!String.IsNullOrEmpty(xml.CodigoConexao) && Guid.TryParse(xml.CodigoConexao, out conexaoId))
            {
                crm.ID = conexaoId;
            }

            #endregion

            return(crm);
        }