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); } }
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); } }
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); }
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); }