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