示例#1
0
        private void SalvarClienteNoEMS(string action, string xmlIntegrationLog, DynamicEntity entity)
        {
            Cliente cliente = new Cliente(organizacao);

            if (entity.Properties.Contains("accountid"))
            {
                cliente.Id = ((Key)entity.Properties["accountid"]).Value;
            }

            if (entity.Properties.Contains("new_status_cadastro"))
            {
                cliente.StatusDaIntegracao = (StatusDaIntegracao)((Picklist)entity.Properties["new_status_cadastro"]).Value;
            }

            IntegrarService      integrarCliente = new IntegrarService();
            MensagemDeRetornoEMS mensagemRetorno = new MensagemDeRetornoEMS();

            mensagemRetorno = integrarCliente.Integrar("account", action, xmlIntegrationLog, cliente.Id);

            cliente.CodigoEms          = mensagemRetorno.CodigoEMS;
            cliente.StatusDaIntegracao = mensagemRetorno.StatusIntegracao;
            cliente.DescricaoDaMensagemDeIntegracao = mensagemRetorno.Descricao;
            cliente.ExportaERP = "";

            DomainService.RepositoryCliente.Update(cliente);

            if (mensagemRetorno.StatusIntegracao == StatusDaIntegracao.CRMERP)
            {
                EnderecoPadraoDoCliente(entity, cliente);
            }
        }
示例#2
0
        private void SalvarEnderecoNoEMS(string action, string xmlIntegrationLog, DynamicEntity entity)
        {
            Guid enderecoId           = Guid.Empty;
            bool eOEnderecoDeUmaConta = false;

            if (entity.Properties.Contains("customeraddressid"))
            {
                enderecoId = ((Key)entity.Properties["customeraddressid"]).Value;
            }

            if (entity.Properties.Contains("objecttypecode"))
            {
                eOEnderecoDeUmaConta = ((EntityNameReference)entity.Properties["objecttypecode"]).Value == "account";
            }


            if (eOEnderecoDeUmaConta)
            {
                IntegrarService      integrarEndereco = new IntegrarService();
                MensagemDeRetornoEMS mensagemRetorno  = new MensagemDeRetornoEMS();

                mensagemRetorno = integrarEndereco.Integrar(entity.Name, action, xmlIntegrationLog, enderecoId);


                if (action.Equals("D"))
                {
                    return;
                }

                Endereco endereco = new Endereco(this.organizacao);
                endereco.Id = enderecoId;
                endereco.DescricaoDaMensagemDeIntegracao = mensagemRetorno.Descricao;
                endereco.CodigoEms            = mensagemRetorno.CodigoEMS;
                endereco.StatusDaIntegracao   = mensagemRetorno.StatusIntegracao;
                endereco.ExportaERP           = "";
                endereco.CodigoIncrementalEMS = mensagemRetorno.CodigoEndereco;

                DomainService.RepositoryEndereco.Update(endereco);
            }
        }
示例#3
0
        private void SalvarContatoNoEMS(string action, string xmlIntegrationLog, IPluginExecutionContext context)
        {
            if (context.SharedVariables.Contains("action"))
            {
                action = context.SharedVariables["action"].ToString();
            }

            if (action.Equals(" "))
            {
                return;
            }

            Contato contato = new Contato()
            {
                Id = this.GetId(context, "contact")
            };
            //if (!this.ContatoPodeIntegrar(context, ref action, out contato)) return;

            IntegrarService      integrarContato = new IntegrarService();
            MensagemDeRetornoEMS mensagemRetorno = integrarContato.Integrar("contact", action, xmlIntegrationLog, contato.Id);

            if (context.MessageName == MessageName.Delete)
            {
                return;
            }
            if (context.MessageName == MessageName.Update && action.Equals("D"))
            {
                mensagemRetorno.Descricao = string.Empty;
            }

            contato.CodigoEms = mensagemRetorno.CodigoEMS;
            contato.DescricaoDaMensagemDeIntegracao = mensagemRetorno.Descricao;
            contato.StatusDaIntegracao = mensagemRetorno.StatusIntegracao;
            contato.ExportaERP         = string.Empty;

            DomainService.RepositoryContato.AtualizarStatusIntegracaoERP(contato);
        }
示例#4
0
        private void SalvarRelacionamentoNoEMS(string action, string xmlIntegrationLog, DynamicEntity entity)
        {
            Guid relacionamentoId = Guid.Empty;

            if (entity.Properties.Contains("new_relacionamentoid"))
            {
                relacionamentoId = ((Key)entity.Properties["new_relacionamentoid"]).Value;
            }

            IntegrarService      integrarRelacionamento = new IntegrarService();
            MensagemDeRetornoEMS mensagemRetorno        = new MensagemDeRetornoEMS();

            mensagemRetorno = integrarRelacionamento.Integrar("new_relacionamento", action, xmlIntegrationLog, relacionamentoId);

            Relacionamento relacionamento = new Relacionamento();

            relacionamento.Id = relacionamentoId;
            relacionamento.DescricaoDaMensagemDeIntegracao = mensagemRetorno.Descricao;
            relacionamento.CodigoEms          = mensagemRetorno.CodigoEMS;
            relacionamento.StatusDaIntegracao = mensagemRetorno.StatusIntegracao;
            relacionamento.ExportaERP         = "";

            DomainService.RepositoryCliente.AtualizarRelacionamento(relacionamento);
        }