예제 #1
0
        public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario)
        {
            var objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0190>(mensagem));

            objeto = new CategoriaB2BService(this.Organizacao, this.IsOffline).Persistir(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("Resultado", resultadoPersistencia);
            return(CriarMensagemRetorno <Pollux.MSG0190R1>(numeroMensagem, retorno));
        }
예제 #2
0
        public RelacionamentoB2B DefinirPropriedades(Intelbras.Message.Helper.MSG0194 xml)
        {
            var crm = new RelacionamentoB2B(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            crm.CodigoRelacionamentoB2B = xml.CodigoRelacionamentoB2B;

            if (!String.IsNullOrEmpty(xml.NomeRelacionamento))
            {
                crm.NomeRelacionamento = xml.NomeRelacionamento;
            }

            if (xml.CodigoGrupoCliente.HasValue)
            {
                crm.CodigoGrupoCliente = xml.CodigoGrupoCliente;
            }

            // Categoria B2B
            CategoriaB2B categoria = new CategoriaB2BService(this.Organizacao, this.IsOffline).ObterPor((int)xml.CodigoCategoriaB2B);
            if (categoria == null)
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "(CRM) Categoria B2B não encontrada.";
                return(crm);
            }
            crm.CategoriaB2B = new Lookup(new Guid(categoria.ID.ToString()), "");

            // Conta
            Conta conta = new ContaService(this.Organizacao, this.IsOffline).BuscarPorCodigoEmitente(xml.CodigoCliente.ToString());
            if (conta == null)
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "(CRM) Conta não encontrada para o Código Cliente informado.";
                return(crm);
            }
            crm.Canal = new Lookup(new Guid(conta.ID.ToString()), "account");

            crm.CodigoRepresentante = xml.CodigoRepresentante;

            // Unidade Negócio / Unidade Comercial
            if (!String.IsNullOrEmpty(xml.NomeUnidadeComercial))
            {
                UnidadeNegocio unidade = new UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocioPorNome(xml.NomeUnidadeComercial);
                if (unidade != null)
                {
                    crm.NomeUnidadeNegocio = xml.NomeUnidadeComercial;
                    crm.UnidadeNegocio     = new Lookup(unidade.ID.Value, "");
                }
            }

            if (xml.Sequencia.HasValue)
            {
                crm.Sequencia = xml.Sequencia;
            }

            if (xml.DataInicial.HasValue)
            {
                crm.DataInicial = xml.DataInicial;
            }

            if (xml.DataFinal.HasValue)
            {
                crm.DataFinal = xml.DataFinal;
            }

            if (!String.IsNullOrEmpty(xml.Mensagem))
            {
                crm.Mensagem = xml.Mensagem;
            }

            crm.Status = xml.Situacao;

            #endregion

            return(crm);
        }